2014-12-05 109 views
1

我正在努力使纹理在Cocos3D中正常工作。这是我所做的。Cocos3D - 纹理不显示

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

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

第3步:通过搅拌机,我进口Tarzen.mhx文件,并在同一目录下的纹理图像作为Tarzen.blend保存该工作区。这允许Tarzen.pod文件象征性地指向纹理图像路径。

第4步:没有任何对Blender的更改,我导出了Tarzen.pod文件。 PVRShaman会正确显示所有纹理的模型。

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

任何想法为什么?由于

+0

这个问题更适合HTTP://gamedev.stackexchange。 com在SO上的重点是编程任务/问题。 – LearnCocos2D 2014-12-05 15:57:40

+0

我在game.stackoverflow上发布了这个问题,并且将它作为关闭主题保留。 Humm http://gamedev.stackexchange.com/questions/88226/cocos3d-texture-not-shown – 2014-12-06 03:15:38

+0

如果PVRShaman正确显示了这一点,可能是您的Cocos3D设置存在问题。有时POD会在关闭不透明度的情况下导出,因此请尝试使用myModel.opacity = kCCOpacityFull;加载后。如果您仍然遇到问题,请邮寄一个简单的Xcode项目来演示它(或者仅仅是您的POD模型和纹理),然后将其发送到[email protected],我会查看它。 – 2014-12-06 12:39:22

回答

0

“没有”帮我先解决了这个问题,然后删除纹理在使用下面的代码添加回:

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

我很高兴你把它整理出来。你的牛仔裤材质有两种纹理,一种是正常的地图。但是您的网格不包含顶点切线,这使得着色器无法在法线贴图上使用。通过去除法线贴图纹理,就像在这里所做的一样,只需显示牛仔裤的颜色纹理。您也可以修改着色器以适应您的原始条件。 – 2014-12-08 14:19:04