LSL(Linden Script Language)スクリプトTips集

プールの表面、海の波など揺れる水面をどうやって実現するのだろ?と思ったことはありませんか?
下記のスクリプトを使います。

テクスチャーを動かす(llSetTextureAnim関数)

お子様用のプールを作ってみました。このプール、水面がゆらゆらと動いているんです。
下記のスクリプトを使います。

default
{
  state_entry()
  {
  llSetTextureAnim(ANIM_ON | SMOOTH | LOOP ,0,0,0,0,1.0,0.1 );
  }
}
llSetTextureAnim関数
一番目のパラメータ(mode) : モードフラグ(ANIM_ON,LOOP,PING_PONG,REVERSE,ROTATE,SCALE,SMOOTH)
二番目のパラメータ(face) : 動かすオブジェクトの面(全面の場合はALL_SIDES)
三番目のパラメータ(sizex) : 水平フレーム(横)
四番目のパラメータ(sizey) : 垂直フレーム(縦)
五番目のパラメータ(start) : スタート位置又はフレーム数
六番目のパラメータ(length) : 表示するフレーム数
七番目のパラメータ(rate) : 一秒あたりのフレーム数(0はダメ。)
例1:洗濯機の水のようにクルクルまわります。
    llSetTextureAnim(ANIM_ON | SMOOTH | LOOP | ROTATE ,0,0,0,0,10,0.1 );
例2:水面の模様がだんだん広がって、また狭くなってを繰り返します。
    llSetTextureAnim(ANIM_ON | SMOOTH | LOOP | SCALE | PING_PONG ,0,0,0,0.8,1.0,0.1 );

プールの表面と底には、同じテクスチャーを張っています。大きさも同じです。
上のテクスチャーにだけ下記の設定をしました。
(1)サンプルのスクリプトを設定(ゆれる水面を表現)

(2)オブジェクトのプロパティでファントム=ON(アバターが水に入ったとき、体がすり抜けられるようにします。 )

(3)テクスチャーの透明度を30%(プールに入ったとき、水に浸かっている部分の体が透けて見えるようにする。)