Nodachisoft Nodachisoft logo, Katana Sword Icon
  
@あまじ✎ 2022年1月11日に更新

Unityで親子の GameObject を相対パスで取得する。親の子供などもさかのぼってパスで取得する方法

Unityで親子の GameObject を相対パスで取得する。親の子供などもさかのぼってパスで取得する方法

概要

Unity で親子のゲームオブジェクト(GameObject)を取得する、いくつか方法があります。

ここでは Transform.Find の使用例と、親にさかのぼって別の子供のオブジェクトを取得する方法、 さらに、Linux や Windows のように "../../Enemy/Monster/Wolf" のように 親にさかのぼって相対パスのように取得する方法について記載します。

子供へのアクセス

Transform.Find を使用すると、子供のオブジェクトを取得できます。 以下のような構造のときに Enemy にアタッチされたスクリプト内から、 this.gameObject.transform.Find("Monster/Wolf") で Wolf の Transform を取得できます。

Hie1

サンプルコードは以下のようになります。

 
EnemyBehaviour.cs
public class EnemyBehaviour : MonoBehaviour{
    void Start() {
        GameObject wolf = this.gameObject.transform.Find("Monster/Wolf").gameObject;
    }
}

親へのアクセスと、自分以外の親の子供へのアクセス

以下のような構造のときに、まず親のオブジェクト「Enemy」を取得し、 親のオブジェクトを基点にして、transform.Find("Monster/Wolf") で Wolf を取得できます。

ViaParent

サンプルコードは以下のようになります。

 
EnemyBehaviour.cs
public class EnemyBehaviour : MonoBehaviour{
    void Start() {
        Transform enemyTransform = this.gameObject.transform.parent;
        this.wolf = enemyTransform.Find("Monster/Wolf").gameObject;
    }
}

これは Transform.Find で一発でパスとして書くこともできます。

 
EnemyBehaviour.cs
public class EnemyBehaviour : MonoBehaviour{
    void Start() {
        this.wolf = this.gameObject.transform.Find("../Monster/Wolf").gameObject;
    }
}

以上。Transform.Find の使い方メモでした。

参考

変更履歴

日付 変更概要
なし
 
 
送信しました!

コメント、ありがとうございます。

なんかエラーでした

ごめんなさい。エラーでうまく送信できませんでした。ご迷惑をおかけします。しばらくおいてから再度送信を試していただくか、以下から DM などでご連絡頂ければと思います。

Twitter:@NodachiSoft_jp
お名前:
 
連絡先:
 
メッセージ:
 
戻る
内容の確認!

以下の内容でコメントを送信します。よろしければ、「送信」を押してください。修正する場合は「戻る」を押してください

お名前:
 
連絡先:
 
メッセージ:
 
Roboto からの操作ではないという確認のため確認キーを入れてください。
確認キー=95
戻る
 / 
送信確認へ
コメント欄
コメント送信確認へ

関連ありそうな記事(5件)です!

Unity の C# コードで System.Type.GetType が null を返してしまう

Unity の C# コードで System.Type.GetType が null を返してしまう

#Unity#.net✎ 2022-1-11
Unity の C# コードで System.Type.GetType が null を返してしまう
目次
Unityで親子の GameObject を相対パスで取得する。親の子供などもさかのぼってパスで取得する方法
Unityで親子の GameObject を相対パスで取得する。親の子供などもさかのぼってパスで取得する方法
概要
概要
子供へのアクセス
子供へのアクセス
親へのアクセスと、自分以外の親の子供へのアクセス
親へのアクセスと、自分以外の親の子供へのアクセス
参考
参考
変更履歴
変更履歴
Nodachisoft © 2021