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

オブジェクトに物理属性や浮力を設定する関数(llSetStatus関数、llSetBuoyancy関数)

物理属性を与えることにより、アバターや物がそのオブジェクトに当たったとき(衝突)に
オブジェクトも動いたり、オブジェクトが空中に置かれたときは地面に落ちたりします。
サッカーボールなどを作るときに使えそうなスクリプトです。
また、アバターが当たった(衝突)ときに大きく動くよう、重力を軽くしておきたいと思います。


default
{
  state_entry()
  {
    llSetStatus(STATUS_PHYSICS,TRUE);
    llSetBuoyancy(0.5);
  }
}
llSetStatus関数()
一番目のパラメータ : 設定するステータス値。物理属性の場合は、"STATUS_PHYSICS"
二番目のパラメータ : TRUE または FALSE
llSetBuoyancy関数()
一番目のパラメータ : 浮力の大きさ。0なし。0.0超から1.0未満は重力があり、落下します。
1.0浮きます。1.0より大きい場合は浮力があり、上昇します。


なお、スクリプトを書かなくても物理属性はオブジェクト生成のツールからも
簡単に設定することができます。

また、collision_startやcollision、collision_endイベントを使えば物が衝突したときの
イベント処理をスクリプトで実装することができます。これについては、また今度。