
高速に動作するスクリプトを書く必要があってMonoスクリプトの場合、おなじアセットIDであれば同一インスタンスで動作させることが出来るとのことから、いろいろとやってみたものの単一のObjectに複数詰め込むのは手動では難しそうでした。
インベントリーから既存のLSLをObjectにドロップした場合、Copy可であるからか、新たなCopyが作成されてしまい、しかもMonoではなくLSL2でObject内に作成されてました。
Object内のインベントリーから、別のObjectのインベントリーに直接には格納出来ないので手動で同一インスタンスを作成するには、そのスクリプトが含まれるObjectをフィールド上でCOPY作成するしかないと思います。
もう一つ考えられるのがリモートロードの機能で複数個ロードさせるという方法ぐらいかなぁ・・・。
何れにしても個人で使用する範囲なら同一インスタンスによる効果は望めるかも知れませんね。
ま、あまし深くは考えないでおこう^^
なぜ、インスタンスとかそういうことを考えたかというと、
高速に動作するスクリプトとは言ってもイベント発生間隔の最小単位が0.05秒なのですが、使用する関数によっては発生するディレイが0.1~0.2秒もあるものがあります。このためイベント発生に対して処理が追いつかない状況を生じます。
それを少しでも解決する為に同じ内容のスクリプトを複数個同時に実行して、順に処理させることで単位時間当たりの処理回数を増やす必要があったからです。
弓のスクリプト、MONOの変えたら
返信削除早くなったよ~~
今まで、透明になるのが
遅かったりしたのが
ほぼ解消した~^
インベントリー経由で同一インスタンスを生成する方法が分かりました。Object上でmonoコンパイルした物をインベントリーにドロップして、それをそのままObjectに戻すと最初からmonoのチェックがONになってる状態でCOPYされていました。たぶんこの方法で同一インスタンスになるんじゃないかなぁと思います。
返信削除