2014-12-05 113 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