Answered

Locking rotation axis for specific bones

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

Hello. There is a neat feature that allows you to lock some rotations while editing animations, but issue is that I want to lock them only for specific bones, not globally. For example - allow knees and elbows rotate only at single axis, so you won't accidentally rotate them, resulting later in weird interpolations.

Is it possible to implement somehow? Or it can't be done without modifying sources?

Answer

Hi,

thank you very much for your support request.

While there is no feature to lock the rotation axis, you could use "euler rotation mode" for the bones you mentioned (e.g. the lower leg bone). As you only rotate the knee around one axis (if the rig is setup correctly), you're not going to suffer from gimbal lock (gimbal lock is the downside of euler). In euler mode you would see it in the curves view if you've accidentally rotated around a wrong axis axis (onle one axis should contain actual data, the other 2 should be completely flat).


More information on the different rotation modes 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

Optimize Game Objects bug

Anonymous 4 years ago updated 4 years ago 4

Hello, I am currently animating an archer. The archer is using generic animations and has "Optimize Game Objects" enabled in the importer, the Hands are exposed though, so I can add weapons.

When I add a bow as a child of the hand, that is also rigged, and then try to animate the character in UMotion, including the bow, the bows skinned object (not the container/parent) somehow is now located at the root of the character instead of the hand, hierachy and position wise. If the character is not optimized, it works and the bow stays in the hand.


This isn't a huge problem, but I still have to disable optimization every time I animate, which is not the best workflow.

Maybe a reason could be that both, the character and bows first child is called "Armature"?

Answer

Thanks for sending me the example project. It was very well structured and made it easy for me to investigate, thanks for that.


From your email:

I think this could be related to the bow having the bones parent called "Armature" as well (Which also gives a warning). I sadly can't change the name, as blender does this automatically for rigs.

Yes that's exactly what's causing the issue. The de-optimize method thinks that the bow's "armature" is the same as the "armature" of your character. Thus the de-optimized setup ends up with a different rig hierarchy (where the bow is a child of the character's "armature" bone instead of the "Wrist1" bone).

Unfortunately this isn't something that I can fix in UMotion's code as this problem is coming from within a Unity API method called AnimatorUtility.DeoptimizeTransformHierarchy(). Luckily the fix for you is rather easy, just rename the "armature" bone of the bow to something unique (e.g. "armature_bow"). You can do this in your prefab in Unity, no need to do this in Blender.


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


Best regards,
Peter

Answered

How to keep staring at the point

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

Hi,

Could you explain a little bit how I can let the character staring at a point.

I am making an aiming animation.

I would like to set the neck and head to keep its position and rotation to stare at a point 

regardless of the movement of the arms or spines.

Is there a way to do this in UMotion?

Regards,

Scott Hong

Answer

Hi,

thank you very much for your support request.

Doing an "aim" inside an animation means that it is baked into the animation and won't adapt at the target's position at real time. That's why usually a real-time IK solution is used for this (on top of the regular animations) which calculates the pose at real time based on the current target position. This for example is final IK's aiming solution:

Link: Final IK - Asset Store

If you have a special case where you want to bake the result into an animation clip (because you're targets don't change at realtime) you can extend UMotion's functionality by (e.g. Final IK's Aiming solution) using the UMotion callback mechanism. That way you can preview and key the behavior inside UMotion. For more information regarding the UMotion callback mechanism and how to use it with Final IK, please check out the UMotion manual at ("Pose Editor / Options" headline "Extending UMotion").

Don't hesitate to contact me in case you have any follow-up questions.

Best regards,
Peter

Answered

Face cap fbx not recognized

Woodyy 4 years ago updated by Peter - Soxware Developer 4 years ago 9

I have rigged a blender character using the FACEIT' app to use the ARKIT shapekey system found in apples Face Cap app. I finished a normal rigging with auto rig pro and out put a humanoid FBX of character. when I bring the character into umotion pro it recognizes and lists the shapekeys in the character but keyed action does not show in the character. I have imported a face cap action fbx and  just get an error that it appears as generic not humanoid.

     Umotion would be a perfect tool to tune face cap dialogue and make it  the goto tool for unity mocap animation...if I could get this to work, any suggestions?

Answer

Hi Woodyy,

thank you very much for your support request.

Ok so the face rig is using blend shapes for the facial expression or is it using bones? Are you sure this isn't a problem with your character / your import pipeline? You can verify if the blend shapes on your character are working by dragging your character to the Unity scene. Then look for the GameObject that has the SkinnedMeshRenderer component and open the "Blend Shapes" foldout in the inspector. Here you can play with the blend shape weights (100 means full influence of the blend shape):

If the blend shapes also don't work in that case, you might want to double check your setup in blender and your import/export settings. If they do work using the method mentioned above, it might be a problem with UMotion not previewing the blend shapes correctly for some reason. If that is the case, I would love to take a look at it. Please send me your character (without textures if you want) and your UMotion project file via email support form (or request a link to my dropbox if file size is too big for email transmission).

Please let me know if you need any further assistance. I'm happy to help.

Best regards,
Peter

Answered

I want to export a custom transform but the solution described by you on the unity forum doesn't seem to work

Anonymous 4 years ago updated 4 years ago 3

Maybe it is something intended as I want to export the four custom transforms created by umotion, the IK_Pole ones. for both hands and legs.


I need their positions in the animation file or if this is not a good idea to have them put there, maybe some way to save them to a custom separate file of some kind could also work.


all four objects are marked as custom transforms and have the visibility on Show but don't appear to included in the animation file (which I think make sense, not a bug, except I need them :D )


Answer

With UMotion V1.26 I introduced an easier way to update a custom transform to a real transform:
Create new empty GameObjects in your character's hierarhcy (outside of UMotion) that are named like the custom transform inside UMotion and are located at the same position in the hierarchy.


When you then assign the character to the pose editor, UMotion is automatically going to ask you if it should convert the custom transform definitions to real transform. All other steps mentioned in my previous post are not necessary anymore in this case.

The animation data for those transforms is then automatically included in the exported animation.

UMotion V1.26 is shipping in the next one or two days via the asset store.

Please let me know in case you have any questions.

Best regards,
Peter

Answered

When Timeline, Character animation shaking / jittering / vibrating

antoine ober 4 years ago updated 4 years ago 5

Hi !

I hope you're doing well ^^

I made some custom animations with UMotion Pro, they are all running very well when I watch them in the preview. But when I launch them with the Unity Timeline, the character is acting ok on some animations, and is shaking/jittering on some others. It's not some bones, it's the whole body. And it doesn't seem to be his collider neither, as shown on the video I made.

I'm aware it can be not related to UMotion at all, but I'm kind of lost, so I just ask if you have any idea by any chance. No worry if not.


Thanks for your help, take care !

Best regards,

Answer

Hi Antoine,

thank you very much for your support request.

Let's narrow down the cause of this issue:

  1. Select one of the exported animations (that you use in Timeline and that jitters) in Unity's project window. In the inspector preview section at the bottom, play the animation. Does it also jitter in the preview window?
  2. You can also try to drag & drop the character you use in Timeline from Unity's scene into the preview window. This is going to preview the animation using the correct character. Does the jitter appear in that case?
  3. If the problem is not present in point 1 or point 2, does it happen if you scrub through the Unity timeline (when not being in play mode)?

Please let me know the results of your investigations, so that I can further assist you.

Best regards,
Peter

Fixed

Editing the hierachy of a GameObject that is currently used as UMotion preview object is not allowed.

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

Hi, my issue is the same as the one in this link https://www.support.soxware.com/en/communities/1/topics/677-editing-the-hierachy-of-a-gameobject but there were no solutions. 

I have tested the file here and the problem still persists.

https://we.tl/t-VYOFaJ9lzo

Answered

Foot IK Behaviour in uMotion

Adunato 4 years ago updated 4 years ago 4

Hi,

I'm trying to understand the differences between the way uMotion manages animations in relation to feet position and the vanilla Unity system. This question is not specifically about uMotion IK system, but rather a more general point including root motion and unity "foot IK" setting. Apologies as I'm sure this behaviour is explained somewhere in the video tutorials, but I can't quite link this to any of the features explained there.

From the comparison I have made below, it seems that uMotion adds a "foot IK" of sorts in the exported animation even when the IK constraints have not been created in uMotion. I say "of sorts" because the behaviour is slightly different:

- #2: feet are "pinned" (despite no IK in either uMotion or Animator state) but the left thigh make a jerky rotaion movement

- #3: feet are floating (as expected as no "foot IK" is selected in Animator state)

- #4: feet are pinned (as "foot IK" in animator state is selected) with a smooth thigh rotation

    The basic problem here is that uMotion produces a jerky rotation of the thigh in the exported animation that is not present in the uMotion editor animation. But in addition to trying to resolve this issue, I would also like to understand how uMotion manages the addition of a "foot IK" behaviour in the vanilla setting export.

    #1 - Animation in uMotion editor

    Youtube video

    #2 - Exported in-game animation


    Youtube video



    #3 - Original animation without Foot IK

    Youtube video

    #4 - Original animation with Foot IK

    Youtube video

    Settings


    Character settings

    Image 717

    Animator state settings (note: foot IK is enabled in the 4th sample above)

    Image 718

    uMotion Settings

    Image 719

    Image 720

    Answered

    Import blender humanoid

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

    I have a mesh that I modified in Wings3d that I pulled into Blender and rigged with Rigify humanoid with face and fingers.

    I also use the Blender Rigify to Unity option. I export as fbx and import to Unity.

    When dropping the Gameobject into the pose editor I get the 'Hips' already defined.

    Is there a workflow of Blender that highlights the process to get a rig to Unity?

    I see too many of the basic rigs that I could not use. I need IK fingers so I can grab a finger and pull to a pose all the way up to a shoulder. If I have no finger IK but only hand IK for posing that is ok as long as I can pose the fingers separately.
    Learning this model rigging has been a nightmare.

    In this project I did get a rig to animate in Unity animator but I want to use Umotion as it seems to give more control.

    Answer

    Hi,

    thank you very much for your support request.

    When dropping the Gameobject into the pose editor I get the 'Hips' already defined.

    That happens when you drop a humanoid character into a UMotion project initially created for a different humanoid character. A separate UMotion project has to be used for each of your characters. If you're character is of type humanoid and you want to use/edit a humanoid animation you created for a different humanoid character, just export said humanoid animation from the UMotion project A and import it in UMotion project B (with the correct characters assigned to the pose editor respectively).

    For IK rigging, you can use the IK Setup Wizard in UMotion. It automatically creates IK chains for the legs and arms. Unless you're doing something like a "playing the piano" animation where precise finger movement is very important, I would recommend not to use IK for the fingers. It's usually easier to just use the finger sliders in the muscle tool assistant. Another trick is to select each finger bone, then use the rotation tool which will equally apply the rotation on all finger bones at once making it bend nicely.

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

    Best regards,
    Peter

    Answered

    HumanDescription import message

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

    Hi,

    I have a problem on Importing FBX animation which was exported from UMotion.

    If I export it with Anim format, of course there is no importing problem.

    #1 Same character between Unity and UMotion

    I used a same character for testing, modifying and importing (avatar).


    #2 Just exported

    I imported the original animation clip in UMotion editor then exported it right away in another folder rather than the original one exists. I did not modify the clip at all. 


    #3 Importing error

    I cannot use an avatar of the character, but exported FBX's.

    That means I should use the avatar of FBX, not the original character's.

    It will increase project size and memory.


    Image 705

    Image 707


    Image 708


    #4 Bad root

    Even the root location of the exported version has an error. The below pink one is from UMotion.

    Image 715

    Image 716



    ClazyRunner.FBX

    Mixamo_Injured_Idle.fbx



    Regards,

    Scott Hong

    Answer

    Hi,

    thank you very much for your support request.

    When working with humanoid, I highly recommend setting "Write Mode" to "Update Existing File" (in the UMotion export settings). Then select the fbx file of the character that you have assigned to the pose editor as destination file. When you now export, your animation is written into the FBX file of your character. Meaning that it is imported with all the correct settings automatically.

    For more information, please check out the manual (click on the question mark button in the export settings to open the corresponding manual page).


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

    Best regards,
    Peter