我购买了一些3D模型,用于我正在制作的应用程序中。购买的文件采用.fbx
格式,因此我将它们转换为.dae
。
不幸的是,当我将它们放入Xcode中的art.scnassets文件夹并查看它们时,它们只是显示为模型的橙色轮廓。没有纹理。如果我选择.dae然后转到编辑器,并转换为SceneKit场景文件格式(.scn
),也会发生同样的情况。
我找到了.tga
文件的纹理纹理。每个模型都有3个.tga纹理文件(反照率,ao和法线)。我可以组合这些文件来制作一个用于Xcode的纹理吗?
此外,当选择3d模型时,我无法打开材料检查器,它说它不适用。我一直使用材质检查器将纹理文件应用于特定模型。
将.dae
模型转换为.scn
Xcode的原生格式后,您需要通过Material Inspector中的Properties槽将所有可用纹理应用于3D模型。
Xcode中纹理的最佳格式可能是.png
(不是.tga
),因为.png
文件的大小相对较小,可以容纳四个通道 - RGBA(.jpg
只保留RGB)。
你无法组合Albedo
,AO
和Normals
,因为这些文件适用于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创作软件中反转多边形的法线。