Answered

Save/Load Selection and Select Child/Parent while multiple object selected

jjfrog 6 months ago updated by Peter - Soxware Developer 6 months ago 3

I have two questions:

1. Is there any function similar to Unity's Save/Load Selection?(Edit->Selection->Save/Load Selection) I would need this feature to quickly select, for example, the first bones of all the hairs or the first bones of all the fingers. But since UMotion locks the objects in the Unity Hierarchy, I can't use Unity's Save/Load Selection feature directly.

2. When I have selected multiple objects such as the first bones of all the hairs, is there a quick way to select the second bones (i.e., the children of the selected object) of all the hairs? 

I originally learned to create animations in 3ds Max, and I think these two features are very convenient. I wonder if UMotion has similar features.

Thanks!

Answer

Hi jjfrog,
thank you very much for your support request.

Unfortunately, there is no built in feature to save/load a selection. If you know a bit of editor scripting, you could extend UMotion with a custom button or menu item. The simplest version would be to make one button that has the bone's name hard coded and always selects said bone. You could even take this further and build your own "generic" save/load selection type of feature. Here is the related documentation: https://www.soxware.com/umotion-manual/UMotionAPI.html


Yes, you can travers the parent/child hierarchy either with the UI buttons or the shortcuts bound to them. Please take a look at the "Selection" part of the pose editor. 


To see which shortcuts are currently bound to the buttons, simply hover the mouse. The appearing tooltip tells you which shortcut is currently assigned. You can change shortcuts under "Edit --> Preferences" in the clip editor.

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

Best regards,
Peter

Answered

The exported animtion is different with design

lgindie 6 months ago updated by Peter - Soxware Developer 6 months ago 1

Hi,

I'm facing an issue where the exported animation looks different from the original design.
* This is the design – the character shoots straight ahead: UMotion.mp4
* This is the exported animation – the character shoots about 45 degrees to the left, and the legs also move unexpectedly:Exported_Animation.mp4

* And this is my exported config:

Image 1516

What is the problem and how to solve it?

Thanks!

Answer

Hi,
thank you very much for your support request.

This appears to be a problem related to how Unity generates the root motion curves for your character. Please check the root motion related settings shown in the inspector window when you have your exported .anim clip selected.

You could also try to let UMotion create the root motion curves for you. This is an experimental feature though. You can enable it in the clip settings:

Please note that Unity's Humanoid animation system gives best results for humans with realistic body proportions. It uses center of mass for certain things in it's re-targeting engine which can produce weird looking results when body proportions are unnatural. More information on the inner workings of humanoid: https://unity.com/blog/engine-platform/mecanim-humanoids

If you do not need animation re-targeting, consider using generic instead.

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

Best regards,
Peter

Answered

Best way to preview Fps animation from game camera?

MrResetti 7 months ago updated 7 months ago 2

I'm trying to preview what my fps animation would look like from the game view. When I make the camera a child of my transform anchor (in this case the chest bone) my camera resets its local transform (I assume this is because umotion thinks it's a transform that may be key framed). Theoretically, I could key the camera to match my in game offset, but I don't want to have to key the camera transform for every single animation, especially since the in game camera isn't actually a child of the animated hierarchy. 

One idea I had was using late update and [ExecuteInEditMode] to set the transform of a camera not in the hierarchy every frame to follow the bone, but the camera doesn't move once I select the gameobject to animate.


What would be the best way to have a game view camera  follow a bone with an offset so I can preview what my animations will look like?  

Thanks

Answer

Hi MrResetti,
thank you very much for your support request.


If you're doing classical FPS where you control a camera via script and have the arms etc. as a child of the camera, you should use that setup in UMotion as well. Here is a video tutorial that uses this setup:
https://www.soxware.com/umotion-manual/InPractice1.html

If you have an entire character model and you have made the camera a child of the character model, then you should simply animate the entire character using UMotion. You're camera should preview just fine.

Please note that at the moment you first assigned your character to the UMotion Pose editor, UMotion creates the "reference pose". This is a copy of all of the characters transform's current position/rotation/scale values and acts as a "default pose" when nothing is keyed. So probably your reference pose contains an old position/rotation value of your camera transform, that's why it resets to a different position when you assign the character to the pose editor. You can udpate the reference pose in config mode.

More details regarding the reference pose can be found in this video tutorial: https://www.soxware.com/umotion-manual/Lesson5.html


Best regards,
Peter

Answered

Feature Request: Range-based Keyframe Reduction for UMotion Editor

sc lee 7 months ago updated by Peter - Soxware Developer 7 months ago 1

KeyframeReducerUtility.cs

Dear UMotion Development Team,

I would like to suggest a new feature for the UMotion Editor: a range-based keyframe reduction tool that could be integrated into the Edit menu.

Feature Description:

This tool would allow users to efficiently reduce keyframes in specific ranges of animation clips, preserving motion quality while optimizing performance. I've developed a similar utility for my own projects and found it extremely valuable.

Key Benefits:

  • Workflow Enhancement: Significantly faster than manual keyframe removal
  • Performance Improvement: Reduce animation file size and runtime processing
  • Quality Control: Maintain animation fidelity by controlling reduction parameters

Use Cases:

  • Optimizing motion capture data with excessive keyframes in specific segments
  • Simplifying procedurally generated animations

I've included a sample implementation of the core algorithm below to demonstrate the concept. This could be expanded with a proper UI in the UMotion Edit menu.

Thank you for considering this feature request. I believe it would be a valuable addition to UMotion's already powerful toolset.

Best regards, [sc.lee]

Answer

Hi sc lee,
thank you very much for your feature request. We will consider implementing this in the future. For the time being, you can try the following:

  1. Export your animations as FBX (ideally into your character model's FBX file)
  2. Select the FBX file in the project window. In the inspector, go into the animations tab. Here you have animation compression settings which can be used used to greatly reduce the animation's file size.

Best regards,
Peter

Answered

Waist IK?

Digital Adam 7 months ago updated by Peter - Soxware Developer 7 months ago 1

I'm trying to make a kneeling animation in Pro, but when I select the root (my character waist bone) after setting up IK and move it down, the characters legs go through the floor. What do I need to do in order to get that working? I'd like to grab the root and have the feet stay planted. 

I've seen older post from years ago about this, but maybe there's a simpler solution that has been added.

Thanks!

Answer

Hi Adam,
what you are looking for is called IK Pinning. Simply select the IK handles of the feet. Then in the "channels" view of the Pose Editor, tick the "IK Pinned" property. This will ensure that the feets IK handles stay in place when you move the waist down.



This feature uses the Child-Of constraint under the hood. Please note that there are some corner cases you need to be aware of. Therefore, please watch the following two video tutorials:
https://www.soxware.com/umotion-manual/ProLesson3.html
https://www.soxware.com/umotion-manual/ProLesson5.html

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

Best regards,
Peter

Answered

The character gets squeezed ?

Maco 8 months ago updated by Peter - Soxware Developer 7 months ago 6

The character gets squeezed (the animation not looping correctly is on me)

Here is a video of it:

Youtube video

Here are pictures of the Export Settings: (different anim showing in video but same settings for all my animations)

Image 1497

Image 1498

I have read these links

But none are listed as to how or why this problem occurs. These characters are reused from already in the game. There are working animations already for this character in the game however for some reason when I make new animations, the character seems to get squeezed once the animation or scene gets played. However, the issue does NOT happen while making the animations IN UMotion.

Here is the character in question import settings:

Image 1499

Image 1500

Image 1501

On the animation clip it self:

Image 1502


Answer

Hi Maco,
thank you very much for your support request. This issue might have something to do with the humanoid avatar setup of your character. Are all bones green and are there no error in your humanoid avatar? You can see the humanoid avatar setup when clicking on the "Configure..." button:

Make sure that you do not have scaling != 1 applied to any of the bones of your character model. Check the Unity hierarchy of your model and ensure that all the transforms of your character have scaling = 1.

You can also try to export your animation as FBX. Therefore in the export settings, set "File Format" to "FBX". Then select your model's FBX file as destination file. The animation is then exported directly into your character's FBX file. Use that animation and check the results.

Best regards,
Peter

Answered

How to have a fixed bone position?

Hata 8 months ago updated by Peter - Soxware Developer 8 months ago 1

I have models with multiple height. Is there anywhere I could set the pelvis bone at a fixed local position in Clip Editor? Right now the taller model is kind of floating in the air when sitting on a chair.

Image 1496

Answer

Hi Hata,
thank you very much for your support request.

Try to play with the "Root Transform Position (Y)" settings (shown in the inspector when having the exported *.anim file selected):



As a last resort you could also get a desired effect using scripting: In your script, compare the actual pelvis height with the desired height and offset the whole model on the y axis to compensate. You can ease-in/-out the effect of the script during the sit down/stand up animation using a custom animation curve in your sit down/stand up animations.

Best regards,
Peter

Answered

Animation exports with extra game object path

Anonymous 8 months ago updated by Peter - Soxware Developer 8 months ago 1

Hi!

I've doing a reload animation but the animation exports with an extra game object in the path resulting in the property missing.

Image 1493

It exports with my game object "Male Base" causing it to be "Male Base/root/(...)/mag". I always need to delete Male Base for it to correctly start the path from "root/(...)/mag".

Since I'm tweaking the animation I keep exporting it with this extra path and I need to keep deleting it from the animation property for the animation to play correctly.

Is there any way to stop my "Male Base" game object exporting with the path from the animation? Just so it starts from "root"?

Answer

Hi,
thank you very much for your support request. UMotion uses the same paths as the model has that you applied to the UMotion Pose Editor. If you've renamed something in your model, UMotion still remembers the old paths. In the pose editor you can go to "Config Mode" and press the "Cleanup" button to get rid of old paths.

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

Best regarsd,
Peter

Not a bug

Linear root motion not linear after export

florianbernard13 8 months ago updated by Peter - Soxware Developer 8 months ago 2

Hello,

I have a fairly simple run animation with a linear Z root motion as you see on the screenshot. Though after I export the clip, the Z root motion is not linear. Why? I've tried multiple Export settings (generate, fbx..) but get the same issue every time.

Any help would be appreciated. Thanks.

Image 1489

Image 1490

Answer

Hi Florian,
thank you very much for your support request. The "issue" lies in the nature of how the humanoid animation system works. The humanoid animation system takes the animation you authored in UMotion, re-samples it and converts it into an abstracted humanoid format. In this abstract format, the root is defined as the center of mass of the character, not the actual root bone anymore. These center of mass changes (due to limb movement) introduce the small displacements you see in your second screenshot.
This is also the reason why the coordinate system is different, as the second screenshot shows humanoid internal coordinates which differ from your character's actual coordinates used in UMotion (which are based on how the bones have been oriented during the rigging process).

Anyway, if this small errors bother you, you shouldn't use humanoid at all. Humanoid by nature only tries to approximate the source animation, it never plays it 100% accurate (this is called animation re-targeting). This comes with a benefit though as it allows the humanoid animation system to play the same animation on different characters (with varying accuracy, though).

Generic on the other hand is always 100% accurate. So for animations where precision matters and you do not need animation re-targeting capabilities, always use generic instead.

I highly recommend reading this blog post to understand what "humanoid" is all about: https://unity.com/de/blog/engine-platform/mecanim-humanoids

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

Best regards,
Peter

Under review

Exported anim Clip's RootMoition Rotation not correct when played by playable

Acshy 8 months ago updated by Peter - Soxware Developer 8 months ago 5

I use Umotion pro to editor an anim clip,I find even though I do nothing to the clip,just import and export it,the exported anim clip's root motion rotation looks wired when I play it by playable  through script.I'm pretty sure that the play method is right(it works well for all other anim clips).
sourceAnim.mp4

exportedByUmotion.mp4

After I Compare the clip before and after umotion, I find it's Root Q look's totally different.

Image 1486

Image 1487


That may be a clue,and then I check the frames that look wired,I notice the euler angle.z between two frame is from 357.98 to 13.34, and the frames between looks good in Umotion editor.I guess something wrong happen between the transfer of Quaternion and EulerAngle,and that cause wrong rotation interpolation when playable sample anim clip in different frame rate.

Image 1488

That is impoartant for me,This bug may prevent me from using Umotion in my project,can it be sovled soon?

Waiting for reply