2014-05-13 2 views
0

Я экспортировал модель из блендера, но я хочу некоторых случаях использовать различные текстурыlibgdx изменения текстуры на предварительной модели текстурированной

 if (x % 2 == 0) { 
      shipInstance.materials.clear(); 
      shipInstance.materials.add(new Material()); 
      shipInstance.materials.get(0).set(new TextureAttribute(TextureAttribute.Diffuse, enemyTexture)); 

, к сожалению, не работает!

Подобным же образом я хочу, чтобы иметь возможность изменить положение вещей, как и сглаживание блеска (я предполагаю, что вы можете изменить такие вещи, которые с помощью шейдера по умолчанию?)

Я также (позже) попытался это ...

Material mat = shipInstance.materials.get(m); 
for (Iterator<Attribute> ai = mat.iterator(); ai.hasNext();){ 
    Attribute att=ai.next(); 
    if (att.type==TextureAttribute.Diffuse) { 
     ((TextureAttribute)att).textureDescription.set(enemyTexture,TextureFilter.Linear,TextureFilter.Linear,TextureWrap.ClampToEdge,TextureWrap.ClampToEdge); 
    } 
} 

среди прочего ...

ответ

1

ARGH!

for(int m=0;m<shipInstance.materials.size;m++) { 
    Material mat = shipInstance.materials.get(m); 
    for (Iterator<Attribute> ai = mat.iterator(); ai.hasNext();){ 
     Attribute att=ai.next();       
     if (att.type==TextureAttribute.Diffuse) { 
      ((TextureAttribute)att).textureDescription.set(enemyTexture,TextureFilter.Linear,TextureFilter.Linear,TextureWrap.ClampToEdge,TextureWrap.ClampToEdge); 
     } 
    } 
} 

Ошибка была отправлена ​​на мой взгляд. (последний материал в модели оказался наиболее очевидным, во многих случаях я пробовал разные вещи, которые, вероятно, работали (принимайте за последний материал) DoH !!!

Смежные вопросы