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

问题描述 投票:2回答:1

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

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

我找到了.tga文件的纹理纹理。每个模型都有3个.tga纹理文件(反照率,ao和法线)。我可以组合这些文件来制作一个用于Xcode的纹理吗?

此外,当选择3d模型时,我无法打开材料检查器,它说它不适用。我一直使用材质检查器将纹理文件应用于特定模型。

swift xcode scenekit collada converters
1个回答
2
投票

.dae模型转换为.scn Xcode的原生格式后,您需要通过Material Inspector中的Properties槽将所有可用纹理应用于3D模型。

enter image description here

Xcode中纹理的最佳格式可能是.png(不是.tga),因为.png文件的大小相对较小,可以容纳四个通道 - RGBA(.jpg只保留RGB)。

你无法组合AlbedoAONormals,因为这些文件适用于Material Inspector的不同插槽:Albedo用于漫反射颜色,AO用于Ambient Occlusion软阴影,Normals用于凹凸效果。

或者,您可以使用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")

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

© www.soinside.com 2019 - 2024. All rights reserved.