You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: tutorials/FixingMixamoRootMotionWithPython.md
+45Lines changed: 45 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -144,6 +144,51 @@ Double click on the skeleton to open its editor and you should see the new bone
144
144
145
145
## Step 3: fixing skeletal mesh bone influences
146
146
147
+
In the last screenshot we have seen a broken deformation. What happened to our vampire ?
148
+
149
+
Each skeletal mesh LOD has a series of 'soft skin vertices' mapped to it. Each vertex data structure contains the classic position, tangents (included normals) and uvs values, as well as 2 additional fields for storing up to 8 'bone influences'. A bone influence is composed by a bone index (note: not the same index of the skeleton, see below) and a bone weight. Weight define how much the bone deforms the vertex.
150
+
151
+
Changing the bone hierarchy (remember, we have added the 'root' bone), resulted in different bone indices, so each vertex is potentially pointing to the wrong bone.
152
+
153
+
In addition to this, soft skin vertices do not use the skeleton hierarchy, but point to an additional map (the BoneMap) that contains a simple array of the used bones.
154
+
155
+
A BoneMap looks like this:
156
+
157
+
```python
158
+
[17, 22, 26, 30]
159
+
```
160
+
161
+
so index 0 means bone 17, index 1 means bone 22 and so on. This additional mapping is for performance reasons, but we need to deal with it.
162
+
163
+
To retrieve the BoneMap of a skeletal mesh you can use:
0 commit comments