.DAE 或 .SCN 文件在 Xcode 中显示不正确

.DAE or .SCN files are not displaying correctly in Xcode

我购买了一些 3D 模型用于我正在制作的应用程序。购买的文件是 .fbx 格式,所以我将它们转换为 .dae

不幸的是,当我将它们放入 Xcode 中的 art.scnassets 文件夹并查看它们时,它们只显示为模型应有的橙色轮廓。没有质感。如果我 select .dae 然后转到编辑器,然后“转换为 SceneKit 场景文件格式 (.scn),也会发生同样的情况。

我找到了模型纹理的 .tga 文件。每个模型都有 3 个 .tga 纹理文件(反照率、ao 和法线)。我可以将这些文件合并为一个纹理以供 Xcode 使用吗?

此外,当 3d 模型被 selected 时,我无法打开 material 检查器,它说它不适用。我一直使用 material 检查器将纹理文件应用到特定模型。

.dae 模型转换为 .scn Xcode 的原始格式后,您需要通过 Material 中的属性插槽将所有可用纹理应用到您的 3D 模型检查员。

Xcode 中纹理的最佳格式可能是 .png(不是 .tga),因为 .png 文件相对较小并且可以容纳四个通道 – RGBA(.jpg 仅包含 RGB)。

您不能合并 AlbedoAONormals,因为这些文件用于 Material Inspector 的不同插槽:Albedo 用于漫反射颜色,AO 用于环境遮挡软阴影,Normals 用于凹凸效果。

Or, you can assign these textures programmatically using Swift 4.1:

let material = SCNMaterial()

material.diffuse.contents = UIImage(named: "Albedo.png")
material.ambientOcclusion.contents = UIImage(named: "AO.png")
material.normal.contents = UIImage(named: "Normals.png")

P.S。如果您在 Xcode 的场景图中看不到 3D 模型的任何部分,那么有一个 normals issue。您需要在 3D 创作软件中反转多边形的法线。