Colors LIBGDX MeshPartBuilder纹理仅单色

Colors LIBGDX MeshPartBuilder纹理仅单色,colors,model,libgdx,textures,mesh,Colors,Model,Libgdx,Textures,Mesh,嗯,我正在使用LIBGDX和一个分辨率高于FullHD的漂亮纹理,现在我尝试将这个纹理添加到我的模型中 for (int i = 0; i < plB.size(); i++) { MeshPartBuilder builder = modelBuilder.part("part " + i, GL20.GL_TRIANGLES, VertexAttributes.Usage.Position | VertexAttributes.Usage.Normal, new Mat

嗯,我正在使用LIBGDX和一个分辨率高于FullHD的漂亮纹理,现在我尝试将这个纹理添加到我的模型中

for (int i = 0; i < plB.size(); i++) {
        MeshPartBuilder builder = modelBuilder.part("part " + i, GL20.GL_TRIANGLES, VertexAttributes.Usage.Position | VertexAttributes.Usage.Normal, new Material(TextureAttribute.createDiffuse(type.getTexture())));

        int next = i < plB.size() - 1 ? i + 1 : 0;
        MeshPartBuilder.VertexInfo v1 = new MeshPartBuilder.VertexInfo().setPos(plB.get(i).x, plB.get(i).y, plB.get(i).z).setNor(0, 0, 1).setCol(null);
        MeshPartBuilder.VertexInfo v2 = new MeshPartBuilder.VertexInfo().setPos(plT.get(i).x, plT.get(i).y, plT.get(i).z).setNor(0, 0, 1).setCol(null);
        MeshPartBuilder.VertexInfo v3 = new MeshPartBuilder.VertexInfo().setPos(plT.get(next).x, plT.get(next).y, plT.get(next).z).setNor(0, 0, 1).setCol(null);
        MeshPartBuilder.VertexInfo v4 = new MeshPartBuilder.VertexInfo().setPos(plB.get(next).x, plB.get(next).y, plB.get(next).z).setNor(0, 0, 1).setCol(null);

        builder.rect(v1, v2, v3, v4);
    }
for(int i=0;i

但它只是看起来又绿又丑。我必须更改什么?

您需要为顶点属性指定
用法.TextureCoordinates
,并为矩形的每个角指定纹理坐标(UV)。作为后一种选择,只需使用
rect
方法,该方法获取每个角点的坐标,而不是手动指定每个
VertexInfo
。好的,它可以工作一点,但我想对整个模型使用纹理,这是否可能?是的,这是相同的。