Merge branch 'develop' of github.com:MegaGlest/megaglest-source into develop
This commit is contained in:
commit
12bd61c218
|
@ -398,20 +398,21 @@ 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.
|
||||
header_most_diff = x
|
||||
|
@ -423,12 +424,12 @@ def createMesh(filename, header, data, toblender, operator):
|
|||
# the previous match, this frame is the new max.
|
||||
n_max_diff = n_diff_verts
|
||||
header_most_diff = x
|
||||
|
||||
|
||||
# Get the Vertices and Normals into empty Mesh
|
||||
for x in range(0, header.vertexcount * 3, 3):
|
||||
vertsCO.append(tuple(data.vertices[header_most_diff*header.vertexcount*3+x:header_most_diff*header.vertexcount*3+x+3]))
|
||||
vertsNormal.extend([(data.normals[x], data.normals[x + 1],
|
||||
data.normals[x + 2])])
|
||||
data.normals[x + 2])])
|
||||
|
||||
faces = []
|
||||
faceuv = []
|
||||
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue