2013-06-03 43 views
1

我使用Libgdx new 3d Api中的ModelBuilder创建了一个简单的框。 我创建Box这样的:Libgdx Box没有用颜色绘制,但有纹理

int block_size = 5; 
Model cube = mBuilder.createBox(block_size, block_size, block_size, 
     new Material(), Usage.Position | Usage.Color | Usage.Normal | Usage.TextureCoordinates); 

然后,我创建一个ModelInstance渲染这样的:

ModelInstance instance = new ModelInstance(cube); 

然后我尝试设置材质:

instance.materials.first().set(TextureAttribute.createDiffuse(t)); //t is a Texture (works) 

一切工作正常!但如果我使用ColorAttribute.createDiffuse(Color.RED),则不会显示任何内容!该框不可见。我不知道为什么...

instance.materials.first().set(ColorAttribute.createDiffuse(Color.RED)); 

我试着删除Usage.TextureCoordinates,但它改变了任何东西。先谢谢你。 MFG, 创乐

+0

解决它在我自己的......奇怪的解决方案,但它的工程!只要删除Usage.Color?!?!并显示彩色块...我不知道这是否是正确的方式...我个人认为这是一个错误:) – user1951516

+1

发布它作为你自己的问题的答案 – BennX

回答

1

删除Usage.Color

Model cube = mBuilder.createBox(block_size, block_size, block_size, 
    new Material(), Usage.Position | Usage.Normal | Usage.TextureCoordinates); 
+0

感谢您的发布 – user1951516

相关问题