LoginSignup
2
7

More than 5 years have passed since last update.

Inspectorのシリアライズ

Last updated at Posted at 2016-11-21

UnityでScriptを作成すると変数がEditerのInspectorに表示され、そこからも値を設定できるようにシリアライズされる機能についてです。

基本

表示する方法

Inspector

publicは自動でシリアライズされる。
staticは[SerializeField]を書くことでシリアライズできる。

using UnityEngine;

public class Inspector : MonoBehaviour {
    public bool flag1;
    [SerializeField]
    private bool flag2;
}

表示しない方法

Inspector

private変数やstatic変数や定数(const)はシリアライズされない。
[HideInInspector]をpublic変数の前につけるとInspectorへの表示を消す。
[System.NonSerialized]をpublic変数の前につけるとシリアライズしない。

using UnityEngine;

public class Inspector : MonoBehaviour {
    private bool flag1;
    static bool flag2;
    public const bool flag3;
    [HideInInspector]
    public bool flag4;
    [System.NonSerialized]
    public bool flag5;
}

折りたたみ表示

Inspector

[System.Serializable]をクラスの前につけ、そのクラス変数をシリアライズするとInspectorには折りたたんで表示される。

using UnityEngine;

[System.Serializable]
public class FriendClass {
    public string name;
    public bool sex;
    public int age;
}

public class Inspector : MonoBehaviour {
    public FriendClass Friend;
}
2
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
7