2014-12-05 1 views
1

Я сталкиваюсь с трудными временами, пытаясь заставить текстуру работать в Cocos3D. Вот что я сделал.Cocos3D - Текстура не отображается

ШАГ 1: Via MakeHuman, я создал мужскую модель с материалами, включающими джинсы, волосы и футболку.

ШАГ 2: Я экспортировал файл Blender Exchange Tarzen.mhx, содержащий текстурные изображения.

STEP 3: Через Blender я импортировал файл Tarzen.mhx и сохранил это рабочее пространство в том же каталоге, что и текстурные изображения, такие как Tarzen.blend. Это позволило файлу Tarzen.pod символически указывать на путь текстурных изображений относительно.

ШАГ 4: Без каких-либо дополнительных изменений в Blender я экспортировал файл Tarzen.pod. PVRShaman отображает модель со всеми текстурами правильно.

ШАГ 5: Я скопировал Tarzen.pod и все изображения текстуры в папку ресурсов xCode и выполнил код. Интересно, что только цвет кожи и цвет волос выглядят правильно, но джинсы и TShirt всегда появляются черными.

Любая идея, почему? Благодаря

+0

Этот вопрос лучше подходит для HTTP: //gamedev.stackexchange. com, как и в случае с SO, основное внимание уделяется задачам/задачам программирования. – LearnCocos2D

+0

Я разместил этот вопрос на games.stackoverflow, и это место приостановлено, как вне темы. Humm http://gamedev.stackexchange.com/questions/88226/cocos3d-texture-not-shown –

+0

Если PVRShaman показывает это правильно, это может быть проблемой при настройке Cocos3D. Иногда POD экспортируется с отключенной непрозрачностью, поэтому попробуйте включить myModel.opacity = kCCOpacityFull; после загрузки. Если у вас все еще есть проблема, ZIP - простой проект Xcode, который демонстрирует его (или просто вашу модель POD и текстуры), отправьте его по электронной почте на [email protected], и я посмотрю на него. –

ответ

0

«без» помогла мне решить эту проблему, сначала удалите текстуру затем добавляли снова, используя следующий код:.

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

Я рад, что вы разобрались. Материал ваших джинсов имеет две текстуры, одна из которых является обычной картой. Но ваша сетка не содержит вершинных касаний, что дает шейдерам ничего не использовать на нормальной карте. Удалив нормальную текстуру карты, как вы здесь, вы просто отображаете текстуру цвета jean. Вы также можете изменить шейдеры, чтобы они адаптировались к вашим первоначальным условиям. –