如何在预制中获取对特定变换的引用

时间:2019-06-17 18:50:02

标签: c# unity3d

我有一个由三块面板组成的预制板,每块都与上面的一块子板相连。我将预制实例化到场景中。我还有另一个脚本,需要引用该预制中的最后一个面板。

我尝试过getChild失败。我不确定应该如何设置:

public Transform myPanel;  //(For clarity I should point out that I do not have a reference for myPanel.)

收件人:

public Transform theSpecificPanelInThePrefabInstance;

2 个答案:

答案 0 :(得分:0)

如果该字段是公共字段,则可以在编辑器中进行设置。如果您需要更动态的方式来使用该面板,请考虑添加和查询Tag

答案 1 :(得分:0)

要使其更加一致,请向父面板添加一个脚本,并在子面板上添加公共的Transform引用,然后将该引用分配给检查器上的预制件。

    // Parent.cs
    public Transform grandChild;

然后在您的脚本上:

    // YourScript.cs
    public Transform myPanel;
    Transform theSpecificPanelInThePrefabInstance;
    theSpecificPanelInThePrefabInstance = myPanel.gameObject.GetComponent<Parent>().grandChild;