Unity5質問スレ [転載禁止]©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0260名前は開発中のものです。
2015/08/29(土) 15:41:21.63ID:qnm/FjLD属性 [ExecuteInEditMode] を持つクラスについて質問させてください。
なお、バージョンは 5.1.3f1 Personal です。
あるプレハブ Pref と、そのインスタンス Inst1、Inst2、Inst3… があるとします。
この Pref に対し、ExecuteInEditMode 属性を持つクラスが書かれたC#スクリプトを設定しました。
Update() は、シーン内の何かに変更があった時に呼ばれます。
例えば Inst1 の座標を変更したときにも、Inst2 や Inst3 の Update() が走ることになります。
しかし処理内容とゲームオブジェクトの数、そしてマシンスペックによっては、操作のたびにラグが発生してしまいました。
そのため、Inst1 を変更した時には Inst1 のスクリプトだけ、Inst2 のときは Inst2 だけ……というようなことをやりたいのですが
どのように書くのがスマートあるいは初心者向けでしょうか。
今は姑息な方法ではありますが、それぞれの変更前の座標を保存しておき、現在(変更後)と比較するという方法で、
そのオブジェクト自身が変更されたかどうかを判定するようにしています。
ただ座標以外の変更も検知しようとすると、この方法が望ましいのかどうかは分かりません。
■ このスレッドは過去ログ倉庫に格納されています