将.jpg和.mtl文件应用于SceneKit中的.obj文件

Joh*_*kex 7 3d objective-c ios scnscene scnmaterial

设计师提供了三个文件:

  • 图片.JPG
  • 一些东西.MTL
  • 随你.OBJ

我可以成功将.obj文件加载到我的场景中,如下所示:

  SCNView * sceneView = [SCNView new];
  sceneView.frame = view.bounds;
  [view addSubview:sceneView];

  SCNScene * scene = [SCNScene sceneNamed:@"models.scnassets/whatever.obj"];
  [sceneView setScene:scene];
Run Code Online (Sandbox Code Playgroud)

我正在努力将.jpg和.mtl文件应用于.obj文件.我尝试使用以下代码应用图像,但没有爱:

SCNMaterial * material = [SCNMaterial material];
material.diffuse.contents = [UIImage imageNamed:@"image.jpg"];

SCNNode * materialNode = [SCNNode node];
materialNode.geometry.firstMaterial = material;
[scene.rootNode addChildNode:materialNode];
Run Code Online (Sandbox Code Playgroud)

Zee*_*rif 0

我遇到了同样的问题,我找到的唯一解决方案是在此链接中单击此处。我可以加载.mtl信息来通过场景创建对象

let scene = SCNScene(named: "rose.obj")
Run Code Online (Sandbox Code Playgroud)

确保包中包含带有纹理的 .mtl 和 jpg。