Animation transitions causing bones to reposition incorrectly
https://media.giphy.com/media/I5CiclpNDvAEb7IlIs/giphy.gif
I've been having an issue where my animations don't transition properly. In the above GIF if you look at the Left hand on the rifle's forearm when moving between the Idle_Hip animation to the ADS animation it doesn't keep its position. For the IK_Hand_L I have disabled IK pinning to show the parent field for the transform and I have made the parent the rifle. It works as intended in just the Idle_Hip animation and the ADS animation, but when transitioning between the 2 it causes the hand to not stay on the rifle. What am I doing wrong here?
Hi,
thank you very much for your support request.
Please note that UMotion bakes the results of the IK calculation into the final animation. That means that no IK code is executed anymore while Unity plays the animation. So when you are transitioning from one animation to another, what Unity does is it smoothly fades / interpolates all bone's FK rotation values from the current animation to the new animation. During that transition, it is not guaranteed that your hand stays exactly at the same spot relative to the firearm because the interpolation of all the left arm rotation values and those of the right arm won't mathematically generate results that keep the offset relative to each other equal. This results in your hand moving slightly relative to the firearm.
In other words, either keep the transition time really small to hide that effect or use a runtime IK algorithm that is active even while a transition is happening.
I hope I was able to explain this in a meaningful way, it's a bit complex to describe this effect. Let me know in case you have any follow-up questions.
Best regards,
Peter
I would like to see changes in the 3d model to be reflected when a new BlendShape is added.
I am currently using u motion pro to create facial animation of a Humanoid character, but when I add a new blendshape, the blendshape I added does not appear in the Pose Editor of U Motion Pro.
Is it possible to make the newly added blendshape be reflected?
Hi,
thank you very much for your support request.
You need to manually add a custom property constraint for your newly added blend shape:
- Switch into config mode.
- Select the bone/transform where your other blend shapes have been added by UMotion.
- Open the "Constraints" tab and add a new Custom Property constraint.
- Take a look at how the existing blend shape's custom property constraints are set-up and do the same for your new one.
There is currently no automated way to add new blend shapes to an existing UMotion project.
Please let me know in case you have any follow-up questions.
Best regards,
Peter
move all keys
Is it possitble to move positions of all selected keys at same time? For exmaple, i have animation for 1st person view and i want to make it for 3d person view, what all i need to do is to drop all positions down for some distance, can i do it not one by one and not key by key?
Hi,
thank you very much for your support request.
An additive layer can be used to add an offset on top of existing key frames. In the beginning of this video tutorial, a rotation offset is applied that way (the principle works the same for offsetting positions):
https://www.soxware.com/umotion-manual/InPractice2.html
Another method would be to offset all position keys inside the curves view.
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Unable to select bones in scene view
U Motion: 1.29
Unity: 2021 3.14 f1
Bug description: Unable to select bones in scene view. Can only selcet bone in Clip Editor.
How to set export settings via script
I have UMotion Pro and need to export many animations with some modifications, the workflow I'm hoping for is:
Via script:
1. import a clip
2. change export settings to reference a different output FBX file
3. (some pose work)
4. export the clip
I know #4 (export) is possible with the API, but how do I do #1 and #2?
Much thanks!
Hi,
thank you very much for your support request.
Unfortunately there is currently no way to access the export settings via the UMotion API. Some hacky workaround would be to close the UMotion project file, call AssetDatabase.SaveAssets() to ensure all changes are serialized to disc, then directly modify the settings in the UMotion project file via default .Net file IO, reload with AssetDatabase.Reload() and then open the UMotion project file again via UMotion API.
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Click and drag keyframe not working
I've saved a "Umotion" layout in Unity for animation editing purposes. I've noticed that I cannot click and drag keys to different frames when I load the layout. To fix this, I always have to close out the Clip Editor window, reopen it and reload the project. It doesn't work just by reloading a project, the Clip Editor window has to be closed out and reopened.
Add a shortcut to close the current project and load the last closed project
Would it be possible to implement a shortcut that can close the current project?
And a shortcut to load the most recent closed project
Hi Richard,
thank you very much for your feature request.
I've added this to my to-do list for the next update. If you know a little bit about Unity C# scripting, you can already implement something like this yourself using the UMotion API. Just write a script that triggers ClipEditor.CloseProject() or ClipEditor.LoadProject() when a Unity "[MenuItem()]" is triggered by the shortcut you've assigned to "[MenuItem()]".
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Is there no way to convert a humanoid animation to a generic with a custom rig/hierarchy?
I have a custom rig. in Unity I can import it as humanoid, configure the avatar and have humanoid animations work. So I know the animation can work on the rig.
However, if I import the custom rig as generic and convert a humanoid animation to generic, it won't work because the bone hierarchy is doesn't match. If I modify the generic animation paths to match my custom rig, it animates, but is all distorted.
What are the issues preventing this from being possible? If Unity can map this custom rig to humanoid and play humanoid animations on it, then why can't it go the other way? I'm assuming it has something to do with the muscle/twist bones? Is there no way to configure a generic avatar?
Thanks
Hi,
thank you very much for your support request.
For applying a generic animation to a generic character, the rig hierarchy of the rig in the animation and the rig hierarchy of the rig of your character needs to be a perfect fit (exact same naming/path for each bone, same initial rotation and initial position etc.).
With UMotion you can convert humanoid animations correctly to generic if your character is compatible with humanoid. Maybe you haven't converted the animation correctly? Here is how it should work (you can use any of the two methods):
- Create a humanoid UMotion project for your humanoid version of your character. Import the humanoid animation into UMotion. Then export the animation into your character's FBX file using the FBX export feature of UMotion. Close UMotion and configure your character as generic. The animation inside of your character's FBX file is now also generic and works with your character.
- Or by using this method: https://www.soxware.com/umotion-manual/ImportExport.html#ConversionHumanoidGeneric
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Unable to animate a generic object (Quest 2 controllers)
Hello I am trying to animate a generic object, which are virtual reality controllers for the Oculus Quest 2. The model has been rigged already but I am having problems trying to animate them with UMotion.
My goal is to develop simple animations such as button presses. I have imported the fbx file into Unity, and set the rig settings as below.
I can verify that the rig transforms are positioned correctly (e.g. the x transform is positioned correctly in the image below).
However, when I try to create a new UMotion Project (Generic), all these squares appear for each bone of the rig, and they are not positioned correctly (e.g. see how the x transform is displaced from the x button).
Furthermore, when I try to modify the position of these bones (or rotation or scale), nothing happens at all. I have verified that I can create the animation I'm looking for in Blender by modifying the position of these bones, but it will not work in UMotion. Can you help me identify what I'm doing wrong?
Here's the link to the FBX: Quest2LeftController.fbx
Hi,
thank you very much for your support request.
The issue is the "Strip Bones" checkmark you have set in the import setting of your FBX. This removes the bones that actually animate the buttons (not sure why they use a skinned mesh for this purpose instead of separate objects, one for each button).
The transforms you tried to move are called e.g. "grip_end" and are just some empty transforms without any mesh (probably to define an end point for a hand animation or something?).
When configured correctly, your model should look something like this:
Select an end joint to move/animate the actual buttons.
You can improve the visualization of the bones by going into config mode and under "Properties" set "Parent Link" to hidden. You can also hide the unnecessary "..._end" transforms by setting their "Visibility" to "Lock".
More information about bone styling: https://www.soxware.com/umotion-manual/Configuration.html#Properties
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Does Umotion allow turning a animation into a a Umotion then then Exporting with my character riggged?
Does Umotion allow turning a animation into a a Umotion then then Exporting with my character rigged?
For example,
If I purchase a animation from the Unity Asset store and then connect my character to the rig. Can I export the FBX and animation using UMotion?
Hi,
thank you very much for your support request.
Yes, the workflow would be like this:
- Create a new UMotion project.
- Assign your character to the UMotion Pose Editor
- Import your animation. Please note that if the animation wasn't made specifically for your character, both your character and your animation need to be of type humanoid in order to make use of Unity's animation re-targeting.
- Export your animation using UMotion's FBX exporter. Select your character's *.fbx file (or a duplication of it) as destination file. This is going to write the animation into the character's FBX resulting in a file that contains the rig and mesh of your character plus the desired animation. You can switch that FBX to generic or even use the FBX in other software like Maya etc.
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Customer support service by UserEcho