LoginSignup
2
1

More than 3 years have passed since last update.

【Unity初心者】インスペクターに表示したいけどpublicにしたくない。そんなときはシリアライズフィールドを使いましょう。

Last updated at Posted at 2020-04-11

環境

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に変更します。
image.png

実行してみると
↓このようにインスペクターの値が反映されています。
image.png

移動速度などを微調整したい時に
いちいちスクリプトから変数の値を変更しなくて済むので超絶便利です!!

楽しいUnityライフを!!

2
1
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
1