ご無沙汰しております。
転職したためブログを覚醒活習慣の構築に難儀しておりました。
だいぶ生活リズムが作れるようになってきたのでちょろっと更新。
さて、Unity3D関連の書籍では、 Prefab等をGameObjectにアタッチする際に GameObjectにアタッチされているスクリプトに 必ずと言って良いほど
public GameObject prefab;
なんて記述を見かけます。
確かにこう書くと、該当のオブジェクトを選択して インスペクタにPrefabをドラッグ&ドロップするだけで アタッチすることができるので、非常に楽です。 しかも下手にGameObject.Find()とかやるより高速だし。
でも、Unityからプログラミングに入った人で無い限り publicを使うのって、すごーく抵抗があると思います。 っていうか、publicは使っちゃダメで、 必ずprivateでアクセサを用意して参照するようにルールがある場所も多いかと思います。
そんなときは SerializeFieldを使えばOK
[SerializeField] private GameObject prefab;
と記述すると、あら不思議 privateなのにインスペクタに表示されるようになりました!
ということで、最近教えて貰った、意外と本に書いてなさそうな豆知識でした。