【问题标题】:Cocos3D - Texture not displayedCocos3D - 纹理不显示
【发布时间】:2015-02-03 20:26:19
【问题描述】:

我正面临着试图让纹理在 Cocos3D 中工作的艰难时期。这就是我所做的。

第 1 步:通过 MakeHuman,我创建了一个男模特,其材料包括牛仔裤、头发和 T 恤。

第 2 步:我导出了包含纹理图像的 Blender Exchange Tarzen.mhx 文件。

第 3 步: 通过 Blender,我导入了 Tarzen.mhx 文件,并将这个工作区保存在与纹理图像相同的目录中,作为 Tarzen.blend。这允许 Tarzen.pod 文件相对地象征性地指向纹理图像路径。

第 4 步: 在没有对 Blender 进行任何进一步更改的情况下,我导出了 Tarzen.pod 文件。 PVRShaman 正确显示具有所有纹理的模型。

步骤 5: 我将 Tarzen.pod 和所有纹理图像复制到 xCode 的资源文件夹并执行代码。有趣的是,只有肤色和头发颜色看起来正确,但牛仔裤和 T 恤总是显示为黑色。

知道为什么吗?谢谢。

【问题讨论】:

  • 这个问题更适合gamedev.stackexchange.com,因为 SO 的重点是编程任务/问题。
  • 我在games.stackoverflow上发布了这个问题,它被搁置为题外话。嗯gamedev.stackexchange.com/questions/88226/…
  • 如果 PVRShaman 显示正确,则可能是您的 Cocos3D 设置有问题。有时会在关闭不透明度的情况下导出 POD,因此请尝试包含 myModel.opacity = kCCOpacityFull;加载后。如果您仍有问题,请压缩一个简单的 Xcode 项目来演示它(或只是您的 POD 模型和纹理),通过电子邮件将其发送至 support@brenwill.com,我会查看它。
  • Bill,我设置了 kCCOpacityFull,但纹理仍然没有显示。我已经在布伦威尔给你发了一封电子邮件。我非常感谢您的帮助,因为我已经被困了一天多。谢谢。
  • 除了将 xCode 项目发送到 support@brenwill 之外,我还在这里放了一份副本。谢谢。 dl.dropboxusercontent.com/u/66024121/iOS/Cocos3dTexture/…

标签: ios blender cocos3d


【解决方案1】:

“Without The”帮助我解决了这个问题,首先删除纹理,然后使用以下代码重新添加:

CC3MeshNode * jeans = [rezNode getMeshNodeNamed:@"Bison:jeans01"];
[jeans.material removeAllTextures];
[jeans.material addTexture:[CC3Texture textureFromFile:@"jeans_basic_diffuse.png"]];

【讨论】:

  • 我很高兴你把它整理好了。您的牛仔裤材质有两种纹理,一种是法线贴图。但是您的网格不包含顶点切线,这使着色器无法在法线贴图上使用。通过删除法线贴图纹理,就像您在此处所做的那样,您只需显示牛仔裤颜色纹理。您还可以修改着色器以适应您的原始条件。
猜你喜欢
  • 1970-01-01
  • 2013-06-14
  • 1970-01-01
  • 2014-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多