Answered

How to rotate / translate the whole animation (all key frames) globally (additive layer not in global coordinates)

Robert 5 years ago updated by Peter - Soxware Developer 7 months ago 3

Hi,

I have a number of motion capture animations that start with a T-Pose that's oriented in-line with one of the depth cameras used for motion capture, which determines the orientation of the global coordinates. These animations then include some exercise animations that are performed diagonally and offset from the origin, based on the location of an exercise mat, and maximising visibility from multiple cameras.

I have a number of these animations which I want to have a consistent origin and rotation that corresponds to the center of an exercise mat.

I've seen others asking similar questions and I have experimented with the possibility of using an additive layer or translating the x/y/z position key frames and converting the pelvis rotations to euler and translating the euler component key frames.


The problem with those options is that they are applying the rotations in the wrong coordinate space - the coordinates of the pelvis, but I'm simply trying to rotate everything in global coordinates.


I want to effectively rotate/translate the root bone, not add a local-coordinate rotation to the pelvis for every frame.


Currently I can manage the translation with an additive layer ok, but if I try and rotate everything then I end up tilting my whole animation instead of rotating everything in global/world coordinates.


This feels like it must be a common requirement to be able to rotate an animation to fixup its orientation so I'm hoping there's some trick I'm missing here?

Any help much appreciated!



Answer

Hi,
thank you very much for your support request.

Yes a rotation that is applied to the hips/pelvis does not rotate the translation of the hips/pelvis (that's due to the order how Unity applies those transformations).

The easiest way to rotate the whole animation is via the inspector of your animation:

If you change this setting before you import the animation to UMotion, UMotion is going to bake the offset into the animation.

When exporting to *.FBX (from UMotion) you can also use the "Rotation Offset" shown in the "Export Settings". For further information, please refer to the manual (click on the question mark in the UI).

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

Best regards,
Peter

Answered

How to orbit camera around selected bone?

PlayingKarrde 5 years ago updated 5 years ago 4

Perhaps this is me just being dumb, but because I can't technically select any bone in the hierarchy, only within the clip editor itself, I cannot focus the camera on a bone (shortcut: F). Thus I am not able to orbit my camera around easily to see what I am doing. This seems like basic functionality so I am most likely missing something but would appreciate some help if possible. 

Answer

Hi,
thank you very much for your support request.

Bones should be select able using the left mouse button in the scene view when the character is assigned to the Pose Editor and the bone you are trying to select is not driven by IK (on the IK rig layer). If this doesn't work, there might be other assets that might be interfering with UMotion (this can happen if they consume all mouse click events in the Scene View even if they don't use them making it impossible for UMotion to get any mouse input). A user once kindly reported such an issue for an asset called "Multispector", I'm not sure if the developer of this asset fixed this already. Try using UMotion in a new empty Unity project to verify this.

To center the camera on a bone use the "Focus Camera" button in the Pose Editor or the corresponding "C" shortcut (the tooltip always shows the binded shortcut). To orbit the camera, hold "ALT" and the "Left Mouse Button" (default Unity camera control).

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

Best regards,
Peter

Answered

Problem with custom transfer gizmo visibility

Illustrator 5 years ago updated by Peter - Soxware Developer 5 years ago 5

Hi

I'm following the IK tutorial 

Youtube video

but for some reason when I create the custom transfer it doesn't show the gizmo:

Image 164

If I use custom joint I can see the sphere gizmo.

Image 163

Is there something wrong with my setup or is this a bug?

Answer

Ok, glad to hear that everything is working now. If this issue happens again, please let me know.

Best regards,
Peter

Answered

Workflow for Export to Blender?

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

Hello everyone.  I just bought the Pro version.  In the Unity Asset Store, it lists one of the Pro Features as NEW: FBX Export (Windows and Mac OSX only) .... use animations created in UMotion in 3D modeling applications.  I have followed the steps in the tutorial video for exporting an FBX, but I am running into problems when trying to import the FBX into Blender.  Namely, some frames of the animation are dropped (24 in UMotion to 21 in Blender), and there are no bones or mesh included in the FBX.  Only a hierarchy of empties.  So my question is, has anyone successfully exported animations to Blender?  If so, what steps did you take?  Thanks for any assistance.

Answer

Hi,
thank you very much for your support request.

To export with mesh data, you need to export the animation into the *.FBX file that contains the mesh. You can do that by setting "Write Mode" to "Update Existing File" in the UMotion export settings. Then choose the *.FBX file that contains your character(mesh) as destination. Make sure to backup your *.FBX before you export (just to be on the safe side).

UMotion changes the frame rate of the *.FBX to the same frame rate that you've used in your animation (in UMotion). If Blender can only deal with 21 fps, you might want to change the frame rate to 21 fps in UMotion.

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

Best regards,
Peter

Answered

Need script access to functions - Working prototype of input controller on iPad. Would love to use in UMotion

Rave-TZ 5 years ago updated by Peter - Soxware Developer 5 years ago 1

I posted a while back asking for script access to various functions like finger curl, IK sliders, pinning, etc.  I asked for this because I was developing an input system to control various things in unity on an iPad.  Development started because I was using UMotion to animate fingers and ended up cramping my hand pretty badly due to the constant slider manipulation involved.

I then developed an input a set of tools on iPad (and android) to aid in my animation needs.  It currently works just fine in Unity animation and timeline, but I would really like this to work in UMotion.

The hands animation is to scale of my own hands on an iPad Pro but its still great on a regular iPad.  It can read the current frame's finger curl settings and present them on the interface for easy modification.

Youtube video
Answer

Hi,
thank you very much for sharing your progress on this. This looks really cool, love it!

The API changes that you've requested are still on my list, there have just not been any major updates in the meantime (I have focused a lot on patch releases to further improve stability). Please keep an eye on the UMotion forum, new updates are going to be announced there.

Keep up the amazing work and let me know in case you have any questions.

Best regards,
Peter

Answered

Few ideas on improving user experience

MaciejP 5 years ago updated 5 years ago 2

Hi,

I've been using UMotion for about 2 months and so far it's been very usefull.

There are few things however that could be improved.

1. Interchanging background for each track in clip editor - sometime it's hard to tell which keys are from which properties.

2. After clicking 'Add Layer' button, the text could be selected, so I could name it (now I have to select the text on the popup). Also, the Enter button doesn't work as OK, so it needs to be pressed with a mouse.

3. Changing speed of parts of animation - now I need to delete every other key and manually move following keys to achieve that.

Thanks

Maciej

Answer

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

1. I think this is a good idea. I've added this to my "ideas for future updates" list.

2. In the next update the name field is now selected by default.
Regarding confirming by pressing enter: This already works but you need to press enter twice (once to confirm the text field input and a second time to confirm the whole dialog). This is the same across the whole UMotion UI and I want to keep that behavior consistent.

3.What you are looking for is called "ripple"-edit. This feature was already introduced in UMotion V1.11 (see forum post). 

Hold the [R] key while scaling/moving selected keys to move existing keys in such a way that they are not going to be overwritten (or leave a gap).

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

Best regards,
Peter

Answered

DYNAMIC BONE

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

I can´t figure out how to use dynamic bones with umotion...or umotion pro does not support dynamic bones?

Answer

Hi,
thank you very much for your support request.

As far as I know, dynamic bone is a run-time script. So you create your animation with UMotion (during edit-time) and when you enter play mode, you should see the dynamic bone script in action. The animations created with UMotion are "regular" animations (like created in any other software) so if you assign them to your character, they should incorporate nicely with dynamic bone.

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

Best regards,
Peter

Answered

fbx import scale change

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

Hi!

I Just have a quick question: I made a lot of Animations with Umotion for my character but then later on decided I needed to change the scale of the FBX in the import settings. Now the animations are broken and give me really scary looking results. Is there a way how I can fix this?

(I know I could just revert the import scale to the same it was when I first created the animations but I am going to use many different character models that are going to be sharing these animations and so I would really rather control all of their scales through the import settings than through different scales in the scene)

I would be very glad for any ideas! Thank you!

Answer

Hi,
thank you very much for your support request.

If you are using "humanoid", the following should work (please backup your UMotion project before you continue):

1) Apply the character with the new scaling to the Pose Editor.

2) Switch into Config Mode and click on "Apply Scene Pose" --> "Apply All"

3) Click on "Save Reference Pose"

Please note that your hips position curve would need to manually be scaled (you could do this in the curves view by selecting all keys and using the blue bars to scale the whole curve).

When you are working with "generic" you need to make sure that you have no keys generated for the scaling and for the position of your bones. So after applying the same steps as for humanoid, I recommend removing any scaling keys from the animation. Also remove any unnecessary position keys (i.e. a bone in real life usually doesn't translate, only rotate).

Or you could keep the small version of your character as "authoring" version, and then use the humanoid animation on your correctly scaled characters.

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

Best regards,
Peter

Under review

Override layer and FBX export issue

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

Hi,


First many thanks for this awesome plugin!


I have an issue when exporting an humanoid animation to FBX when using override layers. If I don't use any override layer, the hips  orientation (red arrow in the Unity animation preview window) points in the expected direction. As soon as I add an override layer, even without any keyed frame, the red arrow always point forward, and the feet of the character start moving around. The effect is if the hip was still and the feet compensate the movement, loosing al the foot floor placement. The issue doesn't happen if I export to anim file. Many thanks

Answered

Using Layers

hugs 5 years ago updated by Peter - Soxware Developer 5 years ago 2

I am using the layers functionality in the Clip Editor to create variations of a single base animation. My base animation clip has 5 layers on it that modify the movement of some bones to add variety to the original motion. I would like to be able to Mute and un-Mute layers from my script.

My current workflow is to duplicate the current clip (with all the layers), then mute the specific layers differently on the different duplicate clips, then export them to create 5 modified animations. However, if I need to modify the base animation clip I have to delete all the duplicate clips, then re-duplicate them from the base clip, then mute the specific layers differently, then re-export them as separate animations.

Is there a way to mute and un-mute layers from script? If not is there a less manual workflow for creating many animations?

Thank you for the help!

Answer

Hi,
thank you very much for your feature request.

Currently the UMotion API doesn't provide access to the layers and their properties. I have taken a note to consider adding this in a future update.


I would say for the moment, the best manual approach is to duplicate the animation (one per modifying layer) and if you really need to change the base animation you would copy all keys of the modified base animation and then go through each duplication and replace the base layer keys their. Considering that modifying the base animation would probably not happen too often, this shouldn't take too much time.


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


Best regards,
Peter