在SceneKit中导入带有纹理的.obj文件

时间:2019-05-02 14:10:05

标签: ios swift scenekit arkit

我正在尝试渲染从Web下载的3D模型.obj文件,但是在将纹理应用于模型时遇到问题。 .mlt,.obj和texture .jpg文件都位于同一文件夹中(例如car.obj,car.mtl,car.jpg,carDark.jpg)。

模型I / O是否应该自动应用纹理?我应该如何使用模型I / O导入纹理?

2 个答案:

答案 0 :(得分:1)

您是否检查了.mtl文件中.obj文件的文件路径? 如果此路径不正确,则将不会加载材料。 OBJ和MTL文件是文本文件,因此您可以使用文本编辑器打开它们。 .mtl文件的路径应位于.obj文件的顶部:

mtllib mymtlfile.mtl

如果它们位于同一文件夹中,则只需删除路径即可。

如果该路径正确,则应检查.mtl文件中纹理的路径。查找以map_开头的行。例如:

map_Kd mydiffusetexture.png
map_Ka /path/to/myambienttexture.tga
map_bump mybumptexture.jpg

如果删除所有路径,则文件导入应该起作用。

答案 1 :(得分:0)

在art.scnassets中添加纹理图像文件

enter image description here

选择场景,然后在“材质”属性中选择纹理

enter image description here