-
Notifications
You must be signed in to change notification settings - Fork 39
Description
I wish to use SKEL to generate a skin mesh with a given pose of BSM. I worked under the assumption that the pose parameters of SKEL match the coordinates of BSM, albeit in a slightly different order, as defined in https://github.com/MarilynKeller/SKEL/blob/master/skel/kin_skel.py#L29
For instance, when trying to set the skin mesh arms to the default pose of BSM (the default pose of SKEL is T-pose while the default pose of BSM has arms pointing roughly 45 degrees downwards compared to the T-pose), I set the pose parameters as follows, with values for scapula abduction/elevation/upward rotation taken from the default values of the BSM .osim file:
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1.31156113764349197 # line 27 corresponding to scapula_abduction_r at index 26, because indices start from 0
-0.050497870894562202
0.20820491154386678
0
0
0
0
0
0
0
-1.31156113764349197
-0.050497870894562202
0.20820491154386678
0
0
0
0
0
0
0
With these pose parameters, I expected the skin mesh of SKEL to be in a similar pose to the default pose of BSM, with arms to the side but pointing slightly downwards from the T-pose. However, I get this as a result:

I thought that the joint coordinate axes of SKEL and BSM were aligned similarly. If so, I don't understand why the arms of the SKEL skin mesh point in the wrong directions (and also in different directions between left and right side) when given pose values from BSM.
Can you give me any guidance so I can generate SKEL skin meshes that are posed according to the default pose of BSM properly?
As a workaround I'm planning to extract the global translations of joints of the BSM model using the OpenSim API and then adapting https://github.com/MarilynKeller/SKEL/blob/master/examples/fit2joints.py to fit SKEL to those joints, but I feel there must be an easier solution I'm missing.