Animation that has been retargeted has animation on channels that are locked. Both the arms and legs have the limits locked on X and Y but do get animation when retargeted.
Steps to Reproduce
Bring in an animation pack from FAB. Retarget an animation to Manny using an auto generated retarget setup. Retargeted animation will have animation on all the channels even tho 2 of them are locked.
IK target is here
/Game/TestRetarget/IK_AutoGeneratedTarget.IK_AutoGeneratedTarget
Retargeted animation is here
/Game/TestRetarget/Retargetted/RET_08_AA_sit_audience_cheer_08.RET_08_AA_sit_audience_cheer_08
If you load the animation and select lowerarm_l you will see animation on all 3 channels even tho X and Y are locked in the IK retarget rig.
This is highly dependent on several factors, but if we use the reproduction case as an example, this is happening because the autogenerated code does not use the IK op and only the FK op. The FK op is highly dependent on the retarget pose being matched to produce axis aligned poses. In the case of the example you gave, if you adjust the retarget pose to use global rotation axis instead of direction, the output from the retarget will have the axis locked. This adjusts the base pose to a much higher degree, though, and you may be off model.
Ultimately, the autoretarget is a good first pass, but if you are not getting desirable results, you’ll want to export and open the retarget asset and start to change the available operations and settings.
Dustin
Got it, after turning on the IK op should it export animation with locked channels on the IK chains? I did test that also but just forgot to include that info in the original post. After turning on the IK op it still has animation on all channels and is not locked.
Setting global rotation axis for the FK retarget does fix the animation on other channels.
Got it, after turning on the IK op should it export animation with locked channels on the IK chains?
In this example, not necessarily. The issue is that the FK chain o is modifying the pose and introducing rotation as it attempts to match the pose between your source and target. This will introduce some nonsensical-looking rotations into the data. If locked elbows, ie: rotation data is 0,0 in x and y like a hinge, is really important to you, then you would want to start there and tune your default pose and chains to be as close as possible before retargetting. Ultimately, that is the crux of the issue. If you want to lock the feet or hands to other positions after, you can use the IK op to do further adjustments, knowing that the hinge on the elbows will work correctly.
I will say this. Retargeting is not an automatic activity; it is often massaging data and properties on your ops between varying degrees of differences in your base poses and animation data.
Dustin
Thank you for the quick reply. Yes, it is important that elbows and knees have clean 1 channel animation on them if you want good deformations. I am a little surprised that running the IK op does not clean that up. When doing retargeting in maya, using the IK chains is to make sure the data on those joints is clean.
I totally get that its not an automatic process, I just thought it would be faster and easier to do it in engine with the newer retargeting system.
For now I’m going to go back to automating it in Maya as I can setup a full pipeline and get clean data out the other side.
Understood. As you think about the operations, they modify the pose in order from top to bottom. In this case, the FK Chain op introduces the bad rotation, and the IK op cannot unwind it; instead, it can only adjust the pose further. I would recommend trying the alternate default pose solution and see if you get a cleaner retarget as well. The global rotation axis pose will bring your target mesh closer to the default pose, and you can probably avoid the issue altogether.
Dustin
Thank you for your time