Google

2011年10月7日金曜日

Unityのインスペクタ

Unityならではの機能として、インスペクタでの変数修正というものがあります。
これはユーザが定義した変数をUI上で調整が可能というもの。
では実際にやってみましょう。



以前のSampleBehaviourScriptにメンバを1個付けてみました。
本来メンバを単純にpublicにするというのはオブジェクト指向ではご法度です。
が、これがUnityでは意味を持ってきます。

これを以前のように空っぽのGameObjectを作成し、ソースを割り当ててみましょう。


すると上の画像の右下、スクリプトの名称の下に新しい項目ができています。
値はコードの初期値として設定した10が入ってますね。

ここからが重要。
この10の部分をクリックすると、なんとそのまま値が変更できてしまいます。
intなら整数に、stringなら文字列を、boolなら真偽を、そのまま変更できます。

この方法の素晴らしい点はただひとつ。
いちいちコードに戻らずとも、移動速度や見え方、その他がこの場で変えられるということ。
つまり、今までエンジニアがコード上でいちいち微調整していたものが、ゲームデザイナやCG屋等、他のメンバに微調整をお願いできるという利点になるわけです。
手戻りに関する点では非常に素晴らしい機能でしょう。

しかし便利なことには必ずデメリットが付いて回ります。
なんとこの修正機能、ソースコードの中身を直接変更するわけではありません。
幾らGUIからいじっても、ソース上の値は先ほどの10.0fのまんまです。
そうなると問題となるのが、規模が大きくなったときと多人数開発の時。

 「これ、何やっても思ったとおりに変更できないんだけど、、、」
 「あれー、いつのまにこんな値になったんだっけ」
 「やべ、前の値忘れちまった」

等々、恐ろしいケースは山ほど出てくるでしょう。
一旦ソースをヒモ付から外して再度付け直せば、値はリセットされます。
が、開発時のルールを厳密化しないと混乱は必至でしょう。

うまくつかってこその機能ではないかと。

0 件のコメント:

コメントを投稿