sách gpt4 ai đã đi

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

In lại 作者:可可西里 更新时间:2023-11-01 03:31:31 38 4
mua khóa gpt4 Nike

设计者交付了三个文件:

  • 图片.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];

我遇到的困难是将 .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];

1 Câu trả lời

您好@Johnny 有多种方法可以在 .obj 文件上应用纹理文件。

  1. 如果你想加载一些具有出色自定义的 .obj 文件,你可以在 Xcode 中打开 .obj 文件并应用纹理(漫反射贴图、法线贴图等,环境和灯光相机),然后 .obj 文件将转换为 .obj 文件。在 SCNView 中使用的 scn 文件。

  2. 如果您想在 .obj 或 .scn 文件的特定节点上动态应用纹理/更改纹理,您可以使用模型 I/O 框架,它使用集成的通用基础设施提供导入、导出和操作 3D 模型MetalKit、GLKit 和 SceneKit。 SceneKit 为 ModelIO Assets 提供类 ex..+ (instancetype)sceneWithMDLAsset:(MDLAsset *)mdlAsset;(正如@Zeeshan 回答的那样)。

  3. 您的设计师可以导出 .dae 格式的 3D 模型文件。在 .dae 文件中,单个文件包含纹理、相机、光引用。在 .obj 中使用时不需要 .mtl 或其他文件。SCNKit 也支持 .dae

  4. 如果您使用金属渲染,您可以直接从 NSURL 加载纹理。

关于ios - 将 .jpg 和 .mtl 文件应用于 SceneKit 中的 .obj 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46493837/

38 4 0
可可西里
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com