"Root Motion Node" setting supported by Unity, not by UMotion?
Hi,
we have several animations where the artist authored the root motion as the movement of a specific transform, setup as the parent of the entire rig. This lets us define arbitrary position/rotation for the model (including its hips node), but have independant control of the actual gameobject's transform. This capability is essential for our control scheme, as it allows for example a spinning animation while keeping the object's forward direction constant, which is in turn used to interpret and move the player avatar.
The way this works in Unity is by specifying the "Root Motion Node" parameter of the Animation importer to the transform manipulated by our artist. Unity will correctly generate root motion curves from this transform.
We've recently decided to by UMotion so other team members can make small corrections to the anims without burdening the artist. But I can't find any way to replicate this behaviour? The manual says that humanoid rigs are constrained to generating root motion from the hips, which fits with the behaviour I'm seeing from the UMotion clip editor. However, it says that this is a limitation caused by the Unity engine, which seems false - unless I've very badly misunderstood what we've been doing all this time, or it's a feature that's been removed in later versions (we're frozen on 2019.1.8f1).
Here are two screenshots for our current setup:
- rig: http://u.cubeupload.com/tiktiktock/RootMotionRig.png
- importer: http://u.cubeupload.com/tiktiktock/RootMotionSettings.png
How can we keep/edit our root motion curves when using UMotion? This is completely negating the benefits we expected from its integration into our workflow. Is there something obvious we missed that would resolve this?
[EDIT] Forgot to mention, this is of course for a Humanoid rig. Converting to a Generic rig would bring its own set of problems, especially as we use Unity's retargeting via avatars quite heavily.
Hi,
thank you very much for your support request.
This is indeed a limitation of the current way how UMotion allows you to author root motion for humanoid characters.
Here is a different workflow that might work for you:
- A more direct way to edit your animation is to temporarily changing it to generic (just for the purpose of editing). You could even duplicate the *.fbx and set the duplicated version to generic. That way you don't loose your humanoid import settings.
- (Optional) If the fbx does not include the character's mesh, you also need to duplicate the character's fbx and set that one to generic too.
- Now you can use a generic UMotion project to edit all transforms as you wish.
- Once you're done, export your changes back into the animation's source (humanoid) fbx file (set "Write Mode" to "Update Existing File" in the UMotion export settings).
This is the most direct way you can edit animations in UMotion (the humanoid workflow always has 2 re-targeting steps in between).
Please let me know if this works for you.
Best regards,
Peter
Export only Range of Animation Clip
Dear Peter,
first of all: I just LOVE UMotion - it's incredibly valuable for my VR workflow!
Now I'd like to only export a certain range of an Animation Clip. How would I go about this?
Thanks in advance and have a good day,
Felix from Berlin
Hi,
thank you very much for your support request and for your nice words.
You can use the crop tool, to extract only the desired part of your animation clip:
The export feature is always exporting the animation clip in it's current length (it's not possible to let the exporter export only a part of an animation clip). However, if you export to *.fbx, you can use Unity's animation import settings (shown in the Inspector) to define multiple animation clips with different start/end frames (thus split a longer animation into several smaller ones). Please check out the FAQ in the manual when using the FBX export feature, there are some common pitfalls.
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Warning on clip import: Hand IK curves not found. Hand IK not applied.
The IK setup gave no errors or warning prior to importing a clip. What is the fix for this?
Hi,
thank you very much for your support request.
This only means that the animation you are trying to import has no "Humanoid Animator Hand IK" curves. This has nothing to do with the IK you've setup in UMotion. Instead, the IK mentioned in this warning is part of Unity's animation re-targeting system known as "humanoid". For more information about this humanoid IK feature, check out the following blog post (headline "Original hands and feet position"): https://blogs.unity3d.com/2014/05/26/mecanim-humanoids/
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Editing the hierachy of a GameObject
I get the following error.
Editing the hierachy of a GameObject that is currently used as UMotion preview object is not allowed. The GameObject is going to be removed as UMotion preview Object.
https://i.imgur.com/puy04Dm.png
When trying to add my player prefab from the scene to the PoseEditor.
Do you have any idea what might be causing this?
Hi,
thank you very much for your support request.
I guess you've created a prefab of your player character while it was assigned to UMotion. That means that the prefab still has the "UMotion Lock" component in it.
To fix this, either open the prefab and remove the "UMotion Lock" component manually.
Or if you have the prefab in your scene, click on "Clear" in the pose editor and then save all current changes of the prefab instance to the prefab (UMotion removed the component automatically for you in that case).
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Humanoid hip bone break when i create the configuration rig
Hey! Thank you for your time. I hope you can help me with this problem. The problem is that when i create the Umotion Humanoid project and then select the model and create configuration the hips break like that. In the avatar tab the model works find and i imported to mixamo too and it works fine too.
Bug when importing animation clip
Hey guys, I do enjoy Umotion but a bug i keep coming across using Umotion Pro in 2019.4Final is that sometimes if it doesn't like a clip import, it just removes it from your project altogether lol. Any ideas?
Animationclip selection window could be way handier
I am talking about the window that pops up when you click the name of your current Animation clip, when you want to switch to another one.
When I am working with a big project with say 80+ animations the list gets very long and unhandy. When I have to do a pass on all of the clips to add animation events for example or just change a small thing in every animation the process of switching to the right clip is very slow.
I think part of the reason is that this window doesn't have a scroll bar and the scroll wheel also doesn't work for me (at least on windows, on mac the scroll seems to work). The only way to scroll further down is to click down on the tiny arrow and the list slowly advances. When working down a long list from top to bottom this process becomes even slower because when opening the window the list doesn't focus on the currently open animation clip but always goes back to the top.
So a reliable way to scroll with the scroll wheel and a scroll bar plus remembering the last selected position in the list would be a great improvement for larger projects I think. I hope I explained it well enough!
Keep up the great work and thank you for this plugin!
Hi,
thank you very much for sharing your thoughts. I really appreciate that.
The list is an OS dependent implementation made by Unity. Thus I don't have access to modify/improve the list's functionality like you requested (it's implemented in the C++ part of Unity). I could implement my own window with custom GUI instead, but that requires quite some effort (and might come in a future update but no ETA yet).
What you can do as a workaround is to split your single project into multiple smaller projects (e.g. á 20 clips per project). That is also improving editing performance a bit (depending on the size of your animation clips). You can do this by duplicating your project file several times and then remove the animations you don't want to have in that "sub project". Group them in a meaningful way (e.g. all walking variations in one project, all shooting animations in another,...).
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Animation Driver And Locking Rotation
Hi there! As a blender user, I love the possibilites of UMotion. I do have a few questions
1) How would I use Custom Properties to control the blend shapes of a mesh
2) Is there a way to lock the rotation of my character's head so that way, no matter how much the spine is rotated, it keep facing the direction it's looking at?
Hi Dai,
thank you very much for your support request and for your nice words.
1) How would I use Custom Properties to control the blend shapes of a mesh
If you assign a model that has blend shapes to UMotion for the first time, UMotion is going to ask you if you want it to automatically generate the custom properties for the blend shapes for you:
Of course you can also do this manually. Just create a custom property constraint on any bone/transform you like. Then set it to "Component Property" mode, select the GameObject that contains the (skinned) mesh renderer component. Then select the blend shape property:
Constrain the input if desired:
2) Is there a way to lock the rotation of my character's head so that way, no matter how much the spine is rotated, it keep facing the direction it's looking at?
There is no built in "Look-At" constraint, but you can extend UMotion with your own. By using UMotion's callback system, you can let UMotion execute your custom scripts every time UMotion samples a new pose for your character. Please check out the manual at "Pose Editor / Options / Extending UMotion".
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Parenting to root doesn't match tutorial.
I'm following the tutorial at
However even though my custom IK handle is parented to the root object it still moves with the body.
What am I missing?
Hi,
sorry for overseeing your attached video in the first place. That explains your situation very well.
When you're using the IK setup wizard for setting up IK, it automatically set's it up with respect to IK pinning. That means the IK targets by default move with the rig, if you then select the IK target and enable the "IK Pinned" checkbox in the "Channels" view, the IK target is pinned to world space:
If you setup your IK targets manually and you want them to always be world locked, you shouldn't have chosen "Root" as parent bone (which is counter intuitively the bone used as "hips" in the robot kyle humanoid setup). As of instead you need to choose "Robot Kyle" which really is the root of the character (you need to remove the Child-Of constraint/disable IK Pinning before doing this).
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Tutorial on setting up non-humanoid IK?
I've been using UMotion Pro without any issues with a humanoid character and IK. However, I've got a flying robot that has humanoid-like arms that I want to animate with IK, but I'm having trouble getting this setup in UMotion. It seems that all of the tutorials relating to IK are for humanoids. Is there any tutorial/information on setting up a non-humanoid?
Hi,
thank you very much for your support request.
You can setup the IK constraints manually (the "IK setup wizard" is a shortcut for setting up humanoid IK). How to setup the IK constraint manually is covered in the second part of the IK video tutorial (starting at 2:36). While demonstrated on a humanoid character, the workflow is the same for non-humanoid characters.
Let me know in case you get stuck, I'm happy to assist you.
PS: I highly recommend that you only use 2 bones in your IK chain (the upper arm and the lower arm). This gives you max. artistic control over the IK bone chain.
Best regards,
Peter
Customer support service by UserEcho