将 PBR 模型导入 Xcode 会导致不正确的着色器属性
Posted
技术标签:
【中文标题】将 PBR 模型导入 Xcode 会导致不正确的着色器属性【英文标题】:Importing PBR models into Xcode results in incorrect shader properties 【发布时间】:2020-09-01 01:23:52 【问题描述】:我一直在 Xcode 中试验不同的 3D 模型文件格式,主要是 .obj 和 .dae。
但是,在我从 Blender 导出这些文件后,它们要么没有任何关联的光照,要么所有值(尤其是它们的金属度和粗糙度)都不是它们最初设置的值。
.obj 导出, .dae 导出, 然后是搅拌机版本。
问题是我如何从 Blender 导出模型、模型本身还是其他什么?
【问题讨论】:
【参考方案1】:对象
如果您在 Blender(或 Maya)中创建模型,请记住,每个应用程序都有自己的内部着色器,这些着色器可能与 SceneKit 的着色器不同。当您将任何模型导出为 .obj
时,您还会获得相应的 uv 映射 .mtl
纹理文件。 .obj
内部没有灯光,因为这种格式只支持几何体(具有平滑度、法线和 UV ID)。还有一件事——.obj
不支持动画。
代
.dae
格式不仅允许您导出带有动画的 3D 几何体,还允许您导出带有颜色和纹理的相应着色器(如 Phong、Blinn 或 Lambert)(但是,不支持 Blender 或 Maya 的程序纹理)。并且所有在 3D 场景中的灯光也会被导出。
usdz
导出的最佳候选者是.usdz
文件。并非所有 3D 创作工具都有 export usdz
选项,但 Autodesk Maya 2022 有 USD 插件。
.usdz
格式具有.dae
格式的所有功能,但除此之外,我可以说它是 RealityKit、SceneKit、Reality Composer 和 QuickLook 的原生格式,它的分层系统适用于更大的场景,并且支持 Python USDZ 架构。
【讨论】:
以上是关于将 PBR 模型导入 Xcode 会导致不正确的着色器属性的主要内容,如果未能解决你的问题,请参考以下文章