Maya to OSim transfer issues - OpenSim 4.2
Posted: Fri Oct 15, 2021 10:10 am
Hi everyone!
I currently have two skeletal models in Maya that have different joint location and rotation information, but have been positioned into identical skeletal poses. I have converted these models to joint files so they can be opened in OSim for analysis and manipulated in the "coordinates" window to achieve the identical skeletal poses.
One of the models (the standard/original model) is put into the target pose by zero-ing out the joints in the "coordinates" window.
The second, experimental, model can only achieve the target pose by transferring translation and rotation joint values from Maya into the OSim "coordinates" window.
The issue is that, for the experimental model, the values from Maya are not resulting in the target pose as expected. There is a minor "offset" of about a centimeter between the geometry of the two models, which should be in identical positions, as they are in Maya. The rotations of the joints/geometry appear to be correct; it's the translations that appear to be offset. I've attached an image of the problem. The purple skeleton is the experimental model and the gray skeleton is the standard/original model. The values given to the hip joint should result in the purple femur being in the same position as the gray one, but you can see there is a small "offset". In contrast, the pelves between the two models are overlapped well, as in Maya (this was done manually to account for the offset when importing two models into OSim).
The two models are using identical geometry files. I have confirmed the axes and coordinate systems are congruent between Maya and OSim. My rotation order of the joints is the same between the two models. The scaling has been accounted for between Maya and OSim. I have removed the display offset between the two models in OSim so that the models are on top of each other instead of side-by-side. I am using 8 decimal places of precision for the values I'm transferring.
Are there any other troubleshooting ideas I'm forgetting? Is there a difference between the two programs I need to account for that I'm missing?
Any help or thoughts would be much appreciated! Thank you!
I currently have two skeletal models in Maya that have different joint location and rotation information, but have been positioned into identical skeletal poses. I have converted these models to joint files so they can be opened in OSim for analysis and manipulated in the "coordinates" window to achieve the identical skeletal poses.
One of the models (the standard/original model) is put into the target pose by zero-ing out the joints in the "coordinates" window.
The second, experimental, model can only achieve the target pose by transferring translation and rotation joint values from Maya into the OSim "coordinates" window.
The issue is that, for the experimental model, the values from Maya are not resulting in the target pose as expected. There is a minor "offset" of about a centimeter between the geometry of the two models, which should be in identical positions, as they are in Maya. The rotations of the joints/geometry appear to be correct; it's the translations that appear to be offset. I've attached an image of the problem. The purple skeleton is the experimental model and the gray skeleton is the standard/original model. The values given to the hip joint should result in the purple femur being in the same position as the gray one, but you can see there is a small "offset". In contrast, the pelves between the two models are overlapped well, as in Maya (this was done manually to account for the offset when importing two models into OSim).
The two models are using identical geometry files. I have confirmed the axes and coordinate systems are congruent between Maya and OSim. My rotation order of the joints is the same between the two models. The scaling has been accounted for between Maya and OSim. I have removed the display offset between the two models in OSim so that the models are on top of each other instead of side-by-side. I am using 8 decimal places of precision for the values I'm transferring.
Are there any other troubleshooting ideas I'm forgetting? Is there a difference between the two programs I need to account for that I'm missing?
Any help or thoughts would be much appreciated! Thank you!