我已经从搅拌器导出了一个模型,但是我希望一些实例使用不同的纹理
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);
}
}除其他外..。
发布于 2014-05-19 14:34:46
啊!
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);
}
}
}我的错误是从materials.size中减去1!(模型中的最后一种材料碰巧是最明显的一种,在许多情况下,我尝试了不同的东西-可能是起作用的(接受最后一种材料)DoH!
https://stackoverflow.com/questions/23634804
复制相似问题