プールの表面、海の波など揺れる水面をどうやって実現するのだろ?と思ったことはありませんか?
下記のスクリプトを使います。
テクスチャーを動かす(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%(プールに入ったとき、水に浸かっている部分の体が透けて見えるようにする。)