Secara terprogram mengubah tekstur model libgdx

Saya sedang membuat permainan dan saya ingin mengubah tekstur pada model tergantung pada data terkait tetapi tidak peduli apa yang saya lakukan, segera setelah tekstur berubah, model menjadi tidak terlihat, model dalam format g3dj, inilah bagian bahannya

"materials":[
    {
        "id":"default",
        "diffuse": [0.640000, 0.640000, 0.640000],
    },
    {
        "id":"plant fibre",
        "textures":[
            {
                "id": "Texture.001",
                "filename": "graphics/plant fibre.png",
                "type": "DIFFUSE"
            }
        ]
    },
    {
        "id":"logs",
        "textures":[
            {
                "id": "Texture.001",
                "filename": "graphics/logs.png",
                "type": "DIFFUSE"
            }
        ]
    }
],

Dan inilah upaya terbaru saya

 self.getMaterial("default").clear();
 self.getMaterial("default").set(self.getMaterial(extra.getString("item")).get(TextureAttribute.Diffuse));

Saya sudah mencoba semua yang saya temukan dengan mencari secara online dan semuanya mengalami masalah yang sama


person Dirtlord    schedule 26.03.2020    source sumber


Jawaban (1)


Ternyata materi yang tidak digunakan tidak diteruskan ke modelInstance. Saya hanya perlu memodifikasi model lalu membuat dan merender modelInstance

Ps: ini selalu terjadi. Saya bosan dengan sesuatu sehingga saya memposting pertanyaan di sini dan kemudian menyelesaikan masalah dalam waktu 24 jam

person Dirtlord    schedule 26.03.2020