【问题标题】:Create GameObject as parent of another GameObject创建 GameObject 作为另一个 GameObject 的父级
【发布时间】:2019-10-14 15:40:54
【问题描述】:

我想从脚本中实例化游戏对象,但我想实例化的游戏对象应该是另一个游戏对象的父级。这是怎么做到的?

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    你可以使用

    GameObject g = Instantiate(Prefab,parent.transform,false);
    

    它自动将 parent.transform 设置为 g 的父级。

    【讨论】:

      【解决方案2】:

      我认为你可以使用

      GameObject1.transform.parent = GameObject2.transform;
      

      现在 GameObject1 应该是 GameObject2 的父级。

      【讨论】:

      • 但我使用的是 Instantiate() 函数。我需要使用 Instantiate() 创建的游戏对象作为另一个游戏对象的父级。
      • 您可以先将其实例化,然后将其设置为父级,但我认为您不能在 Unity 中将预制件设置为父级。您可以做的是,您可以在场景中拥有该对象的隐藏副本,然后实例化该对象的副本并将其设置为父对象,而不是使用预制件。
      【解决方案3】:

      你可以的

      GameObject go1 = GameObject.Find(/*child GameObject name*/);
      GameObject go2 = Instantiate(prefab);
      go1.transform.parent = go2.transform;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-21
        • 1970-01-01
        • 1970-01-01
        • 2014-07-21
        • 1970-01-01
        • 1970-01-01
        • 2019-06-09
        • 2014-12-14
        相关资源
        最近更新 更多