libgdx纹理来自模型网格上的代码

时间:2013-06-16 18:17:37

标签: android opengl-es 3d libgdx

我想渲染一些3D模型,作为具体卡片(但应该有3个尺寸),正面有不同的值。

为了实现这一目标,我认为创建一个代表卡片尺寸和形状的模型是个好主意,如果可能的话,已经为卡片提供了默认纹理,并添加了卡片特定的值,如不同的数字每个渲染的模型。

我已经能够使用默认纹理加载模型并渲染到屏幕, 但是我没有任何线索如何将动态纹理添加到模型的正面< / EM>

2 个答案:

答案 0 :(得分:4)

为每种卡片类型创建一个TextureAttribute,然后将其设置为每个模型实例的材质:

TextureAttribute textureAttribute1 = new TextureAttribute(TextureAttribute.Diffuse, yourtexture);

//

material = modelinstance.materials.get(0);
material.set(textureAttribute1);`

答案 1 :(得分:0)

您可能已经有很长时间了,但是要在模型的正面放置纹理取决于您在建模软件中创建的uv。因此,如果将正面uvs与侧面uvs分开放置在一个单独的岛上,那么这将是您的数字之一。例如,如果有4个uv岛,则纹理将从0变为3。因此,您的正面将是这些数字之一。该模型必须正确展开才能正常工作。

此外,您还必须添加一个multi / sub纹理并为每个数字编号。然后,直到那时,您才会在每侧看到不同的纹理。我唯一无法做的就是正确缩放纹理。