我一直在 Xcode 中试验不同的 3D 模型文件格式,主要是.obj和.dae。
但是,在我从 Blender 导出这些文件后,它们要么没有任何关联的光照,要么所有值(尤其是它们的金属度和粗糙度)都不是它们最初设置的值。
.obj 导出,.dae 导出,然后是搅拌机版本。
问题是我如何从 Blender 导出模型、模型本身还是其他什么?
如果您在 Blender(或 Maya)中创建模型,请记住,每个应用程序都有自己的内部着色器,这些着色器可能与 SceneKit 的着色器不同。当您导出任何模型时,.obj
您还会获得相应的 uv 映射.mtl
纹理文件。里面没有灯光.obj
,因为这种格式只支持几何体(具有平滑度、法线和 UV ID)。还有一件事——.obj
不支持动画。
.dae
格式不仅允许您导出带有动画的 3D 几何体,还允许您导出带有颜色和纹理的相应着色器(如 Phong、Blinn 或 Lambert)(但是,不支持 Blender 或 Maya 的程序纹理)。并且所有在 3D 场景中的灯光也将被导出。
导出的最佳候选者是.usdz
文件。并非所有 3D 创作工具都有export usdz
选项,但 Autodesk Maya 2022 有 USD 插件。
.usdz
format 具有 format 的所有功能.dae
,但除此之外,我可以说它是 RealityKit、SceneKit、Reality Composer 和 QuickLook 的本机,它的分层系统适用于更大的场景,并且支持 Python USDZ 模式。