glTF importer: create only 1 slot by material, if multiple primitive use same material

This commit is contained in:
Julien Duroure 2019-09-26 17:20:50 +02:00
parent 1a4bf2229b
commit 9603664189
2 changed files with 5 additions and 5 deletions

View File

@ -15,7 +15,7 @@
bl_info = {
'name': 'glTF 2.0 format',
'author': 'Julien Duroure, Norbert Nopper, Urs Hanselmann, Moritz Becher, Benjamin Schmithüsen, Jim Eckerlein, and many external contributors',
"version": (0, 9, 76),
"version": (0, 9, 77),
'blender': (2, 81, 6),
'location': 'File > Import-Export',
'description': 'Import-Export as glTF 2.0',

View File

@ -61,9 +61,9 @@ class BlenderMesh():
material = bpy.data.materials[material_name]
try:
material_idx = materials.index(material)
material_idx = materials.index(material.name)
except ValueError:
materials.append(material)
materials.append(material.name)
material_idx = len(materials) - 1
BlenderPrimitive.add_primitive_to_bmesh(gltf, bme, pymesh, prim, material_idx)
@ -72,8 +72,8 @@ class BlenderMesh():
mesh = bpy.data.meshes.new(name)
BlenderMesh.bmesh_to_mesh(gltf, pymesh, bme, mesh)
bme.free()
for material in materials:
mesh.materials.append(material)
for name_material in materials:
mesh.materials.append(bpy.data.materials[name_material])
mesh.update()
pymesh.blender_name = mesh.name