Answered

Adding IK to spine changes hand IK

Anonymous 3 years ago updated 3 years ago 7

Hello, I want to make the first spine bone static (or less affected by the hips rotation) during movement animations

(Only weapons use the bodys upper half, and the rotating hip makes running with them look weird at times)

So what I am trying to do is add a 1 bone IK constraint to that first spine bone to have it not rotate along with the hip, but I still want to keep the position.

Is this the correct way to do this? How would I get ik to only use rotation of the ik target? Do you have a different idea maybe

UMotion Version:
1.25p01
Unity Version:
2020.3.4

Answer

Answer
Answered

Hi,

thank you very much for your support request.

I would just manually correct the spine rotation so that it's approximately static. If it is completely static, it might look very unnatural. You can use regular FK or if desired an additive animation layer where you just put the counter rotation on top of the actual bones key frames.

For more information regarding animation layers, you might want to check out the following video tutorial:

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

Best regards,
Peter

I just noticed the title is wrong (but this is what happened, when I tried to add a 1 bone IK constraint, it somehow changed the hands IK positions but nothing else, the animation looked the same?)

Answer
Answered

Hi,

thank you very much for your support request.

I would just manually correct the spine rotation so that it's approximately static. If it is completely static, it might look very unnatural. You can use regular FK or if desired an additive animation layer where you just put the counter rotation on top of the actual bones key frames.

For more information regarding animation layers, you might want to check out the following video tutorial:

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

Best regards,
Peter

Thank you, thats a great idea! I'm now using an override layer that overrides the entire upper bodies pose to be static, as well as overriding the hips rotation to not rotate, I then lower the layer weight to 80-90% to still have some rotation left, this seems to be working really well!

However, I havent found a way to set the layer weight manually, only the slider, is there a way to type in the exact value I want?

Great to hear that you've found a solution that works for you.

However, I havent found a way to set the layer weight manually, only the slider, is there a way to type in the exact value I want?

Unfortunately there is no way to set a numeric value for the layer weight. I've took a note to maybe add this in a future version, thanks for pointing that out.

Best regards,
Peter

Thank you, having these weights be consistent would be very important to me, so I would be very greatful if you could add this as soon as possible so I can continue animating, this tool is amazing :D

You can use this workaround in the mean time (I can't give you any ETA on if and when a numeric input will be available):

  1. Close your UMotion project ("File --> Close Project" in the clip editor).
  2. Click save in Unity.
  3. Open the umotion project file (*.asset) in a good/fast text editor like Notepad++ or VS Code (if you don't see text in the file, you need to change Unity's serialization mode from binary to text; by default it's text though).
  4. Now either search for your layer name or search for "BlendWeight". Then you can adjust the numeric value to your desire:

  5. Save your changes.
  6. Switch back to Unity and re-open the UMotion project.


Let me know if you have any follow-up questions.

Best regards,

Peter

Thank you very much, that worked!