[Unity 3D] 親オブジェクトを取得する方法。

(2024/07/31)

開発環境
  • Unityのバージョン:2022.3.32f1
  • transform.parentを使う方法

    transform.parentを使うと、親オブジェクトのTransformコンポーネントを取得することが出来るのでそこから親オブジェクトのGameObjectを取得することできます。

    void Start()
    {
        Transform parentTransform = transform.parent;
    
        if (parentTransform != null)
        {
            Debug.Log("親オブジェクトの名前: " + parentTransform.gameObject.name);
        }
        else
         {
             Debug.Log("親オブジェクトは存在しません");
         }
    }
    

    transform.rootを使う方法

    transform.rootを使うと、自身の最上位にある親オブジェクトのTransformコンポーネントを取得することが出来ます。

    void Start()
    {
        Transform rootTransform = transform.root;
    
        Debug.Log("ルートオブジェクトの名前: " + rootTransform.gameObject.name);
    }
    

    親オブジェクトの親オブジェクトを取得する方法

    自身の親オブジェクトの親オブジェクトは、transform.parent.transform.parentのように書くことで取得することができます。

    void Start()
    {
        Transform parentTransform = transform.parent.transform.parent;
    
        if (parentTransform != null)
        {
            Debug.Log("親オブジェクトの親オブジェクトの名前: " + parentTransform.gameObject.name);
        }
        else
         {
             Debug.Log("親オブジェクトの親オブジェクトは存在しません");
         }
    }