巢狀預製件

目前在 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 文件