material=createMaterial()
material.setRGBCol([m.diffuse.r, m.diffuse.g, m.diffuse.b])
material.setAlpha(m.diffuse.a)
- material.setHardness(int(m.shinness))
+ material.setSpec(m.shinness*0.1)
material.setSpecCol([m.specular.r, m.specular.g, m.specular.b])
material.setMirCol([m.ambient.r, m.ambient.g, m.ambient.b])
+ material.enableSSS=True if m.flag==1 else False
# set texture
if m.getTexture()!='':
tex_file=re.compile('\*.*.spa$').sub('', m.getTexture())
mesh_face_indices=[]
mesh_face_materials=[]
used_vertices=set()
+
+ def degenerate(i0, i1, i2):
+ return i0==i1 or i1==i2 or i2==i0
+
for material_index in material_order:
face_offset=face_map[material_index]
m=l.materials[material_index]
i0=material_faces[j]
i1=material_faces[j+1]
i2=material_faces[j+2]
- mesh_face_indices.append([i0, i1, i2])
+ triangle=[i0, i1, i2]
+ if degenerate(*triangle):
+ continue
+ mesh_face_indices.append(triangle)
mesh_face_materials.append(material_index)
used_vertices.add(i0)
used_vertices.add(i1)
used_vertices.add(i2)
+
mesh.faces.extend(mesh_face_indices, ignoreDups=True)
- assert(len(mesh.faces)==len(mesh_face_indices))
# face params
used_map={}