Answered

Unique layered animations for characters sharing re-targeted animations

Anonymous 3 years ago updated by Peter - Soxware Developer 3 years ago 1

Quick question: We have multiple characters sharing the same animations through Humanoid re-targeting.  This works fine for the most part, but not perfectly.  Would your tool allow us to modify each character individually and apply the changes as a layer?

UMotion Version:
Unity Version:

Answer

Answer
Answered

Hi,
thank you very much for your support request.

Yes, lets say you have humanoid animation "Clip1.anim".

  1. Then you would create a umotion project for character A and import "Clip1.anim". Do the changes, then export it as "Clip1_A.anim".
  2. Then you would create a umotion project for character B and import "Clip1.anim". Do the changes, then export it as "Clip1_B.anim". 
  3. And so forth.

Please note, that as Clip1_A and Clip1_B are still humanoid, there can still be little re-targeting artifacts. So if you're aiming for very accurate results, I would duplicate your characters and configure the duplicated ones as generic. Then work through them like this:

  1. Create a humanoid umotion project for humanoid character A and import "HumanoidClip1". Do your adjustments and export the corrected clip to FBX (I recommend configuring the FBX exporter to write the animation into the FBX of your generic character). Your animation then is generic and you can use your generic character at runtime.
  2. Repeat for all other characters.

This also comes with another benefit: You save some CPU performance because the animation re-targeting does not need to be executed at runtime. If you later on decide to switch to humanoid again, just configure your generic character as humanoid. All included animations are then humanoid again.

Please let me know in case you have any follow-up questions.

Best regards,

Peter

Answer
Answered

Hi,
thank you very much for your support request.

Yes, lets say you have humanoid animation "Clip1.anim".

  1. Then you would create a umotion project for character A and import "Clip1.anim". Do the changes, then export it as "Clip1_A.anim".
  2. Then you would create a umotion project for character B and import "Clip1.anim". Do the changes, then export it as "Clip1_B.anim". 
  3. And so forth.

Please note, that as Clip1_A and Clip1_B are still humanoid, there can still be little re-targeting artifacts. So if you're aiming for very accurate results, I would duplicate your characters and configure the duplicated ones as generic. Then work through them like this:

  1. Create a humanoid umotion project for humanoid character A and import "HumanoidClip1". Do your adjustments and export the corrected clip to FBX (I recommend configuring the FBX exporter to write the animation into the FBX of your generic character). Your animation then is generic and you can use your generic character at runtime.
  2. Repeat for all other characters.

This also comes with another benefit: You save some CPU performance because the animation re-targeting does not need to be executed at runtime. If you later on decide to switch to humanoid again, just configure your generic character as humanoid. All included animations are then humanoid again.

Please let me know in case you have any follow-up questions.

Best regards,

Peter