for j in range(3):
vert = data.vertices[tri.vertices[j]]
+ li = tri.loops[j]
co = vert.co
- norm = data.loops[tri.loops[j]].normal
+ norm = data.loops[li].normal
uv = (0,0)
+ colour = (1,1,1,1)
if data.uv_layers:
- uv = data.uv_layers.active.data[tri.loops[j]].uv
+ uv = data.uv_layers.active.data[li].uv
+ if data.vertex_colors:
+ colour = data.vertex_colors.active.data[li].color
key = (round(co[0],4),round(co[1],4),round(co[2],4),\
round(norm[0],4),round(norm[1],4),round(norm[2],4),\
- round(uv[0],4),round(uv[1],4))
+ round(uv[0],4),round(uv[1],4),\
+ round(colour[0],4),round(colour[1],4),\
+ round(colour[2],4),round(colour[3],4))
if key in boffa:
indice_buffer += [boffa[key]]
v.norm[2] = -norm[1]
v.uv[0] = uv[0]
v.uv[1] = uv[1]
- v.colour[0] = 1.0
- v.colour[1] = 1.0
- v.colour[2] = 1.0
- v.colour[3] = 1.0
+ v.colour[0] = colour[0]
+ v.colour[1] = colour[1]
+ v.colour[2] = colour[2]
+ v.colour[3] = colour[3]
vertex_buffer += [v]
for i in range(3):
sm.indice_count += 1
+ if sm.vertex_count == 0:
+ for j in range(2):
+ for i in range(3):
+ sm.bbx[j][i] = 0
+
layers += [sm]
header.layer_count += 1
header.vertex_count += sm.vertex_count
mref['vertex_start'] = sm.vertex_start
mref['vertex_count'] = sm.vertex_count
mref['bbx'] = sm.bbx
+ print( F"{sm.bbx[0][0]},{sm.bbx[0][1]},{sm.bbx[0][2]}" )
+
mref['material'] = sm.material
ref['sm'] += [mref]