Merge branch 'develop' of github.com:MegaGlest/megaglest-source into develop

This commit is contained in:
titiger 2021-04-16 01:56:16 +02:00
commit 12bd61c218
1 changed files with 13 additions and 12 deletions

View File

@ -398,19 +398,20 @@ def createMesh(filename, header, data, toblender, operator):
# different values in any frame. That could still cause problems.
# Figure out a better solution :p (e.g. moving verts to random
# different positions).
# (We tried putting the verts in a line, to prevent merging.
# This was a problem because there are some verts that need merging.)
header_most_diff = 0 # This is the header we will use to define the mesh.
n_max_diff = 0 # Max number of "different" vertices found in a frame so far.
n_max_diff = 0 # Max number of "different" vertices found in the frame.
for x in range(0, header.framecount):
n_diff_verts = 0 # Current number of "different" vertices.
# Find nubmer of different verts
diff_verts = set()
n_diff_verts = 0
for i in range(0, header.vertexcount * 3, 3):
vert_cmp = data.vertices[x * header.vertexcount * 3 + i:x * header.vertexcount * 3 + i + 3]
vert_diff = True
for j in range(i + 3, header.vertexcount * 3, 3):
if (data.vertices[x * header.vertexcount * 3 + j:x * header.vertexcount * 3 + j + 3] == vert_cmp):
vert_diff = False
break
n_diff_verts += vert_diff
vert = tuple(data.vertices[x * header.vertexcount * 3 + i:x * header.vertexcount * 3 + i + 3])
if (vert not in diff_verts):
n_diff_verts += 1
diff_verts.add(vert)
if n_diff_verts == header.vertexcount:
# if we've found a frame where all the verts are different, we don't need to do anymore searching.
@ -548,7 +549,7 @@ def createMesh(filename, header, data, toblender, operator):
# activate one shapekey per frame
for i in range(0, header.framecount):
shape = mesh.shape_keys.key_blocks[i]
shape = mesh.shape_keys.key_blocks[i+1]
shape.value = 0.0
shape.keyframe_insert("value", frame=i)
shape.value = 1.0