2013年10月[Unity3D][C#][Unity:Editor]GUILayout/EditorGUILayout/ObjectFieldまとめコメントをどうぞUnityEditorの出題2とGUILayoutやらEditorGUILayoutやら引き続き、Editor拡張の会の出題と解答を参考に作成してます。CodeIQにも出題されているのでやってみると面白いと思います。2お題:EditorWindowウィンドウを出現させて各パラメータの調整項目を出現させてね!EditorWindow継承クラスをGetWindow、またはCreateWindowで出現させる。OnGUIイベント内でEditorGUILayoutを使ってパラメータの反映をさせるためのUIを作成する記述をする。参考:GUILayout参考:EditorGUILayoutGUILayoutはUnityの用意したゲーム画面用のGUIでやたらと重いクラス。いえ3Dをバリバリ使う事が無ければそれほど気にならない。GUILayoutにEditro部分のように描画させようとしても記述が増えてしまう。EditorGUILayout.TextField("名前",this.name);EditorGUILayoutだとこんなにシンプル。実際に表示される内容は、項目名と入力ボックス。入力をすると自動的に参照先に上書きされる。/>GUILayout.EndHorizontal();お分かりいただけただろうか...。UnityEngine内にあるし、ゲーム画面側にも描画できるので覚えて居た方が良い。実機デバッグでむちゃくちゃ重宝する。window.Show();は忘れずに。Pratical追加:基礎編に追加でテクスチャをD&Dする矩形を設けてくださいな。解答例できませんでした。回答例から何をすべきだったかを導きだす。テクスチャ格納領域の表示テクスチャはUnityEngine.Texture2Dを使用することで解決できるが、問題はDrag&Dropする領域。EditorGUILayoutを見てみるとオブジェクトを格納できるのは1つだけ。EditorGUILayout.ObjectFieldを参照してみる。実際、出題中もここは確認したのだけれど、そもそも格納メンバがTexture2Dというところまで到達できていなかったので、この項目を使うべきだとは思わなかった。これはUnityが用意しているObject型に対する造詣がまだまだ甘かったということの証左。