2007年05月12日
LSLでプリムを10m以上移動させる
TINY展の下準備をしていて撮った、おたまをいっぱい並べた画像を…、とも思ったけど飽きたので(何て事を)。使いどころ次第で有効なtipを。
スクリプトでオブジェクトを移動させる場合、一度に10mまでという制限があったりします。エレベーターなどでカクカク昇って行くようなのはそういった理由もあります。もちろん演出でゆっくりな場合もありますが。
ところで、物理属性ではないオブジェの移動は通常 llSetPos() を使いますが、もう一つ、llSetPrimitiveParams() で指定するという方法もあります。どちらもこの10m制限に引っかかるのですが、後者の方は複数のパラメータをいっぺんに(サーバー内で)処理する事が可能です。…実はこれを利用して、座標を複数回指定すると10m制限を突破する事が出来てしまうんです。
ソースはここの一番下の関数を利用するといいでしょう。なんかとても最適化されているようですから。むしろ利用するなら絶対これを。
特殊な使い方としては、通常は不可能な10m以上のスクリプト禁止地帯を横断したりもできたり。
ちょっと危険っぽい匂いがしますが、実際問題として、距離が遠いほどSIM自体に負荷が掛かっていきます。良く考慮してから利用すると良いでしょう。
スクリプトでオブジェクトを移動させる場合、一度に10mまでという制限があったりします。エレベーターなどでカクカク昇って行くようなのはそういった理由もあります。もちろん演出でゆっくりな場合もありますが。
ところで、物理属性ではないオブジェの移動は通常 llSetPos() を使いますが、もう一つ、llSetPrimitiveParams() で指定するという方法もあります。どちらもこの10m制限に引っかかるのですが、後者の方は複数のパラメータをいっぺんに(サーバー内で)処理する事が可能です。…実はこれを利用して、座標を複数回指定すると10m制限を突破する事が出来てしまうんです。
ソースはここの一番下の関数を利用するといいでしょう。なんかとても最適化されているようですから。むしろ利用するなら絶対これを。
特殊な使い方としては、通常は不可能な10m以上のスクリプト禁止地帯を横断したりもできたり。
ちょっと危険っぽい匂いがしますが、実際問題として、距離が遠いほどSIM自体に負荷が掛かっていきます。良く考慮してから利用すると良いでしょう。
Posted by ともねこ at 06:57│Comments(0)
│スクリプト