Unityで、インスペクター[Tag]を使って C#スクリプトからGameObjectにアクセスする手順を備忘録的に投稿します。
インスペクターの[Tag]からアクセス
[階層]画面で、Scene内のGameObject(例えばPlayerなど)を選択して表示された[インスペクター]画面の上の方にある[Tag]設定。
プロジェクト作成後に追加したGameObjectには[Untagged]が設定されています。この[Tag]は追加ができます。
さらに、C# スクリプトのコードから設定したTagを使って、GameObjectにアクセスができます。
Tagを使ったアクセスを利用することで、変数化するほど頻繁にアクセスしない場合にコード量を減らすことが可能になります。
具体的には、次の方法で[タグ]の設定と、C#スクリプトからのアクセスが可能です。
1.[インスペクター]画面の[Tag]を展開して表示されたリストから[Add Tag]を選択します。
2.[Tags and Layers]画面で[Tags]の[+]をクリックして要素を追加します。
3. 追加された要素に、利用するタグの名前を入力して[Save]をクリックして保存します。
4.[インスペクター]画面の[Tag]に追加された一覧からGameObjectにタグを設定します。
5. C# スクリプトから、次のコードで設定したGameObjectにアクセスします。
GameObject.FindGameObjectWithTag("FollowCamera")
まとめ
今回はUnityで、インスペクター[Tag]を使って C#スクリプトからGameObjectにアクセスする手順について書きました。
[インスペクター]画面の[Tag]に独自のタグを追加して[FindGameObjectWithTag]を使って、C# スクリプトからGameObjectの取得が可能です。
クラス内で頻繁にアクセスしない GameObject などを[FindGameObjectWithTag]で取得することで、コード量を減らす目的で使えそうです。
UnityでインスペクターのTagを使ってGameObjectが取得したい人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。




