Answered

Any easy way to flip/mirror an animation vertically?

Arlorean 3 years ago updated 3 years ago 9

Image 992

I'm trying to mirror an animation in the z axis so not left/right but up/down. To do this I'm trying to subtract 180 degrees from the Euler Y value and negate the local position X and Z, which I think should work. Subtracting 180 degrees from the y angle in the channels editor works (ish) but there are only 2 decimal places. For the local position X and Z these differences really show up. In the example above the two X/Z values end up being -0.02 and -0.06 due to rounding:

Image 993

Other than editing each key by hand and suffering the drop to 2 digits of precision is there an easier way to achieve mirroring an animation vertically? 

Is there a way to increase the number of digits of precision used in the channels editors?

Answer

Hi Arloeran,

thank you very much for your support request.

Is there a way to increase the number of digits of precision used in the channels editors?

I'm looking into this and might patch that in the next UMotion version.

In the meantime:


The move and rotation tool assistant windows shown in the scene view give you the full resolution float value:


The tool assistant windows are shown when you have a bone selected and have the move/rotation tool selected. The tool assistant visibility can be toggled via the "Display" section of the pose editor (just in case it's hidden in your UMotion project).

Btw. it's also possible to flip a whole curve in the "Curves" view. Select all keys and then use the blue bars to flip the curve vertically. This flips around the upper or lower maximum, so it requires you to move the keys back up/down again in a second step. Also this method isn't very precise obviously, but it's fast.

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

Best regards,
Peter

Answered

Referencing/Linking animation clips in other clips in the same project

felix 3 years ago updated by Peter - Soxware Developer 3 years ago 1

Hi Peter!

I am just starting to work with the layers feature - in this case using it to create emotes that will be on an override layer in the game.


When doing this, I thought it would be very handy to be able to have layers with linked clips that the emote can be layered with (such as idle, run, walk etc) instead of copy-pasting the keyframes to layers of every emote-clip. That way, if for instance the idle pose changes slightly, I could see the change across all clips without having to re-copy paste the keys.

So what I'd like to do is to be able to make a new override layer in "layer clip" which links to the keyframes of another clip: "base clip"

The important part would be that when a change is made in "base clip" it would also show in "layer clip".

I would then create my new animation on another override layer on top of the linked "base clip" layer inside "layer clip"

I think this feature would come in handy for all animation set ups that use layers, since many different poses and animations could be linked to the layer clip - an you could see how all combinations will look directly in umotion.

/Felix
Answer

Hi Felix,

thank you very much for sharing your idea. I really appreciate that!

I've added your idea to my internal list where I collect all good ideas. I use this list to prioritize features for new versions.


Please let me know in case you have any questions.


Best regards,
Peter

Answered

Animation only works with root motion after editing

Sarahsauce 3 years ago updated 3 years ago 2

Hello! :)

I'm very new and worried this is a dumb question / request for help. I have a model with animation that I imported, it works great without root motion enabled. But after I'm done editing, anything from the waist down becomes wild. Enabling root motion fixes this, but I wonder where I went wrong during (or before?) the editing process.

I saw a post about how to remove root motion from a model, but that was a bit confusing. I tried it and only made worse by turning the root motion animation just as bad and very chaotic. I made a quick gif to show with and without root motion (left with, right without). Models used are from the Cartoon Heroes pack, free on unity's asset store, and I modified the sword stance. 

Image 991

Love your product. Game design would be so much harder without your amazing work.

Answer

Hi,
thank you very much for your support request. Also thank you very much for the nice words. I'm glad you enjoy working with UMotion.

Hmmm... it's a bit hard to tell what exactly is going on without seeing the whole editing workflow and the actual files but I think the following might help:

  1. Select the exported animation file in Unity's project window.
  2. In the inspector window, set everything to "Original" and enable "Bake Into Pose" for the positions:

In case this doesn't help, the easiest way for me to look into your specific issue is if I can do further investigations with your actual files. Please send me the original animation, the UMotion project, the exported animation and the related character (without textures if you want) all packaged as a *.unitypackage. You can send that file to me via the email support form (or request a link to my dropbox in case the file size is too big).

Thank you very much.

Best regards,

Peter

Answered

Copying clip to a layer

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

I saw it was a requested feature or something. Does It exist now?

I want to add a layer to my original clip with an idle animation (which will save me a lot of time animating it myself), is it possible?

Answer

Hi,
thank you very much for your support request.

This is already possible:

  1. (In case you haven't already:) Import the clip into your UMotion project
  2. Open the dopesheet and select all key frames (CTRL + A)
  3. Copy all key frames (CTRL + C)
  4. Open the destination animation clip
  5. Create a new animation layer of type override
  6. Paste all key frames (CTRL + V) into the new layer

If you want only parts of your underlying character to be overwritten, remove all key frames from the override layer of the bones you don't want to override. Use the weight slider of the layer to adjust the amount of influence (please note that the weight is a per clip setting and can't be controlled per frame).

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

Best regards,

Peter

Fixed

Length of animation clips in exported FBX file

dorothi 3 years ago updated 3 years ago 14

Image 981

Hello.

I am the user who asked the question related to the "no to all" button yesterday.

I have another question.

I noticed that the length of the animation clips in the exported FBX file is not reflected when imported into another Unity project or Maya.
Binary/ASCII 2010~2020.. doesn't matter.

As in the image, when importing, only the length of the first animation clip is reflected normally, and the rest is applied as the length of the second clip.
In other Unity projects, I figured out three workarounds to make the animation clip in this FBX the same length as the original.

One can select the clips one by one and then press the "Clamp Range" button to set them to their original length.
The second is to export as "one file per clip".
However, it is inconvenient to have to open fbx files one by one to ctrl+D to edit the corresponding animation clip in another project.
The last method is to copy the FBX file with ".meta" file from the original project in File Explorer and paste it into another Unity project.
This method normally imports the length of all clips in the imported FBX file. (Obviously this would not be possible in the autodesk "FBX review".)

So, what I am wondering is, when FBX is imported as all clips in one file, is there a way to keep the original clip length without having to copy the ".meta" file along with the FBX file to another project?

(*I have confirmed that Unity's "FBX Exporter" does not have this length issue)

Thank you!

Answered

How to automatically answer No to automatically configuring confirm message

Anonymous 3 years ago updated by dorothi 3 years ago 6

How to automatically answer No to automatically configuring confirm message when importing animations?

I'm trying to remove certain properties from hundreds of animations, but it's difficult to press No when importing each animation clip.
I tried to modify the Umotion code for this, but found that it uses already compiled DLLs.
Is there a way?

Image 978

Answer

Hi,
thank you very much for your support request.

The easiest workaround would be to unlock the corresponding bones temporarily for the sake of importing. Go to config mode, select the locked bones from the hierarchy window. Open the "Properties" tab and set "Visibility" to "Show". After importing the animations, go back to config mode and set "Visibility" back to "Locked".

Or you confirm the dialog with yes and then reset the visibility manually afterwards.

I'm going to add a "No to all" button to this dialog in the next update. Thanks for reporting this issue.

Please let me know in case you have any questions or if the above workaround doesn't work for you.

Best regards,
Peter

Answered

Question to animation

Hrohibil 3 years ago updated by Peter - Soxware Developer 3 years ago 1

Hello

Just bought the asset . 

I got a bunch of animations which came with the 3D model. 
I use like 6 of them for my AI. 

Now if I want to create a specific animation/pose , should I just modify one of the ones I don’t use? Save it as fbx and then drag into my animator, connect it from the Any state node so I can call this animation anytime from my AI controller when needed. 

Answer

Hi Hrohibil,

thanks for your support request.

Now if I want to create a specific animation/pose , should I just modify one of the ones I don’t use?

You can also just create a new one. If the existing animation is already very similar to the animation you are trying to create, then I would recommend modifying the existing one as it might be easier/faster. If the animations are very different, it might be better to start with a new animation.

Save it as fbx and then drag into my animator, connect it from the Any state node so I can call this animation anytime from my AI controller when needed.

Yes, export to *.fbx or *.anim and then assign the animation to a new state in your animator controller. Making a transition from the Any state to your new state is a good start, but the right way to do it might be depending on your AI controller so I recommend checking it's documentation.

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


Best regards,
Peter

Answered

How to avoid interpolated frames when import animation from outside?

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

Image 974

How to avoid interpolated frames when import animation from outside?

Image 975

Answer

Hi,
thank you very much for your support request.

When you import an (external) humanoid animation into your UMotion project, the animation has to be re-sampled thus additional key frames can get created. Generic animations on the other hand don't need to be re-sampled on import (the original keys are used).


If you want to tweak an animation previously created by UMotion, re-open the related umotion project, do the changes and then re-export your animation. Don't create a new UMotion project and re-import the exported *.anim file again for tweaking. Especially with humanoid, you would loose quality with every import/export loop. Furthermore *.anim (or fbx files) can't store the UMotion editing data (rig setup, animation layers, IK handle curves etc.) so if you are not using the original umotion project but instead re-import the exported *.anim file you would loose all of that editing data.

If you need to transition from one UMotion project to a new UMotion project (this is only necessary in very specific situations), make sure to import the animation directly from the old UMotion project (by selecting the old UMotion project *.asset file as animation clip you want to import). This copies all the editing-only data and doesn't need to do any re-sampling.

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

Best regards,
Peter



Answered

Export Animations for Use in 3dsMax

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

Hello, 

I hope this isn't too far outside the scope of UMotion, but I'm trying to get some animations that I've purchased from the Asset Store to import into 3dsMax for use on a rig I have in there.  This rig is also a character from the Unity Asset store.  Both the animation and the rigs are set to Humanoid, but while I'm able to set the rig-type on character to Generic, I'm not able to do the same with the animation and then import it into UMotion to try and then re-export an animation out in order to get it working in Max.   I get the below error:

Image 971

Is this something that your Animation Converter could help with?  I know most people ask the question how do I get a rig out of Max/Blender/Maya into Unity, but I enjoy working with UMotion and Unity so much, that I'd like to do the pipeline in reverse, but I'm not sure how or if this is even possible.  


Any advice appreciated :) 

Answer

Hi,
thank you very much for your support request.

Yes this is possible with UMotion Pro. Here's how:

  1. Make sure that your animation and your character are both configured as humanoid.
  2. Create a new UMotion project of type humanoid and assign your (humanoid) character to the pose editor.
  3. Import the humanoid animation.
  4. In the export settings, set the export file type to FBX. Then select your humanoid character's *.fbx file as destination FBX file.
  5. Export your animation.

Your animation is now written into the FBX file of your character and is thus using your characters rig/skeleton. Import that character in 3ds max.

Let me know in case you have any questions.

Best regards,
Peter

Not a bug

Example scene is totally broken.

Max D 3 years ago updated 3 years ago 2

Hi! 

I bought the plugin, opened the example scene in Unity Editor 2020.3.23f, and it looks totally broken:(


https://monosnap.com/file/otWu07xT7NtfF2DmXYjdtvvpQYcZF0

Please help!

Answer

Hi,
thank you very much for your support request.

Looks like the RobotKyle.fbx wasn't imported correctly in your project because it already existed in your project (from the screenshot I can see that it's named TCP2_DemoRobotKyle even though in the UMotion package it's called "RobotKyle.fbx"). Search for "robotkyle" in Unity's project window and delete every occurrence. Then re-import UMotion from the asset store and see if that fixes the issue.

You could also import UMotion in a fresh Unity 2020.3 project just for playing with the examples.

I just tried importing UMotion in a fresh Unity 2020.3 project and I did not get that results, so this shouldn't be a general issue. Unfortunately Unity's package importer isn't really good at dealing with such conflicts, but I'm afraid there isn't much I can do against this.


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

Best regards,
Peter