/ / Come posso determinare con lo script quali trame sono attaccate al materiale del frullatore? - python, blender

Come posso determinare con lo script quali trame sono attaccate al materiale del frullatore? - python, blender

Sto caricando e pulendo molta eredità.file fbx. Devo importare il file fbx, verificare la presenza di mesh, materiali e trame ripetute e quindi selezionare il materiale con trame che sono associate alle bitmap. (Su 5 file fbx, solo uno ha il materiale / la trama utilizzabili)

Posso importare i file fbx, trovare i materiali ridondanti, ma non riesco a capire quali trame sono collegate ai materiali e quali texture hanno bitmap.

ogni aiuto è apprezzato.

risposte:

0 per risposta № 1

La risposta sembra essere materiali [i] .active_texture. Ho chiesto un po 'troppo presto.


0 per risposta № 2

Per espandere un po 'quello che hai scoperto -

Mi aspetto che il formato fbx supporti più di unoimmagine per materiale e come materiale del frullatore può avere più di una texture associata, una ricerca più completa può essere eseguita con il seguente

import bpy

for obj in bpy.data.objects:
for matslot in obj.material_slots:
for texslot in matslot.material.texture_slots:
if texslot is not None and texslot.texture.type == "IMAGE":
if texslot.texture.image is not None:
print("object", obj.name, "has material",
matslot.material.name, "that uses image",
texslot.texture.image.name)
print("It is saved at", texslot.texture.image.filepath)