Answered

Animating generic in a humanoid

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

Hi, this says that I can animate the generic bones outside the human skeleton.

Image 586


Does it refer to this setup?

(VFX has the humanoid skeleton, and WeaponSlot is the foreign object.

Image 588

Because it shows this whenever I try to unlock the WeaponSlot object.

Image 589

Answer

Hi Asyl,

thank you very much for your support request.

Yes you can animate generic bones for humanoid models as long as they are a child of the "hips" bone of your character (that's what the error message is trying to say). The sentence in the manual is not correct, I have updated that paragraph shipping with the next patch release. Thank you very much for pointing that out.

Please note that generic bones are invisible by default in humanoid projects. You can make them visible by switching into config mode. Select the generic bone and under "Properties" set "Visibility" to "Show".

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

Best regards,

Peter

Answered

Conditions for generic model to be compatible with generic clip

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

Hi, when I try to import a generic clip in a generic umotion project it says about the hierarchy problems?

Should the model rig's name and an external clip's rig name be the same?

Does it care about multiple parenting or as long as the name is the same it doesn't care if it's way beyond the parent system? (just exaggerating)

And may I know other conditions that it checks so as to prevent this from appearing next time? Thanks

Image 585

Answer

Hi Asyl,

thank you very much for your support request.

Generic animation clips only work for the generic character they have originally been created for. You can not use a generic animation created for character A on character B. Simply renaming the hierarchy won't help (it would satisfy the error message you get, but the imported animation would be trash). Only Unity's humanoid animation system is capable of animation re-targeting (i.e. trying to match an animation created for character A on character B). More information about animation re-targeting and why it is necessary can be found in this blog post: https://blogs.unity3d.com/2014/05/26/mecanim-humanoids/

If you get this error message even though the animation you've imported was created for the exact same character, then make sure that you have not altered the hierarchy of your character. The animation clip references all bones/transforms using a so called transform path relative from the animator component (e.g. "Hips_01/Spine_01/Spine_02/Shoulder_R" <-- would reference a bone named "Shoulder_R"). So beginning with the animator component, there must not be any extra transforms or transforms that have been renamed or moved in the hierarchy.

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

Best regards,
Peter

Answered

VR IK

Jim 3 years ago updated by Peter - Soxware Developer 3 years ago 4

Lev,I would like to work on hand rotations/Grips on a two handed object that has been tracked in VR like for example a baseball bat. I can get the tracker data in by recording its movement and playing it back in unity whilst recording an anim of a humanoid being posed by Final IK's VRIK based on the trackers motion. I do not want to repeat this at runtime, but to perfect the animation in Umotion of wrists etc. Trouble is I cant seem to IK or parent the second hand to an object held in the other hand. Can you give me any hints ? I tried to find a way to copy the coordinates (Keys) of the bat held in one hand and pase them to FK/IK movement in the other hand's data, but when I paste the keys they only paste the X axis (Red Curve ) and lose the z axis and y axis data.on the keys I Cant understand why could this be a bug? Otherwise is there a way to copy the local positions on one hand and paste into  a new transform on the root object using the root's co ordinates? 

Answer

Hi Jim,

thank you very much for your support request.

Just assign a child-of constraint to the IK handle that you want to parent to the baseball bat.


In case you used the IK Setup Wizard to setup your IK constraints, a child-of constraint is already assigned to the IK handles (used for IK pinning). Just disable the IK pinning mode (go into config mode --> select the IK handle --> open the constraints tab --> scroll to the child-of constraint --> disable the check mark for the IK pinning mode).


With a child-of constraint, you can change the parenting during your animation. You can also parent the IK handle to the baseball bat directly in config mode via the "Parent" field in the "Properties" tab (this changes the hierarchy and is thus applied for the whole UMotion project).


For more information regarding the child-of constraint, please checkout the following video tutorials:


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


Best regards,

Peter

Answered

Object constrained to parent is Ok in editing but not on export

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

Hi, 

I have an object I constrain to my players hand. When I am building the animation, it's fine and in a good position.

When I export and use it in came on the same character prefab, the item I constrain isn't in the hand but a little way off. Any ideas?

Working (in editor): https://www.loom.com/share/1fbdb55738cc47ed8625c10199e4be89

On export and attach to the player:

 

Image 584

Answer

Hi,

thank you very much for your support request.

The child-of constraint calculates the position/rotation of the object as if it would have changed the parent, but in reality it does not change the parent. So what you get is a curve that is still in local space of the original parent. If you now export your animation, and the final animation is played a little bit different than the original (for humanoid, there are several reasons why this can happen like bad humanoid avatar setup, wrong root motion settings,...) then the offset doesn't match anymore.

An easy fix is to use generic, as it plays the animation "as it is". No humanoid "black magic" involved. It's less complicated then humanoid (in usage) and has better performance (due to no animation re-targeting) and better quality (humanoid's animation re-targeting is a lossy process that is always sacrificing quality a bit). The only benefit of humanoid is it's ability to use the same animation across different (humanoid) characters (which won't work anyway when you are using the child-of constraint). You can convert your animations to generic by creating a new UMotion project of type generic and import the humanoid project. That's what I would strongly recommend.

More information on humanoid: https://blogs.unity3d.com/2014/05/26/mecanim-humanoids/

Head is still static though.

There might be an issue with your humanoid setup. Check the humanoid configuration (rig tab of the inspector of your source model). Check that all bones are displayed in green. Changing the humanoid setup might require an update of your UMotion project (i.e. create a new humanoid project, assign the new character and then import the old project to keep all the animations you've made).

Another thing you can check: Select the exported *.anim and check the preview window in the inspector (it uses unity's default humanoid character as preview). Does the head preview correctly?

Best regards,
Peter

Answered

Loops and layer

Netpost 3 years ago updated 3 years ago 4

Is there a simple way to bake loops into a single longer animation?  If I try to copy all frames and paste them at the end of the first loop, no root motion are applied.  I have root motion enabled in the animator and the loop root motion work in the unity timeline.  

Often the duration of my base layer is not long enough for my new top layer and  I am not sure how to extend this base loop layer before adding the new layer. 

It would be amazing if Umotion Pro would bake the loop clip when loop is activated in the playback of Umotion Pro while exporting the clip. We would only need to extent the selection to the length of loop needed. This would be so useful.

I hope that make sense.  ;)

Thanks Peter!

Answer

Hi Netpost,

thank you very much for your support request.

Your approach is correct. In order to advance the root motion between the loop-seams, open the curve of the root motion driving animated position property. Then select all keys of the second loop and adjust their vertical position so that you get a continuous curve/motion.


In case you are also using a root rotation (that doesn't come back to it's initial rotation when the loop ends), I recommend changing the rotation mode of that rotation property to "euler rotation" (related video tutorial). Then you can do the same editing with the curves as you've just done with the root position curve.

Thanks for suggesting this automated workflow. Currently the playback settings in UMotion are only responsible for previewing the animation, but have no impact on the exported animation. That's also how it is communicated in the video tutorials and documentation. The behavior you suggested would be a breaking change (as the playback settings would suddenly have an impact on the output), I have to carefully think about if this has any negative side-effects. Anyway, as mentioned above, this automatic workflow would just save you a few seconds as adjusting the curves should be rather easy.

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

Best regards,
Peter

Answered

Prevent legs from crossing in 8-directional strafe animation?

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

I created a nice set of strafe animations, but when I put them into a blend tree, the legs end up crossing when blending between Back/Right/Forward/Left to the diagonal directions. Any tips for managing this?

Answer

Hi,
thank you very much for your support request.

Afaik, there is no easy fix for this. I think I've also seen this in AAA games from time to time. Maybe advanced machine learning based techniques like motion matching can handle this in a better way. Anyway, usually this is a very minor/subtle problem and it might be better investing your time in a more visible/important feature of your game.

Here are some tips I've found related to this: https://forum.unity.com/threads/movement-animset-pro-controller-added.220742/page-3#post-2385517

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

Best regards,

Peter

Not a bug

Could not load signature of something

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

Image 582

Can't remember what I did when this appeared, probably appeared few times in few days. I'm just ignoring it, but maybe there is something that needs to be done.

Answer

Hi,

thank you very much for your support request.

This is just a false alert generated by Unity in some situations. It has no negative impact on the functionality of UMotion or Unity and you can safely ignore that.

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

Best regards,
Peter

Answered

FBX files from unity to blender

Anonymous 3 years ago updated 3 years ago 2

I would like to edit the animation in Umotion, output it as an FBX file, and then import it into blender.

However, after editing in Umotion, it is not recognized as an armature. Perhaps Each bone is recognized as an empty object.

I want to import them as shown in the second picture.

Is there something wrong with the output method?

Image 580

Image 581

Answer

Hi,
thank you very much for your support request.

It depends on the FBX import settings in blender. I tried a few things, and the best result I get was when exporting the animation with the character's mesh (you can do that by setting "Write Mode" to "Update Existing File" in UMotion's export settings, then select your character's source fbx file as destination file) and with the following import settings in blender (displayed on the lower left when browsing for the fbx file):

If you don't need the mesh, you can delete it after the import.

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

Best regards,
Peter

Answered

Delete only one axis keys

Ozhogi 3 years ago updated 3 years ago 2

Hi

Great software, only with it I finally agreed to work with mockups and clean them :)

While it is inconvenient, except that deleting only unnecessary keys from one of the coordinates, and not from all

Maybe I haven't found something?

That is, my limb should move at the same speed along one axis, and wag back and forth along the rest

I can, of course, select this axis and fit it using a stretch to zero, but maybe it is possible to simply delete the intermediate keys, leaving only the first and last?

Image 578

Answer

Hi,
thank you very much for your support request and thanks for the nice words.

Yes this is possible, just not enabled by default. Go into settings (click on the gear icon) and remove the tick from the "Chain Neighbour Keys" checkbox.

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

Best regards,

Peter

Answered

Error exporting animation as fbx (root not found)

Ivarsson78 3 years ago updated by Peter - Soxware Developer 1 year ago 5

Hi!

I'm having problems with exporting animations for a specific character ("Root" not found in fbx).

I'm creating a new fbx, not overriding an existing.

This occurs for animating a specific character only.

The only difference between this and other characters I've tested with is that in the problem character the name of the fbx and the name of the object containing the "Skinned Mesh Renderer" are the same. If I instead create a copy of the fbx and use that I don't get this message. But then the hierarchy of the exported animation changes from the object assigned to be animated (new object added as child to root-object).

If I export as .anim instead of fbx there is no problem.


Any known issues regarding this?

Best,

/ M

Answer

Hi Ivarsson,

thank you very much for your support request.

Export to FBX requires unique names for all bones/transforms in the hierarchy. When creating a new UMotion project for this character (with duplicate names), UMotion should warn you that this might cause issues when exporting to FBX.

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

Best regards,
Peter