【Unityで学ぶC#プログラミング⑬】インスペクターでの変数の表示

プログラミング初心者向けのUnityで学ぶC#講座。
初心者にもわかりやすく、なるべく専門的な用語をなくして簡単に説明します。
今回は「インスペクターでの変数の表示」についてです。
この記事を読み終えると以下のことが分かるようになります。
SerializeFieldとは
HideInInspectorとは
Unityでのゲーム開発ではインスペクター上での操作は欠かせませんね。
インスペクター上で変数が変更できれば、直接コードを変更しなくても修正が可能になります。
作業の効率もアップするのでしっかりと覚えましょう。
それではさっそく解説していきます。
PublicとPrivateとは
変数をpublicにすると、インスペクターから変数の値を変更可能になり、他のスクリプトからもアクセス可能になります。つまり、他のスクリプトから、変数の値の変更ができるという事です。
また、変数をPrivateに設定すると、インスペクター上での表示は消え、変数の値の変更ができなくなります。
もちろん、他のスクリプトからアクセスすることは出来ず、値を変更することはできません。
下記スクリプトでは変数”name”をpublicにしています。
“name”の値をコンソールに表示するスクリプトです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class testPublic : MonoBehaviour { public string name;//変数をpublicに設定 // Start is called before the first frame update void Start() { Debug.Log("名前は" + name + "です。"); } } |
スクリプトでは”name”に何も代入していませんが、インスペクターから値を変更しています。

コンソールで変数の値が表示されたのが確認できました。

また、変数をPrivateにするとコンソールには変数”name”の値が表示されません。
SerializeFieldとは
変数を他のスクリプトからアクセスを不可にしたい。でも、インスペクターからは値を変更したい。
こんな時に使えるのがSerializeFieldです。
下記のスクリプトでは、変数”name”をprivateにして他のスクリプトからのアクセスを不可にしています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class testSerializeField : MonoBehaviour { [SerializeField] private string name;//[SerializeField] でインスペクター上に表示する // Start is called before the first frame update void Start() { Debug.Log("名前は" + name + "です。"); } } |
SerializeFieldを記述しているので、インスペクターには表示され変更も可能です。

プレイを実行すると、インスペクターで設定した変数の値が表示されました。

HideInInspectorとは
変数を他のスクリプトからアクセスできるようにしたいが、インスペクターには表示したくない時に使えます。
下記のスクリプトでは変数”name”はpublicですが、インスペクターでは表示されません
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class testHideInInspector : MonoBehaviour { [HideInInspector]public string name;//HideInInspectorでインスペクターには表示しない // Start is called before the first frame update void Start() { Debug.Log("名前は" + name + "です。"); } } |

インスペクターでは表示されませんが、他のスクリプトからはアクセスが可能です。
今回の所は以上となります。
インスペクターは頻繁に使うので、マスターして効率よく開発しましょう。ゲーム制作時の状況に合わせて使ってください。
最後まで読んでいただきありがとうございました。
おすすめ記事【現役Unityエンジニアが厳選】Unityを学ぶのにおすすめのプログラミングスクール3選
おすすめのUnityスクール
Unityが学べるおすすめのプログラミングスクールはTECH STUDIAMになります。
理由はゲーム開発に特化したプログラミングスクールであり、2ヶ月で9万円の授業料で他のプログラミングスクールに比べても安いからです。
興味のある方は、無料相談してみるのをオススメます。
ゲーム制作を学べるオンラインスクール TECH STUDIAM