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

标签 ios swift scenekit arkit

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

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

最佳答案

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

mtllib mymtlfile.mtl

如果它们在同一个文件夹中,您可以去掉路径。

如果此路径没问题,那么您应该检查 .mtl 文件中纹理的路径。查找以 map_ 开头的行。例如:

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

如果您去除所有路径,那么文件导入应该可以工作。

关于ios - 在 SceneKit 中导入带有纹理的 .obj 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55954328/

相关文章:

javascript - 使用 JavaScript 查找选定文本的开始和结束索引

ios - Swift 编译器在handleDeferredImports 中出现段错误

ios - 滚动时 TableView 重新排列/创建空白单元格。 swift

ios - UNNotificationRequest 需要唯一标识符,但也会触发重复项

ios - 错误 "OBJ file has no faces"

iphone - SBJson 解析尝试—— Objective-C

ios - 在集成 pod 文件之前,如何处理放置在桥接 header 中的第 3 方代码

swift - 字符串替换发生为\character 生成错误

swift - 麻烦子类化 SCNScene

swift - removeFromParentNode 被意外调用