Answered

Trying to group fingers rotation via custom property

frostymm 3 years ago updated by Peter - Soxware Developer 3 years ago 5

Was following the custom property video here:
/Assets/UMotionEditor/Manual/pages/ProLesson4.html

Figured that was how you grouped the finger bones together (I saw that in a different lecture at some point).

But apparently it isn't that simple!

Image 554

Added the bones but upon selecting the rotation channel, I get this error. I'm not quite sure what it means, why it's happening, or how to fix it. I just wanna group my finger bones in a way that lets me affect their rotation on one axis for gripping since just selecting them manually is so difficult.

Seriously though, can we get some quality of life improvements on the animated properties list? Like grouping all the properties based on what objects they're from and adding some dropdown arrows? Unity does that by default and it's much easier to navigate!

Small rant, sorry bout that. It's a little frustrating to learn the tool sometimes. Either way, any help would be greatly appreciated!

On a side note, is there a way to force the IK FK to always be synced to each other? Depending on which one you've moved? Like moving FK, will update IK position and vice versa. It's disorienting when the FK bones don't move with the leg.

UMotion Version:
1.22p10
Unity Version:
2019.4.12f1

Answer

Answer
Answered

Hi,
thank you very much for your support request.

In euler rotations mode, the rotation in of a bone/transform is defined by the 3 values (i.e. the rotations around the 3 main axis). This is easy to imagine, but suffers from a mathematical problem called gimbal lock. That's why UMotion also supports quaternion based rotations (i.e. the rotation is defined in a 4 dimensional space). Quaternions are hard to imagine and it's thus not allowed to manipulate its rotation properties directly. This video tutorial explains the different rotation modes and shows you how to switch between them:


In order to control a rotation via a custom property constraint, the rotation needs to be using the euler rotation mode (that's what the error message is indicating).

Btw. if your character is of type humanoid, you get grouped fingers automatically. You can control those groups via the muscle tool assistance displayed in the scene view window when no bone is selected:

Seriously though, can we get some quality of life improvements on the animated properties list? Like grouping all the properties based on what objects they're from and adding some dropdown arrows? Unity does that by default and it's much easier to navigate!

Yes I'm with you, this is something that can be improved. For now, I recommend to go the other way (select the bone in the scene view and UMotion automatically selects the corresponding animated property for you). So in most cases, you don't have to seek in the animated properties list as of instead you select the easier to spot bone in the scene view.

On a side note, is there a way to force the IK FK to always be synced to each other? Depending on which one you've moved? Like moving FK, will update IK position and vice versa. It's disorienting when the FK bones don't move with the leg.

You can disable the FK bones completely (in case they annoy you and you are just working with IK anyway) via the rig layers:


You can manually sync FK/IK bones using this buttons:

Usually you only need to sync them at those frames in your animation where you transition from IK driven to FK driven (or the other way around). So in other words, there shouldn't be the need to have them synced each frame.

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

Best regards,

Peter

GOOD, I'M SATISFIED

Quick to respond and takes feedback well

Satisfaction mark by frostymm 3 years ago
Answer
Answered

Hi,
thank you very much for your support request.

In euler rotations mode, the rotation in of a bone/transform is defined by the 3 values (i.e. the rotations around the 3 main axis). This is easy to imagine, but suffers from a mathematical problem called gimbal lock. That's why UMotion also supports quaternion based rotations (i.e. the rotation is defined in a 4 dimensional space). Quaternions are hard to imagine and it's thus not allowed to manipulate its rotation properties directly. This video tutorial explains the different rotation modes and shows you how to switch between them:


In order to control a rotation via a custom property constraint, the rotation needs to be using the euler rotation mode (that's what the error message is indicating).

Btw. if your character is of type humanoid, you get grouped fingers automatically. You can control those groups via the muscle tool assistance displayed in the scene view window when no bone is selected:

Seriously though, can we get some quality of life improvements on the animated properties list? Like grouping all the properties based on what objects they're from and adding some dropdown arrows? Unity does that by default and it's much easier to navigate!

Yes I'm with you, this is something that can be improved. For now, I recommend to go the other way (select the bone in the scene view and UMotion automatically selects the corresponding animated property for you). So in most cases, you don't have to seek in the animated properties list as of instead you select the easier to spot bone in the scene view.

On a side note, is there a way to force the IK FK to always be synced to each other? Depending on which one you've moved? Like moving FK, will update IK position and vice versa. It's disorienting when the FK bones don't move with the leg.

You can disable the FK bones completely (in case they annoy you and you are just working with IK anyway) via the rig layers:


You can manually sync FK/IK bones using this buttons:

Usually you only need to sync them at those frames in your animation where you transition from IK driven to FK driven (or the other way around). So in other words, there shouldn't be the need to have them synced each frame.

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

Best regards,

Peter

Gotcha! That video did indeed explain how to fix it! The gimbal lock is definitely a concern but I guess I'll cross that bridge when I get to it.

I considered setting my rig as humanoid but losing the ability for squash and stretch was a no-go for me. Is there any way to set up custom muscle groups for generic? Because that would be SUPER helpful.

I usually do actually go through the scene view to select my bones but I've found that the unity gizmos like the rotation sphere as well as the IK handlers through Umotion block my ability to select certain bones. I know I could fix the IK one by just making it smaller but I also want to be able to select it with ease. I might have to just move it farther away from the body or something...

I swap between FK and IK pretty frequently when animating. Sometimes I just can't get the IK to position the bones properly but it's really easy to make minor adjustments with FK. Sometimes I need to make a big change and FK would take a really long time so IK is the way to go. So I really do need both and I've been clicking those buttons to keep them synced up CONSTANTLY. It'd just be nice to tick a box and have one sync when I change the other. That's how the other animation programs I've used have done it so it seems weird for them to be entirely separate.

Thanks again for the explanation!

Is there any way to set up custom muscle groups for generic? Because that would be SUPER helpful.

The muscle groups are based on the humanoid animation features (and it's internal use of muscles), this can't be implemented for generic.

I usually do actually go through the scene view to select my bones but I've found that the unity gizmos like the rotation sphere as well as the IK handlers through Umotion block my ability to select certain bones. I know I could fix the IK one by just making it smaller but I also want to be able to select it with ease. I might have to just move it farther away from the body or something...

Use the "select" tool to hide the move/rotate/scale gizmo:

You can assign a shortcut (click on Edit --> Preferences in the clip editor) to the select tool for faster access.

Yes adjusting the size and render style of the IK handle might help. In most cases the IK handle only covers the wrist area (for hand IK) or the ankle area (for feet IK) and should thus not cover any bones you want to manipulate directly.

I swap between FK and IK pretty frequently when animating. Sometimes I just can't get the IK to position the bones properly but it's really easy to make minor adjustments with FK. Sometimes I need to make a big change and FK would take a really long time so IK is the way to go. So I really do need both and I've been clicking those buttons to keep them synced up CONSTANTLY. It'd just be nice to tick a box and have one sync when I change the other. That's how the other animation programs I've used have done it so it seems weird for them to be entirely separate.

Ok I see what you mean. I have to think about this. For now, I recommend assigning shortcuts to the "Set FK to IK"/"Set IK to FK" buttons to speed up your workflow.

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

Best regards,
Peter

Just a side note, It'd be really nice if when the IK handle is selected and you press "Set FK to IK" that it would do that for all bones in the chain for that IK handle. Rather than having to select each individual bone and then pressing the button.

That's a nice idea. I've took a note to add this in the future.

Best regards,
Peter