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

问题描述 投票:0回答:2

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

为完成此任务,我认为创建一个代表卡的尺寸和形式的模型是一个好主意,如果可能的话,已经为卡提供了默认纹理,并为卡添加了特定于卡的值,例如每个卡都有不同的数字渲染的模型。

我已经可以使用默认纹理加载模型并渲染到屏幕上,但是我不知道如何将动态纹理添加到模型的前端

android opengl-es 3d libgdx
2个回答
4
投票

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

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

//

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

0
投票

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

此外,您还必须添加一个多/子纹理,并分别编号。然后,只有这样,您才能在每侧看到不同的纹理。我唯一没有做的就是正确缩放纹理。

© www.soinside.com 2019 - 2024. All rights reserved.