我在社交媒体上收到了to this post today链接。似乎有些人使用“嵌套预制件”制作了一段有用的代码。这个东西在某种程度上与3D游戏开发有关,特别是Unity3D,它显然不支持(?)它们开箱即用。
但什么是嵌套预制件?
答案 0 :(得分:13)
prefab基本上是GameObject
的原型(可能是GameObjects
的层次结构),附加Components
及其亲属集serialized properties
当您将Prefab
的实例放入场景层次结构时,我们可以说场景中有预制件实例(或者 GameObject链接到预制件)。这非常有用,因为如果您修改预制本身,所有修改都会传播到所有场景中的链接预制件。
现在,您的具体问题是什么问题:Unity
本身不支持嵌套预制件。预制件是原子实体,它们不能指定它们之间的层次关系。
例如,如果您有2个预制件A
和B
,并且您创建了第三个预制件C
,其中有A
和B
作为孩子,Unity将C
视为完全独立的预制件。因此,如果您修改A
或B
,修改将不会实际传播到预制件C
。