嵌套预制件

目前在 Unity 中无法使用嵌套预制件。你可以将一个预制件拖到另一个预制件上,然后应用该预制件,但子预制件上的任何更改都不会应用于嵌套预制件。

但是有一个简单的解决方法 - 你必须向父预制添加一个简单的脚本,它将实例化一个子脚本。

using UnityEngine;

public class ParentPrefab : MonoBehaviour {

    [SerializeField] GameObject childPrefab;
    [SerializeField] Transform childPrefabPositionReference;

    // Use this for initialization
    void Start () {
        print("Hello, I'm a parent prefab!");
        Instantiate(
            childPrefab, 
            childPrefabPositionReference.position, 
            childPrefabPositionReference.rotation, 
            gameObject.transform
        );
    }
}

父预制:

StackOverflow 文档

儿童预制:

StackOverflow 文档

开始前后的场景:

StackOverflow 文档 StackOverflow 文档