FK to IK bending wrong way and Plane Angle doesn't change the direction
Hi, I have a motion captured data in FBX.
And this data has feet sliding, so I want to edit like your tutorial here (05:20).
I followed every step and converted FK data to IK.
But the converted animation's knees are bending wrond way like this picture.
So I went to config mode and in the constraint section, I tried to change the Plane Angle's direction by clicking Front, Invert.
However, it does NOT change anything! (look at the picture below)
I've been trying it over and over for two days.
Please help me.
Hi,
thank you very much for your patience. I've fixed the issue in UMotion V1.28p03.
You can download the new version via the asset store.
Thanks again for reporting the issue.
Best regards,
Peter
Child-Of constraint problem with Mixamo Character in UMotion pro.
Hello There, I have just started to use UMotion with character from Mixamo. So far the rig and IK controller has worked really well. But when I got to creating Child-off Constraint it just does not let me do it. When selecting the Ball Game Object the Constraint Panel in Cinfig Mode does not let me add a child off Constraint like you show in the video Tutorial. Is there a reason for that ? Can I do it in any other way ?
Hi,
thank you very much for your support request.
Animations in Unity can only address things that are in the hierarchy below (i.e. a child) of the the Animator controller that is actually playing the animation. In other words, your sphere needs to be a child of your character (in case of humanoid, the sphere needs to be a child of the hips or something lower in the hierarchy).
In the UMotion Examples folder, there is an example scene included. The character on the very right in the example scene shows you how to use the child-of constraint.
PS: In case of picking up stuff from the scene, a common approach to circumvent this limitation is by using an empty transform as "mount point". The mount point is part of your character's hierarchy and can thus be manipulated by the animation. A custom script triggered by an animation event is using "Transform.SetParent()" to make picked up objects a child of the mount point at runtime.
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Changing Constraint name problem
Every time I add a new constraint it looks like the keyboard input locks on the other tabs and I can't change the name. I have to CLEAR, then assign the pose editor again so it let's me change the name and even that is not reliable sometimes. Instead of typing it just activates the keyboard shortcuts for other functions in Unity.
One workaround is to type the names in a textfile and paste them into the textbox.
Hi,
thank you very much for your support request.
In UMotion's Pose Editor, go into config mode. Select the "CS_Jacket_14097.Shape", open the constraints tab and resolve the error by removing the duplicated custom property (by clicking on the X).
Here is the documentation of the custom property constraint: https://www.soxware.com/umotion-manual/CustomProperty.html
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Position of the character will be lower and lower every time the animation passes through a loop.
After the animation is imported into UMotion, the position of the character will be lower and lower every time the animation passes through a loop.
The same problem occurs when I export the animation from UMotion and use animator for looping playback.
However, if I use animator to play the original animation that has not been processed by UMotion, there will be no problem.
I can't find any solution to this problem on the Internet. If someone can help me solve it, I will be very grateful!
Please see the video file I uploaded
Hi,
thank you very much for your support request.
Select the source *.anim file that you want to import. In the inspector window, change the "Root Transform Position (Y)" setting to this:
Do the same for the exported animation.
Btw. in UMotion, you can also flatten the y curve of the root bone (hips). Select the hips in the animated properties list, open the curves view and hide the x and z curves by clicking on the eye icons (in the properties list). Then select the first y key, and take a note of the value. Then select all y keys, right click on one and select "Edit Key". Then type in the value you've previously noted.
If you have some intended y movement in between, only ensure that the first and last key frame have the same value. Might also need some correction of the values of the last few frames to smooth out a potential hick-up.
Please let me know in case you have any follow-up questions or if this does not solve your issue.
Best regards,
Peter
Setting a new rig for existing animation
Hello,
I have an existing rig created with Mixamo which I used in several of my animations.
Unfortunately, I found out too late that the Mixamo rig does not support facial rig anymore.
I have created a new rig with facial bones, and with the new rig all of the bones have the same names as the old bones (besides the facial bones of course).
For some reason, in Unity, I get this when applying the new model and rig to the animation:
(This is a normal human model)
Why is this happening? Thanks
Hi,
thank you very much for your support request.
Just equal bone names is not enough for a rig to be identical. You also need to have the exact same scaling (on the whole hierarchy) and the same local position/local rotation values on all bones.
Please let me know in case you have any follow-up questions.
Best regards,
Peter
IK Rotations
Hi. I have an arm with IK. The IK is set on the wrist bone. Here is the example:
I want to have better rotation control over each part of the arm. With IK I can manipulate only the position of the arm starting from the wrist bone (IK handle). I can manipulate the shoulder rotation with the IK pole rotation option. However I want to manipulate the 2 remaining bones rotations as well. As far as I understand this is impossible to do only with IK ?
My workaround is to set the IK handle FK/IK blend to 0.5 and to view both IK and FK bones at the same time.
Technically this is going to work, but in practice it is very messy and confusing. You can see in the right image.
IK and FK are affected only half way (because of the ik/fk blend) and there is a difference between the bones visually.
In the long run this leads to having IK bones flying around in some random direction away from the actual model + FK being somewhere far away as well.
Ideally what I want is to just be able to select the bones between the IK handle and end of pole rotation and be able to rotate them there and then. It would save so much trouble than my current way of animating.
Can you please tell me how to resolve this. I have been watching the tutorial videos, but am unsure if this is the proper way of doing things.
Hi,
thank you very much for your support request.
I think the reason you're having so much trouble is because you included the shoulder bone in your IK chain. That's not really an ideal setup because with the more bones you add to the IK chain, the less individual control you have.
I would recommend using the IK setup wizard for automatic setup of your human like character. It automatically generates a 2 bone IK solver for your arms and legs. Because your elbow joint is a one dimensional joint anyway, with the IK handle (for end-point position) and the IK pole handle for elbow orientation (= rotations around the shoulder joint) you have control over all degrees of freedom that are meaningful possible by this character. Using FK, you can control the shoulder bone.
Hope this makes sense. Please let me know in case you have any follow-up questions.
Best regards,
Peter
Can't import mixamo animation
I imported a Mixamo rig with the walking animation.
What is the workflow for getting that animation into the clip editor?
I am also trying to get it into the Unity animation editor because I am thinking that all these are some how dependant on each other.
Am I wrong in this thinking? Thank you for this great product.
Hi,
thank you very much for your support request.
In a first step, let's try to get your animation working with your character in a default Unity scene (without involving UMotion at all). If your animation is stored inside your character's fbx file, you can leave the rig type as generic if you want. If your animation is stored in a separate fbx file than your character, the animation might use a different rig than your character so you might have to use humanoid on both of them.
There are a few Mixamo + Unity tutorials on youtube that might help you in this process.
As soon as you have a character in your scene that plays the animation correctly, we can continue with UMotion:
- Create a new UMotion project and make sure to select either humanoid or generic, depending on how you configured your character.
- Assign the character from the scene view to the pose editor's "Animated GameObject" field and confirm the appearing dialog.
- Click on "File --> Import Clips" in the clip editor and select the fbx file that contains the animation clip that you've previously assigned to the character in your scene.
- Click on import --> your animation should now be ready to use.
Please let me know in case you have any follow-up questions.
Best regards,
Peter
How to move the model's eyes with IK?
こんにちは!素晴らしい資産をありがとう。
すでに登場している場合はごめんなさい。IKで目を動かす方法があるか知りたいです。
モデルの目を1つずつ直接動かすことができました。
ただ、片方の骨やゲームオブジェクトを動かして両目で見られる方が楽だと思います。
ブレンダーを使えばIKでそれができましたが、UMotionでたくさん試しましたが、それは困難でした。
それを行う方法はありますか?
モデルはヒューマノイドです。
Hi,
thank you very much for your support request.
There is currently no native implementation of a "Look-At" constraint in UMotion but by using the UMotion callback system you can add that functionality with just a few lines of code. I've created the script for you, please create a file named "UMotionLookConstraint.cs" in your Unity project and copy & paste the following code. Then follow the comments in the code to learn how to use the script:
using UnityEngine; // Outside of UMotion, assign this script to both the left and right eye bone of your character. // Create a new empty transform, name it something like "Eye Target" and assign it to the "Eye Target Transform" field in the inspector. // Pro tip: Use one separate target per eye and one parent empty transform to move both at the same time. That allows you to animate/control eye convergence. public class UMotionLookConstraint : MonoBehaviour { public Transform EyeTargetTransform = null; // Open the "Options" tab in the clip editor and in the "Extending UMotion" foldout add "UMotionCallback" into the "Callback Name" input field. // Documentation: https://www.soxware.com/umotion-manual/Options.html#ExtendingUMotion public void UMotionCallback() { // Assumes that the z-axis is the forward axis of the eye. // Use ".right" (x-Axis) or ".up" (y-Axis) in case a different axis is the eye's forward axis. // Put a minus in front of the parenthesis if the axis is pointing in the opposite direction. transform.forward = (EyeTargetTransform.position - transform.position); } }
If you have any questions how to use the script, please let me know. I'm happy to help.
Best regards,
Peter
Repeat keys
Here is an example:
Is there a way to repeat those keys for the entire animation without me having to manually copy paste the same keys over and over again ? I have seen this done in other animation programs, but am unsure if it exists in umotion.
In other programs you just select the keys right click -> "repeat forever" or repeat for 30 sec or smth like that.
Hi,
thank you very much for your support request.
Unfortunately, such a feature does not exist in UMotion at this point. I've added it to my "ideas for the future" list so that this feature is considered for future updates.
Manually copy & pasting currently is the only way to achieve this.
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Customer support service by UserEcho