ぼっちブログ

個人ゲーム開発者やっています。主に購入したUniyアセットの使用感を書いていきます。

【Unity】【Odin - Inspector and Serializer】シリアライズフィールドをプロパティ経由でインスペクターに表示する

Odinでプロパティ経由でシリアライズフィールドにアクセスできて、これが面白い。

下記のようなことができたりする。(下記はOdinに含まれているサンプルコードを改造したもの。奇数に値を制限している)

using Sirenix.OdinInspector;
using UnityEngine;

public class NewBehaviourScript : MonoBehaviour
{
    [SerializeField, HideInInspector]
    private int oddNumber = 1;

    [ShowInInspector]
    public int OddNumber
    {
        get { return oddNumber; }
        set { oddNumber = value + (value + 1) % 2; }
    }
}

奇数に値を制限

あ、これ、滅茶苦茶便利なやつじゃない?

たとえば、種類を選択すると設定項目の表示が変わるのとか、これとEnableIfとかで簡単に実装できそうな予感。