我想渲染一些3D模型,成为正面具有不同值的具体卡片(但应具有3个尺寸)。
为完成此任务,我认为创建一个代表卡的尺寸和形式的模型是一个好主意,如果可能的话,已经为卡提供了默认纹理,并为卡添加了特定于卡的值,例如每个卡都有不同的数字渲染的模型。
我已经可以使用默认纹理加载模型并渲染到屏幕上,但是我不知道如何将动态纹理添加到模型的前端 。
为每种卡类型创建一个TextureAttribute,然后将其设置为每个模型实例的材质:
TextureAttribute textureAttribute1 = new TextureAttribute(TextureAttribute.Diffuse, yourtexture);
//
material = modelinstance.materials.get(0);
material.set(textureAttribute1);`
您可能很久以前就已经进行过这项工作,但是要在模型的正面放置纹理取决于您在建模软件中创建的uv。因此,如果将正面uvs与侧面uvs分开放置在一个单独的岛上,那么这将是您的数字之一。例如,如果有4个uv岛,则纹理将从0变为3。因此,您的正面将是这些数字之一。该模型必须正确展开才能正常工作。
此外,您还必须添加一个多/子纹理,并分别编号。然后,只有这样,您才能在每侧看到不同的纹理。我唯一没有做的就是正确缩放纹理。