Skip to content

Commit 449356f

Browse files
author
Roberto De Ioris
committed
fixed active bones
1 parent c603afd commit 449356f

File tree

1 file changed

+6
-7
lines changed
  • tutorials/FixingMixamoRootMotionWithPython_Assets

1 file changed

+6
-7
lines changed

tutorials/FixingMixamoRootMotionWithPython_Assets/mixamo.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ def get_updated_bone_index(self, old_skeleton, new_skeleton, old_bone_map, new_b
6868
return len(new_bone_map)-1
6969

7070
def fix_bones_influences(self, mesh, old_skeleton):
71-
required_bones = []
71+
active_bones = []
7272
for section in range(0, mesh.skeletal_mesh_sections_num()):
7373
vertices = mesh.skeletal_mesh_get_soft_vertices(0, section)
7474
ue.log_warning(len(vertices))
@@ -81,8 +81,8 @@ def fix_bones_influences(self, mesh, old_skeleton):
8181
for index, bone_id in enumerate(bone_ids):
8282
if vertex.influence_weights[index] > 0:
8383
bone_ids[index] = self.get_updated_bone_index(old_skeleton, mesh.Skeleton, old_bone_map, new_bone_map, bone_id)
84-
if new_bone_map[bone_ids[index]] not in required_bones:
85-
required_bones.append(new_bone_map[bone_ids[index]])
84+
if new_bone_map[bone_ids[index]] not in active_bones:
85+
active_bones.append(new_bone_map[bone_ids[index]])
8686
vertex.influence_bones = bone_ids
8787
new_vertices.append(vertex)
8888

@@ -92,10 +92,9 @@ def fix_bones_influences(self, mesh, old_skeleton):
9292
mesh.skeletal_mesh_set_bone_map(new_bone_map, 0, section)
9393

9494
# specify which bones are active and required (ensure root is added to required bones)
95-
mesh.skeletal_mesh_set_active_bone_indices(required_bones)
96-
if 0 not in required_bones:
97-
required_bones += [0]
98-
mesh.skeletal_mesh_set_required_bones(required_bones)
95+
mesh.skeletal_mesh_set_active_bone_indices(active_bones)
96+
# mark all the bones as required (eventually you can be more selective)
97+
mesh.skeletal_mesh_set_required_bones(list(range(0, mesh.Skeleton.skeleton_bones_get_num())))
9998

10099
def set_skeleton(self, asset_data):
101100
self.choosen_skeleton = asset_data.get_asset()

0 commit comments

Comments
 (0)