Answered

Rotate animation

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

Could someone help me with my animation, I have an animation where the character runs forward and stops, I need to repeat the same animations at 45º, 90º, 135º, 180º, -45º, -90º, -135º and -180º is there any way to modify the animations to go in these directions?

You can edit the Motion Q and MOTION T fields in Umotion. I need edit root motion curve to rotate direction from all my animation to go this angles.

Answer

Hi,
thank you very much for your support request.

What type of animation do you have (humanoid or generic/legacy)?

  1. For humanoid, you can adjust the rotation of the source animation by selecting the *.anim file in Unity's project window.
  2. Then in the inspector window, adjust the rotation offset:

  3. Then import the animation into UMotion.
  4. Repeat for all rotation offsets required.
  5. Then combine the clips with the different rotation offsets by copy & pasting all keys of one animation into the other.

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

Best regards,
Peter

Not a bug

IK position in-between bugged after deleting keyframes

frostymm 4 years ago updated 4 years ago 4

I was working on making two keyframes when I took a break to figure out custom properties for the fingers.

Then when I came back and started working on those, I somehow accidentally made and extra 3rd keyframe between the two I was working on so of course I deleted it. Now at the spot in the animation where I deleted that key, both of my foot IK just wig out and go up into the air and it doesn't seem to reflect the position they're set to or the curves.

First Key:

Image 559

Deleted Key:

Image 560

Last Key: 

Image 561

I can't even make one gosh darn animation with this plugin man.

Answer

Hi,
thank you very much for your support request.


Have you been using IK Pinning or the child-of constraint? Keys that are in "IK Pinned" state are using a different coordinate system (i.e. they are relative to the world) in respect to keys that are not pinned (they are relative to their parent bone). When you transition from pinned to not pinned, you need two key frames right after each other to correctly transition from one coordinate space to the other. UMotion creates this extra key automatically for you (that's probably the key you thought that you've accidentally created). If you delete this extra key, then the position/rotation curves interpolate between two completely different coordinate systems thus resulting in unwanted positions/rotations.

More information:

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

Best regards,

Peter

Answered

Trying to group fingers rotation via custom property

frostymm 4 years ago updated by Peter - Soxware Developer 4 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.

Answer

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

Answered

Exported animation has different speed

Anonymous 4 years ago updated by Deletado 4 years ago 2

I'm having problems with the speed of the animation exported with the anim format, I tried as fbx but it doesn't work, with anim some animations work correctly, however when I create a layer the speed is out of control, even reducing the speed to 0.1 the animation is bad. What is happening?

Answer

Hi,

thank you very much for your support request.

When you select the exported *.anim and preview it in the inspector window, does it play correctly then?

If yes, then you need to check your Animator state machine setup (maybe you altered the animation speed there).

If not, please post some additional information so that I can help you: A video demonstrating your problem or even better a unity package that includes your character, the UMotion project and the exported animation so that I can look at it. You can send me the package via email support (or request a link to my dropbox via said email).

I tried as fbx but it doesn't work

Please check out the chapter "Exporting Animations FAQ" in the UMotion manual. Use the "Update existing file" mode when exporting a humanoid animation.

Best regards,
Peter

Answered

Project Wide Layers

mel 4 years ago updated by Peter - Soxware Developer 4 years ago 2

Kind of relate to https://support.soxware.com/en/communities/1/topics/713-copy-a-layer-to-another-animation-clip#comment-1140

I think it would be useful/logical to have a project-wide offset. Either by adding project-wide layers (duration might be an issue for that.. not sure), or a project-wide pose offset (constant no animation)

Answer

Hi,
thank you very much for sharing your idea.

There is already a way you can do this (though a bit tedious) by adding all the different animation clips into override layers of a single animation clip. Then on top of all of them you add the additive animation layer. Using the UMotion API, you can write a script that exports the same animation clip multiple times but mute/unmute the override layers as needed.

Currently I don't think that a project wide additive layer would be wide-spread used by other users as in most cases you would need different offsets for different animations. It's the UMotion's API goal is to cover such specific use-cases, so currently I do not plan on adding such a feature to UMotion natively, I'm sorry.

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


Best regards,
Peter

Answered

💊 - Some kind of API

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

I really enjoy UMotion a lot. After playing with it non-stop for 2 days I realize how many hours of work it will save me in the long run, but I do have some feedback that I think would make it even better. I've already submitted 3 other ideas, but I think having this one could resolve all of them: Add an API.

I understand that you don't want your code stolen and went the obfuscated road, but I think having a way for more advanced users to extend it would be great, from the top of my head (I'll add more to it as I think about it) that's what I think the API could provide:

- Access to:

    - The properties and their keys, The clip and their layers, 

    - The Umotion project infos and methods (save, save as...)

    - The Config Modes constraints (there is currently no way to set the min/max values in batch which is very long to do manually)

- Ability to extend the Clip Editor's menu (to run scripts affecting the parts above)


Thanks

Answer

Hi,
thank you very much for your idea. I really appreciate that.


UMotion already has an API. The API does not feature all the things you mentioned yet, but a few parts are possible right now. Please check out the manual's chapter "UMotion API" for further information.

Let me know if you have any questions related to the API.

Best regards,
Peter

Answered

👁 - Isolate Curves

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

Hi,

Is it planned, or is there a way to isolate the animation property components?
For instance, in the screenshot, I'd like to select localPosition.y  in the left list and expect it to filter the curve view with only its curve.

If not is there an easy way to select a curve?

Thanks

Image 551

Answer

Hi,
thank you very much for your support request.

Yes this is possible. You can toggle the visibility of single curves using the eye icons displayed in the "Animated Properties" view (in your case it is hidden because you would need to scroll to the right):

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


Best regards,
Peter

Answered

🧩 - Import Clip to Layer

mel 4 years ago updated 4 years ago 2

Hi,

I know it's possible to copy-paste keys between clips/layers which is great, but depending on the number of frames to copy, it takes some time. Maybe a good way could be to add layer import as in essence, they act as a clip.

Thanks

Answer

Hi,

thank you very much for your feature request. I really appreciate that.

You are right, for bigger animations it might indeed be faster to import the animation directly into an animation layer. I've took a note on my ideas for the future list, but because the saved time might not be that big (especially for smaller/medium sized animations) I give this feature a low priority.

If you have any questions or any other ideas, don't hesitate to contact me.

Best regards,
Peter

Answered

🔍 - Lower Zoom Level

mel 4 years ago updated 4 years ago 2

Hi,

Is there a plan or a way to have an even lower zoom level on the UMotion Clip Editor.
I wanted to do it myself but the code is completely obfuscated :(

I'm cleaning motion capture data that I'm capturing in the editor, and some are minutes long, I cannot easily view all the keyframes at once like in Unity's Animation window.

Image 550

Thanks

Answer

Hi,
thank you very much for your support request.

Yes I can lower the min zoom level in the next version. But please note, that especially when working with mocap animations (that have a huge amounts of keys), performance can decrease drastically as Unity's GUI system is rather slow and it has to draw a huge amount of keys at the same time...

Thus I recommend not to work with animations longer than 1-2 minutes. If you only need a few seconds from a longer mocap session, crop the original mocap animation in the animation's inspector window before you import the animation into UMotion.

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

Best regards,

Peter

Answered

Applying reference pose to multiple/all keyframes

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

As far as I know you can only apply reference pose to one keyframe at a time, is there a better way to do this then applying one by one? I was hoping for their to be drag and select what you want and simply apply reference pose to all of them but it doesn't seem that simple

Answer

I'm not sure if I understood your initial request correctly. In your initial post you've been talking about the "apply reference pose" button, right?

If you instead meant that you want to copy and paste a pose from one animation to the other, just select all the keys you want to copy (they can be from multiple bones/transform and/or multiple frames at the same time). Then press CTRL + C to copy the keys, go to the destination animation, place the frame cursor at the appropriate position and then press CTRL + V.

If you need to then correct the position, select the position property, switch into the curves view and adjust the curve accordingly. Another way to apply a global offset is via an additive animation layer (please refer to the manual at "Clip Editor / Layers").

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

Best regards,
Peter