2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?