Answered

Exporting Final IK animation to fbx not possible because IK target doesn't exist in fbx

Anonymous 4 years ago updated by Peter - Soxware Developer 4 years ago 1

Hi there,
I want to use Final IK with UMotion.

I read the threads in this forum how to use it and it works absolutely fine, except I cannot export the clip into an existing FBX file.
An error message appears that the bone I'm using as the Final IK target does not exist in the FBX file (which is of course correct).

So is there a way that I can export clips created with Final IK into an existing FBX?

Thanks!

Answer

Hi,

thank you very much for your support request.

There is currently no way to tell UMotion that a transform that was added outside of UMotion should be ignored when exporting to FBX. That's what the custom transforms in UMotion have been designed for (they are ignored when exporting as they only live inside UMotion). Unfortunately, you can't address these transforms from within your final IK components.

I see two possible workarounds:

  1. Use Unity's FBX exporter to export your new character configuration (including the IK targets) into a fresh FBX file. You can get Unity's FBX exporter via Unity's package manager (don't use the FBX exporter from the asset store, it's deprecated). Then use UMotion to export the animation into that fresh FBX.
  2. Use your 3D modeling application of choice and add the IK targets manually to the existing FBX file.

I hope that helps. Please let me know in case you have any follow-up questions.

Best regards,
Peter

Answered

Updating character transforms in UMotion project

bbjones 4 years ago updated by Peter - Soxware Developer 4 years ago 1

Hi, I'm new to UMotion so maybe I missed something but...

I have a humanoid character in scene, create a new UMotion project, link the character to the Pose Editor.

Then I clear the Pose editor, and back in scene view I change some transforms on the player, mainly things like weapon holder objects under the hands (I don't change anything about the rig itself).
Link the character to the Pose editor again and the weapon holder object isn't showing the changes I made.

I'm assuming the transform values for that weapon holder game object are stored somewhere in the UMotion project file?
Note that I'm not trying to animate the weapon holder.

It will show the updated transform position if I create a new UMotion project and link the character to the pose editor again.

Is there a way to update a UMotion project when non-rig child game objects inside the rig hierarchy are changed?

Answer

Hi,

thank you very much for your support request.

Is there a way to update a UMotion project when non-rig child game objects inside the rig hierarchy are changed?

Yes this is possible. As you correctly assumed, UMotion stores the initial pose (position, rotation values of all bones and transforms) your character had when you first assigned the character to the pose editor. This pose is called the "reference pose". In order to manipulate/update the reference pose, go into config mode. Under the "Configurations" section, select the "Reference Pose" tab. Click on the "Apply Scene Pose" button to apply the latest changes you've made to the scene pose. Then click on "Save Reference Pose" to save the changes.


For more information about config mode, please check out the related video tutorial:

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

Best regards,
Peter

Answered

How is this Global Rotation?

Anonymous 4 years ago updated by Peter - Soxware Developer 4 years ago 11
Answer

Hi,

thank you very much for your support request.

UMotion does not support pivot mode "center" yet. I've took a note on my to-do list to implement this in a future update. Thanks for pointing that out.

You can workaround this limitation by making the IK handles of the hands a child of a new custom transform (this can be done in config mode). You can then rotate both at the same time by rotating the new parent transform. More information about config mode can be found in this video tutorial:


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

Best regards,
Peter

Not a bug

The thumbs are not displayed correctly in play mode

Lev 4 years ago updated 4 years ago 2

Greetings! I ran into this problem: I made an animation in UMotion and in the UMotion editing mode it looks fine, but after exporting to the character(in .fbx with the update) the thumbs look completely different from what was done, I tried changing the settings of the avatars ' muscles, but it didn't help.On the first skinshot, as it should be, on the second, how it really turns out. Help please

Image 839

Image 840
Answer

Hi,

thank you very much for your support request.

This is a typical problem that people run into when using the humanoid animation system. It's a result of the humanoid avatar's initial T-Pose not being 100% correct.


  1. Select your character's fbx file in Unity's project window.
  2. In the inspector window, open the "Rig" tab and click on "Configure".
  3. Make sure, that your thumbs are in the exact same pose as shown in this screenshot (carefully look at which direction the nail of the thumb is pointing):

(Source: https://blog.unity.com/technology/mecanim-humanoids)


The accuracy of the T-Pose has great impact on the accuracy of the humanoid animation.


If the animation you've created is only used on one character, you could also just change your character to "generic". This uses the authored animation 1:1 as it was authored thus avoiding such issues. Generic is also consuming slightly less CPU time.


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


Best regards,

Peter

Answered

Bones not showing

Estavox 4 years ago updated by Peter - Soxware Developer 4 years ago 1

I've got a rigged model with several animations exported into Unity. I followed the tutorial, but when I attached the model to the pose editor, the bones won't show up. It only shows the transforms:

Unity: 

Image 835

Image 836

Blender:

Image 832



I also tried it again in a completely new Unity project. Still no bones.

Any suggestions or tips on what could be the problem?

Thanks in advance!

EDIT:

It seems like it doesn't recognize the bones as bones and just shows them as transforms instead:

Image 837

Answer

Hi,

thank you very much for your support request.

    Only if bones are skinned (i.e. vertex painted) they are going to be treated as bones by Unity (= Unity assigns a SkinnedMeshRenderer component and adds all bones to the "bones" array of that component). If the bones are just parents of separate meshes, then they are treated as regular transforms (with MeshRenderer components applied to each of the bones).

    In the end, both works though and it's just a different visualization. Be aware that the later method uses one draw-call per separate mesh for rendering thus resulting in (little) higher performance cost (depends on your project if this is going to be a problem or not).


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

    Best regards,
    Peter

    Answered

    Onion skinning, image/video overlays for rotoscoping and other features

    Yokenstein 4 years ago updated by Peter - Soxware Developer 4 years ago 3

    Will it be possible to have these features in future updates?

    1) Onion skinning to have precise understanding of where the character's inbetween poses are

    2) image/video transparent overlays for rotoscoping animation

    3) Some kind of automatic key generation/animation record feature. I don't know the term of this one, but I saw this in another tool called SFM. Where you grab a bone, click a record button, and the timeline scrubs through points A & B and while the timeline is scrubbing at 'x' framerate you have to manually move the bone using the bone grab handle in any direction you like manually, thus setting the keyframes and curves automatically. 

    Answer

    Hi Shayan,

    thank you very much for sharing your ideas. I've collected them in my "ideas for the future list".

    Some kind of automatic key generation/animation record feature.

    UMotion has an auto key feature that automatically creates key frames when you modify an animated porperty / a bone. To enable it, set "Auto Key" in the "Animation" section of the pose editor to "Generate". This feature does only record changes at the currently selected frame though (unlike the feature you requested, which should be able to record changes in real-time).

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

    Best regards,
    Peter

    Answered

    Animation different in playmode/timeline compared to editor

    Yokenstein 4 years ago updated by Peter - Soxware Developer 4 years ago 15
    I would preferably just like to use Humanoid projects, instead of Generic. I know there Humanoid is a lossy format, but is there a way that accuracy can be preserved in the output .anim files? I remember solving this issue 5-6 months ago while using Humanoid, but I forgot how I managed to do it. 
    Answer

    Hi Shayan,

    thank you very much for your support request.

    Yes humanoid is a lossy animation format, but for regular cases like a walking, idle, swimming,... animation the loss in precision shouldn't be very noticeable. If you're precision loss is very extreme, make sure that your humanoid character is setup correctly:

    1. Select your character's 3D model file (in Unity's project window), open the "Rig" tab in the inspector and click the "Configure..." button.
    2. The humanoid avatar editor opens.
    3. Make sure that you've assigned all bones to the correct slots.
    4. Also make sure that your character is in a T-Pose.

    I also recommend that you do not have any scaling (that is not 1) on transforms (except the root) of your character.

    Exporting to FBX (use write mode = "Update Existing File" to export directly into your character's FBX file) often also improves quality a bit.


    If that doesn't help, please provide some further information about your specific situation.


    PS: Also make sure that you are using the latest UMotion version from the asset store.

    Best regards,
    Peter

    Answered

    Best way to horizontally flip a clip?

    Erik Hermansen 4 years ago updated by Peter - Soxware Developer 3 years ago 7

    I'd like to take a clip and swap all the keys left to right and right to left. E.g. left upper arm rotation becomes right upper arm rotation.

    I know that there is a "Copy to the Other Side" feature. But it would be a lot of labor to go to each key and perform that copy. Also, there are times when I want to not just copy in one direction (left-to-right or right-to-left), but also perform a swap on the same key. So the "Copy to the Other Side" feature would actually overwrite a key that I need for the swap.

    Is there an efficient way to swap all the keys in UMotion? Or maybe there is some way to edit keys that would be reasonably fast for my task?

    I know that in Unity's animation controller you can flip a clip there, but I'm using Animancer instead which doesn't seem to allow flipping.

    BTW, I really love UMotion. Thanks for making the great software.

    Answer

    Hi Erik,

    thank you very much for your support request.

    #3 - Duplicate the animation clip asset and check the "Mirror" checkbox in the inspector.

    That's the method I would recommend. Please note that this method not only swaps left/right keys, but also mirrors the spine.

    Also, there are times when I want to not just copy in one direction (left-to-right or right-to-left), but also perform a swap on the same key. So the "Copy to the Other Side" feature would actually overwrite a key that I need for the swap.

    Swapping is supported by "Copy to Other Side". Just select both bones (on left and right side) and perform the action. Using shortcuts usually makes it really fast to use "Copy to Other Side" on all keys of an animation. I did something similar in this video tutorial:

    (See 10:05)


    BTW, I really love UMotion. Thanks for making the great software.

    Thank you very much for the nice words, that means a lot to me :-)


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


    Best regards,
    Peter

    Answered

    Generic Object moves in animation before applying child of constraint

    Elsiehar 4 years ago updated by Peter - Soxware Developer 4 years ago 5

    I am trying to get my character to pick up an tablet.  It seems to work okay when the tablet is on the table, but as soon as I add the right hand as my Parent it moves the tablet in the animation before this, even though the parent is still showing as None.  Hopefully the screenshots explain it.

    Original set up and tablet location

    Image 822

    After applying child of constraint

    Image 823

    After the start of the animation after applying child of constraint.

    Image 824

    I thought IK Pinning might work but when I try that the Parent option isn't available anymore.

    Is there a step that I am missing?

    Thank you

    Answer

    Hi,

    thank you very much for your support request.

    When switching the parent of a child-of constraint, 2 key frames are created. One with the position/rotation values relative to the new parent and exactly one frame before UMotion automatically creates position/rotation keys relative to the old parent. 

    It's a bit hard to tell from the screenshot in which order the keys have been created, but it looks like the keys on frame 0 have been created relative to parent "A" but then the parent channel was keyed for parent "none" (on frame 0) thus the position/rotation keys  are in the wrong coordinate space?


    Please check-out the official child-of video tutorial to learn how the child-of constraint works:

    I thought IK Pinning might work but when I try that the Parent option isn't available anymore.

    IK Pinning is an option of the child-of constraint and is used in conjunction with an IK handle (an IK constraint). This option is simply a replacing the arbitrary parent selection input field with a check box, where ticking the checkbox makes the IK handle relative to world-space. You do not need IK pinning in your case. More information can be found in this video tutorial: 

    If after watching the child-of video tutorial, you still think that there is something wrong going on, would it be possible to record a video where you do the same steps as shown in the screenshots so that I can see exactly what's going on? That makes it easier for me to identify if this is a bug or not.


    Thank you very much.


    Best regards,
    Peter

    Answered

    Extra bones appearing

    giantkiller 4 years ago updated by Peter - Soxware Developer 4 years ago 1

    I was messing around with the set default pose, scene pose, reference pose and got extra bones.

    Image 821

    This is the pose tab. The config tab show correct bone orientation. How can I reset this. I dont want to keep pressing switches indiscriminately at this point.

    Then I ended up with a clip with no keys. All was lost.

    Answer

    Hi,

    thank you very much for your support request.

    The blue bones are the "IK" bones and the "Grey" bones are the regular "FK" bones. As you have IK setup for your arms and legs, you have the regular "FK" bones for your arms and legs and the "IK" bones for your arms and legs. With the "FK/IK Blend" value (shown in the "channels" view when having the IK handle i.e. the wired cube selected) you can make the mesh follow either the FK bones or the IK bones.

    Under the "Display" section of the pose editor, you can show hide the FK/IK bones.

    The getting started video tutorial briefly covers this:

    And the inverse kinematics video tutorial goes even more in-depth on this topic:

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

    Best regards,

    Peter