[Unityエディター拡張] ボックスを表示する

フィールドを枠で囲うようにボックスを表示するにはGUILayout.Boxを使います。

そのまんまですね。そのまんまなんです。以下をご覧ください。

GUILayout.Box ("Box");

とすると、

という表示になります。

テクスチャなんかも指定できて、

Texture t = Resources.Load<Texture>("02_Hackadoll_minichara/03_waving_0");
GUILayout.Box(t, GUILayout.Width(100), GUILayout.Height(100));

とすると、

こう。

画像はハッカドール1号ちゃん。使用しても大丈夫そうだったのでつい。

最近MMDモデルとかも公開されてて話題になってましたね。

WidthとHeightを指定しているのは、指定しないと画像そのままの大きさで出てしまうからですね。

逆にこれを指定すると、Boxのほうで縮小してくれるよう。

このあたりは、オブジェクトのプレビューとかそういうのを作るときに役立ちそう。

たとえばこんな感じとかで?

EditorGUILayoutSample obj = target as EditorGUILayoutSample;

EditorGUILayout.BeginHorizontal();
GUILayout.Box(t, GUILayout.Width(100), GUILayout.Height(100));

EditorGUILayout.BeginVertical();
obj.name = EditorGUILayout.TextField("name", obj.name);
obj.address = EditorGUILayout.TextField("address", obj.address);
EditorGUILayout.EndVertical();

EditorGUILayout.EndHorizontal();

スポンサーリンク

シェアする

スポンサーリンク