如何通过脚本在Unity中选择层次结构中的对象?

时间:2016-12-16 13:39:22

标签: c# unity3d editor selection

    private void CheckingSelection() {
    Transform child = Selection.activeTransform;
    Transform[] patchesTransform = builder.GetLevelEditorPatchesTransform();

    foreach (var parent in patchesTransform) {
        if (child.IsChildOf(parent) && child != parent) {
            Debug.Log("Set active " + parent.gameObject);
            Selection.activeGameObject = parent.gameObject;
        }
    }
}

这就是我所做的,但它没有选择父母。我做错了什么?

1 个答案:

答案 0 :(得分:0)

这笔交易是我调用方法CheckingSelection();

的方式

我添加了此方法来委托Selection.selectionChanged。在选择某些东西后,我认为这是一种合乎逻辑的事情。但它没有用。它可能是内部Unity的东西,阻止递归或其他。

所以,我将CheckingSelection()方法添加到了EditorApplication.update委托,它可以工作。