gologiusの巣

プログラミングなどの技術メモです。誰かの役に立てるとうれしいです。

【Unity】【エディタ拡張】 ObjectFieldを横に並べる

f:id:gologius:20171219225213p:plain もうすぐクリスマスなので、ObjectFieldをこんな感じで並べたくないですか?色とかつけて見やすくしたくないですか・・・?

簡単そうに見えて地味に面倒なこの作業を説明します。

なにが難しいのか

ObjectFieldの場合、ラベルが使用するマージン?を弄らないと、下のようになる。 f:id:gologius:20171219225406p:plain 隠れてしまって見えないですね。

なので、EditorGUIUtility.labelWidth = 100;でラベルが使用するマージン?を設定してあげます。

ソース

背景色を付けたり、太字にしたりする方法はソースみればわかると思います。 LayoutTest.cs · GitHub

【2017/12/23追記】値が入っている場合に色を変更する機能の追加と、バグ修正 f:id:gologius:20171223142413p:plain

  [System.Serializable]
    public class Content
    {
        public AnimationClip clip;
        public Transform trans;
    }

この部分、MonoBehaviourを継承してないので、’[System.Serializable]’を追加しないと、値を保存してくれない(実行すると値が消える)

参考