【Unity初心者】インスペクターに表示したいけどpublicにしたくない。そんなときはシリアライズフィールドを使いましょう。
環境
Unity 2019.3.7f1
対象の方
なんらかのUnityチュートリアルを終えて制作の雰囲気がわかっている方
使い方
privateな変数宣言時に[SerializeField]をつけるだけ。
[SerializeField] private int a;
これでインスペクターウィンドウで値を表示、編集できるようになります。
具体例
実際にみていきましょう。
↓スクリプトを空のオブジェクトに割り当てます。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class test : MonoBehaviour
{
[SerializeField] private int a;//int型の変数aを宣言
//スタート関数
void Start()
{
Debug.Log("a=" + a);//aの値をコンソールに表示
}
}
通常privateな変数はインスペクターに表示されませんが、
このようにインスペクターに表示され、数値を変更できます。
変数aの値を10に変更します。
実行してみると
↓このようにインスペクターの値が反映されています。
移動速度などを微調整したい時に
いちいちスクリプトから変数の値を変更しなくて済むので超絶便利です!!
楽しいUnityライフを!!
Author And Source
この問題について(【Unity初心者】インスペクターに表示したいけどpublicにしたくない。そんなときはシリアライズフィールドを使いましょう。), 我々は、より多くの情報をここで見つけました https://qiita.com/Maru60014236/items/f550b07d49e199be771b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .