gpt4 book ai didi

ios - 使用 Cocos3D 将带有纹理的搅拌器 3d 模型导出到 iPhone - 纹理不显示

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:13:20 27 4
gpt4 key购买 nike

要求

我有一个在 Blender 中创建的 3d 模型 - 一个每个面上都有数字 1 到 6 的立方体。我在每个面上都添加了 UV 纹理来表示数字。当我在 Blender 上渲染时,数字显示正常。

我正在尝试使用 Cocos3D 将此模型导出到 iPhone。

规范

  • iOS 6.1 和 Xcode 4.6.2
  • cocos3d 0.7.0
  • blender 2.67b

我做了什么

  1. 我根据 this 将 PVRGeoPOD 转换器插件添加到 Blender官方文档。
  2. 在 blender 中创建了 3D 模型。使用默认的 blender 立方体和在所有 6 个面上添加了 UV 纹理。
  3. 通过选择生成一个 .pod 文件File->Export->PVRGeoPOD(.pod/.h/.cpp) in Blender。

  4. 将 pod 文件添加到 Cocos3D 默认模板项目。改变使用我的编号立方体文件而不是默认的“Hello world”文本的代码。

    [self addContentFromPODFile: @"numbered_cube.pod"];
  5. 添加了 3 轴旋转以便我可以看到所有 6 个面。

    CC3MeshNode* helloTxt = (CC3MeshNode*)[self getNodeNamed: @"Cube"];
    CCActionInterval* partialRot = [CC3RotateBy actionWithDuration: 1.0
    rotateBy: cc3v(40.0, 30.0, 30.0)];
    [helloTxt runAction: [CCRepeatForever actionWithAction: partialRot]];

问题

好吧,立方体正在显示,并且正在旋转。但是立方体上没有纹理。在日志中,我可以看到这个

Building CC3PODResource from file numbered_cube.pod containing 3 nodes (1 mesh nodes), 1 meshes, 1 cameras, 1 lights, 1 materials, 0 textures, 0 frames, ambient light

进一步研究

我做了一些搜索并找到了 this所以线程。它讲述了 Collada (.dae) 文件,一种介于 .blend 和 .pod 之间的中间文件。当我尝试转换时,我只得到了 .pod 文件。然后我使用 File->Export->Collada(.dae) 创建一个 .dae 文件 manullay。然后我尝试使用 PVRGeoPODGUI 独立工具将此 .dae 文件转换为 .pod。文件已成功打开,但导出按钮始终处于禁用状态。

很简单,我的问题是如何使用 Cocos3D 在 iPhone 的 Blender 中创建的 3D 模型中显示纹理。有什么想法吗?

最佳答案

好的,我让它工作了。我会详细解释。

对于初学者来说,我的错误是我没有将纹理图像添加到 XCode 项目包。我有一个误解,一旦纹理被添加到 blender 中,它会自动与 .pod 文件一起导出。但事实并非如此。当您从 Blender 导出纹理模型时,不要忘记将纹理添加到 XCode 项目包中。

我在尝试修复此错误时注意到的另一件事是,这也会导致您的纹理在 iPhone 中运行时无法显示。

  1. 当您分两步将 .blend 导出到 .pod 时(.blend -> .dae ->.pod), 有一些配置你需要在第一次之前做转换(.blend -> .dae)。那就是当你保存.dae文件时,您需要勾选“纹理选项”下的所有字段。那么只有导出纹理数据。

    enter image description here

关于ios - 使用 Cocos3D 将带有纹理的搅拌器 3d 模型导出到 iPhone - 纹理不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17164104/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com