Exporting Anim files is very slow in Unity 2021.2 ~ 2022.1.0b8.
I used the original 2020.3.xx Unity editor and upgraded the existing project to 2021.2~2022.1b Unity editor.
The animations I was working on were about 40 frames long, and I was using a rig with a complicated hierarchy.
And after locking unnecessary properties, after importing Animations, I tried to export about 10 Anim files as they are.
Exporting seemed to be done normally until the second Anim, but after that, a message like 'Waiting for script to be executed..?(should've captured..)' appears and the export starts to take a very long time.
And if I downgrade the same project to 2020.3.xx, this exporting issue disappears.
I did a similar test on several similar projects, and exporting was too slow on all [2021.2.8, 2021.2.11, 2022.1.0b8 Unity editor].
I'm not sure if this was an issue that only happened to me and Since I can downgrade the Unity editor anytime so it's not an urgent issue.
However, I think this is an issue worth checking out, so I am writing this report.
Best Regards
Thanks again for reporting this issue and for the time you've spent investigating this. That helped a lot and I really appreciate that.
This issue is fixed in UMotion V1.28p01.
Please let me know in case you have any follow-up questions.
Best regards,
Peter
How to export only animated?
I animate just left hand. When I export animation it exports animation for all items in the clip editor with a start and end time key. How can I export just animated keys?
Hi,
thank you very much for your support request.
Humanoid animation clips always need to be "well-formed". That means a humanoid animation clip always has to define keys for all body parts. Use an avatar mask in your animator controller to mask away other parts of your animation:
When using "generic" or "legacy" as animation type, things would behave like you expected it (only the keyed parts are included in the exported animation).
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Copy IK keyframes between UMotion projects
Hello, Id like to ask you if it is possible to copy keyframes between clips in different project.
Why do I need this - I have 2 Umotion projects, one humnoid and one generic. I have IK setup on both. In theory, it should be possible to copy keyframes between them and then just adjust rest of the animation. However now it seems that when I copy the keyframes and then switch UMotion projects, the copied keyframes are lost and cannot be pasted. Is there any otherway to achieve this, or could it be added as a feature? It would greatly help me as I cannot turn this rig into humanoid and I need to transfer animations from humanoid rig.
Thanks
MVD
Hi,
thank you very much for your support request.
Key frames are addressed using transform paths. An example of a transform path would be: "Root/Hips/Spine0/Spine1/ShoulderL". This path would address a bone/transform named "ShoulderL" that has a parent named "Spine1". If you copy a key frame in one project and try to paste it in another, the transform paths must match in order for the pasting to be successful. Otherwise UMotion cannot know, where the key frames belong to.
What you could try, if you do know a bit about Unity C# scripting is using the UMotion API to craft a tailored solution for your situation:
- In the first step, create a script that loops through the whole animation clip and stores all the world space position/rotation values of the IK handles.
- In a second step, create another script that then writes the previously stored world space position/rotation values to the other model's IK handles. Simply hardcode the names of the IK handles in your script to map them correctly.
Here is some further information regarding the UMotion API: https://www.soxware.com/umotion-manual/UMotionAPI.html
https://forum.unity.com/threads/umotion-animation-editor.490618/page-13#post-7801521
Please let me know in case you have any follow-up questions.
Best regards,
Peter
umotion custom ik 4 legged
hi ive made a spider like thing following this great tutorial https://www.youtube.com/watch?v=imbIsNAvUpMi am now trying to get it to work in unity ive removed all the emptys and am trying to get the ik to work in umotion could you give me some pointers how to achieve this i was getting some where but the legs where twisted now the bones are not in the legs
Hi Robin,
thank you very much for your support request.
Have you watched the IK video tutorial (at 2:36 of the video tutorial, the manual IK setup is shown which is necessary in your case)?
Here is the related page in the manual: https://www.soxware.com/umotion-manual/InverseKinematics.html
I recommend trying to setup IK for one leg, and if that works repeat the process for the other legs.
Please let me know in case you need further assistance.
Best regards,
Peter
Bones and Rigging
Hello, i would just like to asked when making the animation from scratch, do i need to add the bones first with a 3d modelling app? Or does the asset provide this?
Hi,
thank you very much for your support request.
hi you need to rig first
That's correct, rigging and skinning needs to be done in an external 3D modeling application. You could also try using mixamo.com, a free online service that automatically rigs and skins human like characters.
Please let me know in case you have any follow-up questions.
Best regards,
Peter
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
Customer support service by UserEcho