Under review

IK BUG PROPERTIES

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

HI, i was doing your inverse kinematics tutorial video... On pose editor, config mode,properties,the size of the "type" custom transform does not work, you can change the value, but you will not see as a "cube" similar to the video, in fact, you will see nothing on the editor.. If the "type" is custom joint , the propertie size works.

Answered

scale for squash and stretch

hassancharafeddine87 5 years ago updated 5 years ago 8

How do I use the scale tool to make squash and stretch on humanoid characters, for punching for example?

Answer

Hi,
thank you very much for your support request.

Unity's humanoid animation system abstracts the humanoid anatomy so that an animation initially created for humanoid A can be played on any other humanoid character (i.e. animation re-targeting). This abstraction adds limitations like not being able to scale bones.

I recommend using "generic" instead of "humanoid", that way you get back all degrees of freedom for each bone of your character (rotation, translation and scale). If you need to convert some of your animations from humanoid (e.g. mocap animations not initially created for your specific character) to generic, import them into your humanoid UMotion project (before you switch to generic) and then export the animations to *.FBX. Then change the animations and your character to "generic" (in the Inspector of those files).

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

Best regards,
Peter

Fixed

Keys stop generating, IK Pinning stops working, Performance drop after long time

MaciejP 5 years ago updated by Peter - Soxware Developer 5 years ago 16

Hello,

There are few very annoying bugs.

We are using UMotion to edit animations recorded using Optitrack Motive software (mostly <10s, 30fps), and during postprocessing in UMotion, very often keys just stop generating despite having Auto Key set to Generate.

Also, when that happens, enabling IK Pinning stops working - there is no message box, and selected object just snaps to what I think is a 0 position.

The one thing that fixes it for sure is UMotion restart.

The last very annoying thing is performance drop after a longer session of editing. Animations get so choppy that it's almost impossible to edit them. UMotion restart doesn't fix this - Unity restart is needed.

There are no error messages in console when those bugs appear.

I hope You'll resolve those issues soon.

Best Regards

Maciej

EDIT: I've added a video presenting IK Pinning issue: Video presenting bug

Answered

How to include additional bones to humanoid animations?

VoidLight 5 years ago updated 3 years ago 2

Hello,

I have to create a Mask for each animation then go to Transform and check the bones that I want to use (not a part of the humanoid) so they animate. Unfortunately this is lost when I import it in uMotion and when I export there isnt a setting for that clip to include these bones.

Do you have a suggestion?

Answer

Hi,
thank you very much for your support request.

UMotion hides all none humanoid bones by default.

In your humanoid UMotion project, witch into Config Mode and select the additional bone(s). Under the "Properties" tab, set "Visibility" to "Show". This is going to show and include the bone(s) in your animations.


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

Best regards,
Peter

Answered

The humanoid avatar doesn't fit the selected GameObject. The required human bone "Spine" has not been found.

jgamemaker92 5 years ago updated 3 years ago 3

I keep getting this error when I try to drag my humanoid character into the Pose Editor. My Humanoid character is already rigged, all the bones are set and green in the configure and the character is walking around fine in the game and it is working with plenty of animations. How can it say that is missing it's spine when obviously it isn't? What is causing this?

Answer

Hi,
thank you very much for your support request.

Most probably the character that has been added for the first time to this project (via the Pose Editor) was a different one (or the same one but with a different humanoid avatar setup)? UMotion projects are "one per character" (you can't share a project between different characters). Do you still get this message when adding the character to a fresh UMotion project?


If the above doesn't explain your issue:

Have you checked if a bone was assigned for the spine (in the Unity Avatar configuration editor)? Drag & drop a fresh instance of your character (directly from the *.FBX, not from a prefab) into your scene and check if it works with that one (i.e. to ensure that it really uses the humanoid avatar that you've just configured).

Best regards,
Peter

Answered

Is it possible to change blendshapes of more than 1 objects?

VoidLight 5 years ago updated by Peter - Soxware Developer 5 years ago 1

Hello,

I have my character skinned mesh and a separate object that is Jaw (parented to the character). During animation I want to use blendshapes from both character and jaw, so I can have mouth open and jaw open animation.

Is it possible to do that?

Answer

Hi,
thank you very much for your support request.

Yes, sure. When you add your character to the Pose Editor for the first time, UMotion asks you if you want to add all blend shapes to the head joint or to a new custom joint. Out of my head I think this should include every blend shape of all SkinnedMeshRenderers that it finds.

You can also always add blend shapes manually by adding a "Custom Property Constraint" to any joint/transform. Configure it as "Component Property" and select the appropriate blend shape weight property of a SkinnedMeshRenderer (take the "Custom Property Constraints" that UMotion was setting up automatically as an example).

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

Best regards,
Peter

Answered

Parent node

wzk 5 years ago updated by Peter - Soxware Developer 5 years ago 1

动画完成后,父节点将受到影响。父节点是摄影机,摄影机将跟随动画。在第一个视角中,相机是一个子节点,该子节点还将跟随动画,位移,旋转等的影响。

Google Translator:

After the animation is complete, the parent node will be affected. The parent node is a camera, which will follow the animation. In the first perspective, the camera is a child node that will also follow the effects of animation, displacement, rotation, etc.

Answer

Hi,
thank you very much for your support request.

I tried to translate your question to English but I'm not 100% sure if the translation is correct and if I understood the question correctly. I think you might be looking for the Child-Of constraint:

(You can enable subtitles for easier understanding.)


Please let me know in case it was something else you've been asking for.

Best regards,
Peter

Answered

Is it possible to reduce variation in entire curves?

Anonymous 5 years ago updated 5 years ago 2

I'm relatively new to this, but I'm not asking for a tutorial!  I'm just not familiar enough with animating to be sure by reading UMotion's feature list.  To explain my needs, basically, I have a nice mocapped idle animation that I need to use in a VR game that by nature immobilizes the head/hands/feet of the character.  That means that the animation's movements make the body look a little jerky, since those parts don't follow along.


So, what I'm hoping to do is proportionally flatten the animation curves, to normalize them and reduce those movements.


Is this possible with UMotion Community or Pro?  I don't need a long explanation, since there's surely documentation to help with that part.  But I'm wary of digging through a tool I don't fully understand looking for a solution that might not exist.


Thanks so much!

Answer

Hi,

thank you very much for your support request.

From a game design perspective, I would recommend to completely decouple the VR camera (VR head) from the animated head bone so that the variations of the idle animation don't add artificial movement to the VR camera (this is going to make players nauseous). Jerky camera movement can make even the most experienced VR users nauseous (see climbing physics of "Boneworks").

In UMotion, you could scale down the curves to reduce the variations (make sure that your rotation curves are in euler rotation mode for this to work). Just select all keys of an animation curve, then use the box tool (i.e. the blue bar appearing next to the selected keys) to scale down the curve.

You are going to need UMotion Pro to import an existing animation.

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

Best regards,
Peter

Not a bug

Extra key frames added before the keyed frame for IK Feet and Hands. Bug?

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

Image 136

Is this a bug? I can ignore it but I would prefer if this was not there, makes the dopesheet look messier

Answer

Hi,
thank you very much for your support request.

This keys are automatically created by the Child-Of constraint (which is used by the IK Rig by default). Please check out the following two video tutorials to learn more (it also explains the purpose of this keys):

If you don't need the IK Pinning feature, you can remove the Child-Of constraints from your IK rig. No additional keys are going to be created in that case.

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

Best regards,
Peter

Answered

Is it possible to apply joint corrective blendshapes automatically?

Anonymous 5 years ago updated 5 years ago 2

I.e. when elbow is rotated 0-90 degrees, a blendshape (correctivemorph_elbow) is applied 0-100 according the rotation of the elbow

In blender this is done through drivers and maya probably has something similar.

Answer

Hi,
thank you very much for your support request.

There is currently no way to build a custom property controller that drives multiple channels at the same time (in your case the rotation of the elbow and the blend shape weight). You could either adjust the blend shape manually according to the current rotation value or you could write your own driver script that does that for you.

For the scripting approach, add a new MonoBehaviour to one of the transforms of your GameObject that looks something like that:


public class ElbowMorphDriver : MonoBehaviour

{

   public float InputValue = 0f; // Access this property via a "Custom Property" constraint from UMotion

   [SerializeField]private Transform ElbowJoint;

   [SerializeField]private SkinnedMeshRenderer BlendShapeSmr;

 

   // This method is going to be called every time UMotion re-calculates the current pose.

   public void UMotionCallback() // Let UMotion call this method (enter callback name at Pose Editor --> Options -->

                                                   // Extending UMotion --> Callback Name; check out manual by clicking on the black info button)

   {

      // According to the InputValue, set elbow joint rotation and blend shape weight

   }

}


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

Best regards,
Peter