0

我将模型从 Blender 导入 Unity,然后用它们制作预制件。但是不能在不影响预制件的情况下删除原始导入的模型。

这是一步一步的描述:

  1. 我在 Blender 中创建了一个简单的模型。只是网格,没有纹理、灯光和其他东西。
  2. 将其导出为 (Collada .dae) - 这并不重要,确切的格式。
  3. 将其导入 Unity 的项目窗口(从文件资源管理器拖放)。
  4. 将其拖入场景中。
  5. 将其从场景拖到项目窗口 - 通过“创建原始预制件”选项创建预制件。现在我有一个 Unity 预制件和原始导入文件 - 例如两个“Body”对象:

在此处输入图像描述

第一个“主体”是 .dae 文件,第二个是由它构建的 Unity 预制件。

据我了解,此时这两个对象是紧密耦合的。我不能删除 .dae 文件,因为 Unity prefab 中的所有模型也会被删除,所以我变成了一个空对象。

和平常一样吗?我是否在项目中保留重复项以仅使用 Unity 的预制件,而不是原始 .dae 文件?或者有没有办法将它们解耦?

这种情况的另一个例子。他还从导入的模型创建了预制件,但最后他的项目中有两个相同的对象:Unity 预制件和原始导入模型。

4

1 回答 1

1

是的,他们当然是!

您的预制件使用导入的模型资产作为网格和材料等。

Is it just as normal?

是的,这是绝对正常的;)

预制件本身几乎不需要任何磁盘内存,因为它们基本上只是序列化的层次结构模板,并且只存储序列化的值和引用。您可以在文本编辑器中打开一个预制件,然后会看到它只是一些序列化的 YAML 文本。

而是这些预制件引用的相应导入模型和其他资产(网格/材料/纹理/等),它们实际上存储了“重”数据。

所以删除网格/导入的模型没有任何意义。

于 2022-01-28T13:53:37.177 回答