1

SpriteBatch でテクスチャを描画し、TextureWrap.Repeat を設定するだけで問題ありません。しかし、今は 3D シーンがあり、地面とテクスチャをモデル/メッシュで繰り返す必要があり、これは機能しません。

public static StillModel createPlainMesh(float xs, float zs, Texture texture) {
        final Mesh mesh = new Mesh(true, 4, 6, new VertexAttribute(
                Usage.Position, 3, "a_position"), new VertexAttribute(
                Usage.TextureCoordinates, 2, "a_texCoords")); 
        mesh.setVertices(new float[]
                { xs, 0f, zs, 0, 0,
                xs, 0f, -zs, 0, 1,
                -xs, 0f, zs, 1, 0,
                -xs, 0f, -zs , 1,1
                });
        mesh.setIndices(new short[] { 0, 1, 2, 1, 2, 3 });
        final StillModel model = new StillModel(new StillSubMesh(
                "ground", mesh, GL10.GL_TRIANGLES, new Material()));    

        texture.setWrap(TextureWrap.Repeat, TextureWrap.Repeat);
        model.setMaterial(new Material("material", new TextureAttribute(texture, 0, "s_tex")));

        return model;
    }

私はこのコードを持っています。setWrap(TextureWrap.Repeat, TextureWrap.Repeat) を使用していますが、テクスチャはまだストレッチされています。理由はわかりませんが、ひどいようです。

4

1 に答える 1