
Humanoid to generic rotates 180 degrees
Hello Peter,
When I convert humanoid to generic animations by duplicating the character and importing into generic project, it works but the animation is rotated 180 degrees around the Y axis. See video - Screen Recording 1 31 2022 at 12 24 42 PM.mp4. Do you know what could be causing this?
Also, If I include the face morphs in the both generic and humanoid projects it comes up with the following error. Is there a way to get the face morphs into the generic project and still import the humanoid animations? I have tried importing the face morphs into the generic file and then importing the humanoid without the morph's but this doesn't work. I don't have any facial animations as yet but would like to do them in the generic project once I sort everything out if possible.

Hi,
thank you very much for your support request.
When I convert humanoid to generic animations by duplicating the character and importing into generic project, it works but the animation is rotated 180 degrees around the Y axis. See video - Screen Recording 1 31 2022 at 12 24 42 PM.mp4. Do you know what could be causing this?
Please compare the two UMotion projects with a version of your character not being assigned to the Unity timeline. So that we know if this issue is related to Unity timeline or not.
Are you sure you haven't added a custom 180° rotation to any of the root/hips bones (e.g. on the humanoid character but not on the generic version of it)? Outside of UMotion using Unity's regular inspector window, please compare the rotation values of your generic and humanoid character by starting from the hips bone and then continuing upwards in the hierarchy for each parent bone until you reach the root transform. Are there any rotation differences?
Btw. you can workaround this issue by adding a 180° rotation offset as an additive animation layer in your generic project.
Also, If I include the face morphs in the both generic and humanoid projects it comes up with the following error.
Blend shapes are added to a UMotion project by using "Custom Property Constraints". They can be added to any bone/transform in the UMotion project. If you copy an animation from one UMotion project to the other, you need to ensure that the custom property constraints are setup exactly the same way.
I think the reason why the message prints two empty quotes ("The constraints of "" are ...") is because it's indicating that there is a difference on the root transform. Please check if that is the case by going into config mode and compare the constraints window of the root transform between both your UMotion projects.
Best regards,
Peter

Bones not moving GameObject
I have been trying to get animation to work in my Unity project using UMotion but I have been unsuccessful. My GameObject(.blend) with armature is imported from Blender and I auto-configure the bones which all are green, as seen below.
I'm not sure if the T-Pose being offset has something to do with the issue or not.
When selecting the GameObject to animate the bones sit correctly on the GameObject.
When moving the bones, both IK and FK, nothing seems to move on the GameObject.
I have no issues in the console and I have the Rig's Animation Type set to Humanoid and Import Animation is checked. I have tried importing the blender model as a .fbx which proved to be even worse as the GameObject would not even appear. I have tried Generic Animation Type as well which also did not work.
Any help or guidance would be greatly appreciated :)

Hi,
thank you very much for your support request.
Please try the following:
- Open the avatar editor like in your first screenshot.
- Click on "Muscles & Settings" (located at the top of the inspector)
- Manipulate a few of the muscle sliders. Does the model follow the bones correctly?
If not, then your bones vertex weights (aka "skinning") is missing in Unity (lost during import). Is the skinning working in Blender (does the mesh follow the bones in Blender)?
Btw. a cool alternative to manually creating the rig and skinning is to use the free online service https://www.mixamo.com/.
Best regards,
Peter

scrollable animation list?
Hello!
Is it possible to change the way the animation list is? For example, having a scrollable list, instead of a dropdown. filtering by word would be insanely useful too
As my project evolves, animations lists in motion projects are getting huge, and I find myself having to spend ages in the animation menu to reach the animation I want
Thanks!

Hi,
thank you very much for your support request.
The official recommend way to address this issue is to organizing your animations into multiple UMotion projects (e.g. one UMotion project that contains all different movement related animations, one that contains all attack animations, etc.). This not only circumvents the issue with the huge animation list, it also improves the editing performance a bit as it shrinkens the overall UMotion project file size.
Btw. the new UMotion API does expose all the functionality that you would need in case you want to create yourself a custom tailored clip selection window. Here are some related links:
https://forum.unity.com/threads/umotion-animation-editor.490618/page-13#post-7801521
https://www.soxware.com/umotion-manual/UMotionAPI.html
PS: Your UMotion version is already a bit dated. I recommend updating to the latest one from the asset store to benefit from all the stability improvements, bug fixes and new features of the latest updates. Here you can find a comprehensive list of all changes: https://www.soxware.com/umotion-manual/ReleaseNotes.html
Please let me know in case you have any follow-up questions.
Best regards,
Peter

Highlight selected layer
Hello. I'm using Umotion as an alternative to Unity's ugly default animation window. You have done a gigantic job, for which I thank you very much. All that is missing in the project now is highlighting the selected layer (Blue lines in right side of window). When there are a lot of layers and the animation is 10 - 20 seconds, it would help a lot. Thanks!

Hi,
thank you very much for your support request and for your nice words. That means a lot to me.
I've took a note on my "ideas for the future" list and am going to consider implementing this in a future update.
Don't hesitate to contact me in case you have any other ideas/questions. I would be happy to hear them.
Best regards,
Peter

Copy & paste global position & rotation for all keyframes
I'm trying to override this animation with another animation just above hip bone.
So I made an override layer and removed all leg keyframes. so far so good.
When I remove hip bone keyframes from the override layer, the spine bone's global rotation chages and I want them to stay.
I can work around this by copying global position using the rotation tool for every keyframe.
Is there a way to copy global rotations for all keyframes of selected properties?
I've tried using IK and child-of for spines but it doesn't seem to work on spines.
Either keeping spine bone in global position or being able to copy all global rotation would work for me.
Loving the tool so far, thanks in advance.

Hi,
thank you very much for your support request.
When I remove hip bone keyframes from the override layer, the spine bone's global rotation chages and I want them to stay.
Please help me better understanding the issue: If you want to keep the hip bones rotation, why do you delete the related key frames?
If you want to use the hips rotation of the "overriding" animation and want to offset it to better match the underlying animation, you could add an additive animation layer with a rotation offset applied to the hips on top of the override layer.
I can work around this by copying global position using the rotation tool for every keyframe.
Is there a way to copy global rotations for all keyframes of selected properties?
There is no built in way to do this, but if you know a little bit about scripting in Unity, maybe the UMotion API might be helpful:
https://forum.unity.com/threads/umotion-animation-editor.490618/page-13#post-7801521
https://www.soxware.com/umotion-manual/UMotionAPI.html
Please let me know in case you have any follow-up questions.
Best regards,
Peter

Hi,
thank you very much for your support request.
This error message means that the FBX SDK is not able to load the destination fbx file. Here are a few reasons that come to my mind:
- Is the file path / file name correct? Please double check by clicking on the "..." button again (in the settings window) and re-select the fbx file.
- Maybe the file is locked by the operating system / by another application. Try to re-start your operating system.
- Maybe the file is corrupted and can thus not be read by the FBX SDK.
- Maybe the file uses an FBX version not supported by the FBX SDK. Version 2006.02 is the lowest version supported by UMotion, Version 2020 is the latest version supported. I'm not completely sure if the FBX SDK is forwards compatible to newer versions or not. Please let me know if that is the reason.
Best regards,
Peter

Looking for a way to offset position of multiple keys
Hi,
I need to offset hand positions of multiple keys (ex. handIK +0.1 of global x position from frame 10~20).
I can do this by clicking every key and clicking the property, typing the value in the Move Tool and repeat.
This taking a long time (I have multiple animations I need to offset) and I feel like there's got to be a way to automate this.
Is there any way to apply offset to multiple keys?

Hi,
thank you very much for your support request.
Yes, what you're looking for is called an "additive layer".
In this video tutorial, an additive animation layer is used to correct the hand IK targets (relevant part starts at 1:54):
The manual page explaining the layers UI: https://www.soxware.com/umotion-manual/Layers.html
Please let me know in case you have any follow-up questions.
Best regards,
Peter

Missing animations in Clip editor
Hi,
So I opened my project to continue working on a character and then I noticed that 2 of my animations are empty, even though I finished them the previous day. I tried the backup files but no luck. Any ideas what could have happened and where things went wrong?

Hi,
thank you very much for your support request.
Have you forcefully closed Unity or shutdown your PC without closing and saving in Unity first? Or maybe clicked "no" when Unity asked you to save your changes when you closed Unity? In these cases, changes in the UMotion project file (*.asset) are not written to disk by Unity and are thus not saved.
The backup files are a 1:1 copy of the current UMotion project state created at the time interval set in the UMotion preferences. If your animation existed at the time a backup was created, it should also be in the backup. What exactly happens when you try to load the backup file?
If you want you can send me your project file (and maybe also the backup files) via the email support form and I can take a quick look.
Best regards,
Peter

Transfer objects between rigs
I have two rigs, and I want Human 1 to give Human 2 an object. Now that object is a child of Human 1, how can I transfer it to Human 2, so it can have a parent from Human 2?

Hi,
thank you very much for your support request.
If you want to do this in one single animation without any scripting, the only option is to make both characters "generic". Add them below one parent empty GameObject and add an animator to that GameObject. Then you can control both characters and the holding object from a single animation. This would be a good approach if you need this in a cut-scene, but wouldn't be suitable for an in-game mechanic.
If this is not an option for you, then things get a bit more complicated. This would require a mix of scripting and pre-made animations maybe even runtime IK on top of it:
- You create a "giving object" animation and a "receiving object" animation in UMotion (just the arm movement).
- Now create a script that plays the "giving object" animation on human A and the "receiving object" animation on human B at the same time.
Use UMotion to place an animation event in the "giving object" animation that calls a scrit method in the right moment that uses transform.SetParent() to change the parent of the item from human A's hand to human B's hand. This would teleport the item from one human to the other. - If you want a complex but more realistic behavior, where the hands actually meet no matter how the humans stand relative to each other, you would need to use runtime IK (e.g. Unity's animation rigging or FinalIK from the asset store). Unless this is THE core mechanic in your game, I wouldn't go so far though.
Please let me know in case you have any follow-up questions.
Best regards,
Peter

I see that the new API also works for IK handles, but how do we know if we have a bone selected or an IK handle?
I see that the new API also works for IK handles, but how do we know if we have a bone selected or an IK handle?
Customer support service by UserEcho