Answered

Animation transitions causing bones to reposition incorrectly

SouthernSeth 1 year ago updated 1 year ago 4

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? 

Answer

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

Answered

I would like to see changes in the 3d model to be reflected when a new BlendShape is added.

くつした / Kutsushita 1 year ago updated by Peter - Soxware Developer 1 year ago 1

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?

Answer

Hi,
thank you very much for your support request.

You need to manually add a custom property constraint for your newly added blend shape:

  1. Switch into config mode.
  2. Select the bone/transform where your other blend shapes have been added by UMotion.
  3. Open the "Constraints" tab and add a new Custom Property constraint.
  4. 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

Answered

move all keys

Anonymous 1 year ago updated 1 year ago 2

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?

Answer

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

Not reproducible

Unable to select bones in scene view

Anonymous 1 year ago updated by Peter - Soxware Developer 1 year ago 3

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.

Answered

How to set export settings via script

mb1 1 year ago updated by Peter - Soxware Developer 1 year ago 3

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!

Answer

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

Not reproducible

Click and drag keyframe not working

Satchmoe77 1 year ago updated by Peter - Soxware Developer 5 months ago 3

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.

Answered

Add a shortcut to close the current project and load the last closed project

RichardL 1 year ago updated by Peter - Soxware Developer 1 year ago 2

Would it be possible to implement a shortcut that can close the current project?

And a shortcut to load the most recent closed project

Answer

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

Answered

Is there no way to convert a humanoid animation to a generic with a custom rig/hierarchy?

Anonymous 1 year ago updated 1 year ago 4

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

Answer

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):


  1. 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.
  2. 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

Answered

Unable to animate a generic object (Quest 2 controllers)

airoll 1 year ago updated by giantkiller 1 year ago 2

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.

Image 1233

I can verify that the rig transforms are positioned correctly (e.g. the x transform is positioned correctly in the image below).

Image 1234



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).

Image 1235

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

Answer

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

Answered

Does Umotion allow turning a animation into a a Umotion then then Exporting with my character riggged?

Anonymous 1 year ago updated 1 year ago 2

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? 

Answer

Hi,
thank you very much for your support request.

Yes, the workflow would be like this:

  1. Create a new UMotion project.
  2. Assign your character to the UMotion Pose Editor
  3. 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.
  4. 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