X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;ds=sidebyside;f=blender_export.py;h=16b97645b306d758406b4233c8da3ca9b93e0bc3;hb=ecc4dfbfb3adf91d2dfc03ba0ec9a821fcc2390c;hp=afb0f78c41c3432db71699bcdb87044aa6604ce4;hpb=e36cb7e44611855d39ba84710a7007ca659e9cd5;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/blender_export.py b/blender_export.py index afb0f78..16b9764 100644 --- a/blender_export.py +++ b/blender_export.py @@ -212,16 +212,22 @@ def write_model(name): 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]] @@ -244,10 +250,10 @@ def write_model(name): 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): @@ -256,6 +262,11 @@ def write_model(name): 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 @@ -266,6 +277,8 @@ def write_model(name): 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]