ソラマメブログ

2008年08月26日

スクリプトの仕様変更:今後の方針

まず、LSL(いわゆるリンデンスクリプト)についてあまり詳しく知らない人のための説明をします。

 1、LSLはテキストで記述され、そのテキストを元にLSLシミュレータが「どのような処理をするか」
   を解釈し、SL内に反映させます。

 2、よく「スクリプトが壊れた」という言葉を使いますが、一度保存されたスクリプトのテキストが
   製作者の意図に反して勝手に変化することはありません。
   つまり、壊れたという状況は、製作者が予測していなかった処理が実行されたことによって
   「変な動作になったり、エラーがでたり」という想定外の結果になってしまったことを意味します。

つまり、今回のSPSの不具合は、製作時のLSLシミュレータの仕様では特に問題が発生して
いなかったが、MONOの導入に先駆けて行われた仕様の変更によって問題が発生するように
なってしまった、ということになりそうです。

ちなみに、現時点で把握できているSPSの問題点ですが、サイズ変更のために各パーツに
埋め込まれているプリム変形用スクリプトを動作させるために使用していたllMessageLinked
という関数が正常に処理されなくなってしまうケースがあるようです。
正常に処理できるケースとそうでないケースの違いがまだいまいち掴みきれてません^^;

※パーツを一個一個順番に変形させていく方法のほうが確実のように思われますが、従来の
 LSLシミュレータではSIMが重くラグが発生している場合は逆効果になることが多かったため
 上記のように各パーツに「変形しろ」という命令を一斉に飛ばす方法を採用していました。

前記事にも書きましたが、MONOは従来のLSLシミュレータよりも処理速度が最大220倍も速い
ということなので、処理速度を重視すべき製品は、MONOへの対応が不可欠となりますが、
まだMONOそのものに未知数の部分があり、さらなる仕様変更(微調整)の可能性もあります。

以上のことを踏まえて、私の製作したスクリプト入りの製品に関して、次の方針をとりたい
と思います。

 1、SPSは、llMessageLinkedに関する修正をおこなう。
   ※ただし、完全に解決できるかどうかは現時点では断言できません。
   ※既ユーザーには修正版を自動アップデートにて配布します。

 2、MONOがSL全体に導入されたと思われる時点(RCヴューア1.21のリリース)にあわせて
   処理速度を重視すべきだと私が判断した製品をMONOに対応させ、
   ※既ユーザーにMONO版を自動アップデートにて配布します。

P.S.
MONO導入は将来を見越して必要だと理解できますが、それにあわせて既存のLSLにまで
こういう仕様変更をするのは、マジで勘弁してください^^;>リンデン


同じカテゴリー(LSL)の記事画像
llGetOwnerとstate_entry()の罠
同じカテゴリー(LSL)の記事
 スクリプトの仕様変更 (2008-08-26 03:19)
 llResetScript()とか (2007-10-05 21:17)
 llGetOwnerとstate_entry()の罠 (2007-08-23 05:34)

Posted by VoidLing at 14:52│Comments(0)LSL
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。