Answered

Unique layered animations for characters sharing re-targeted animations

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

Quick question: We have multiple characters sharing the same animations through Humanoid re-targeting.  This works fine for the most part, but not perfectly.  Would your tool allow us to modify each character individually and apply the changes as a layer?

Answer

Hi,
thank you very much for your support request.

Yes, lets say you have humanoid animation "Clip1.anim".

  1. Then you would create a umotion project for character A and import "Clip1.anim". Do the changes, then export it as "Clip1_A.anim".
  2. Then you would create a umotion project for character B and import "Clip1.anim". Do the changes, then export it as "Clip1_B.anim". 
  3. And so forth.

Please note, that as Clip1_A and Clip1_B are still humanoid, there can still be little re-targeting artifacts. So if you're aiming for very accurate results, I would duplicate your characters and configure the duplicated ones as generic. Then work through them like this:

  1. Create a humanoid umotion project for humanoid character A and import "HumanoidClip1". Do your adjustments and export the corrected clip to FBX (I recommend configuring the FBX exporter to write the animation into the FBX of your generic character). Your animation then is generic and you can use your generic character at runtime.
  2. Repeat for all other characters.

This also comes with another benefit: You save some CPU performance because the animation re-targeting does not need to be executed at runtime. If you later on decide to switch to humanoid again, just configure your generic character as humanoid. All included animations are then humanoid again.

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

Best regards,

Peter

Answered

Can I create and bind rig to model inside unity?

ara17 6 years ago updated by Peter - Soxware Developer 6 years ago 1

Is it possible, for example, place non-rigged (without armature) model on the scene then create skeleton rig for it and bind it by automatic weight (like in blender) inside unity with this asset, or the only way is to create rig in 3d model software and import it into Unity?

Answer

Hi,

thank you very much for your support request.

Please check out this answer I gave to a similar question: https://support.soxware.com/en/communities/1/topics/12-is-possible-to-make-rigging-in-umotion-from-scratch#comment-4

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

Best regards,
Peter

Answered

Game tab don't work

SaintofBlood 6 years ago updated by Peter - Soxware Developer 6 years ago 3

When I'm looking at the animation at the scene tab, all works. 

Camera preview also shows animation playing correctly. 

But, when I switch to the Game tab, the animation is not playing, objects are kinda "freezed" . 

I've tried reimporting assets and Umotion Pro but this didn't work either.

What could cause this problem and how to resolve this?

Answer

Hi,
thank you very much for your support request.

The scene view tab needs to stay open, otherwise the Update() loop of UMotion isn't executed by Unity anymore (thus makes the animation preview freeze). An easy workaround would be to place the scene view tab next to the game tab so that both are open at the same time.

Why do you want to preview your animation with the game view instead of the scene view?

Best regards,
Peter

Answered

How to animate specific bones only

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

Trying to create my first animation and looking to animate only specific key frames so that they are 'added' on top of the currently playing animation.

Thank you.

Answer

Hi,

thank you very much for your support request.

You can add modifications on top of an existing animation using animation layers.


There are two animation layer types:

  1. "Additive" - This adds an offset to the existing animation curve.
  2. "Override" - Completely replaced the underlying existing animation curve with new created key frames. Similar as if you would delete all existing keys of that curve and add new ones.

For more information, click on the black info button next to "Layers" (see screenshot above) to open the related manual page. You can also check out this video tutorial, where I'm using animation layers to tweak existing animations:

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

Best regards,

Peter

Fixed

Export all clips reports I have a clip with no name

Alan Kent 6 years ago updated by Peter - Soxware Developer 6 years ago 4

Doing Export All Clips, I got a message about a clip not having a name. I might have deleted Clip1 before adding the clips I wanted (I could not find the rename clip so I just started again).

Note: I cannot copy the "log" text so tried to capture a screenshot instead.

Image 520

All the clips in the drop down list have names.

Image 521

It exported all the clips I can select in the drop down list, but failed for an extra 8th one which is not shown in the dropdown list.

Image 522

Not a big deal, just letting you know.

Answer

Fixed in UMotion V1.22p14. This patch release should be available on the asset store in the next few days.

Thanks again for reporting.

Best regards,
Peter

Under review

Unable to edit "Custom Property" name field sometimes.

Alan Kent 6 years ago updated by Peter - Soxware Developer 6 years ago 3

This feels like a bug. I created a "Generic" project, I created a dummy object and added the scripts I wanted to animate properties for. I set that is the pose object. It created the root transform/rotate/scale properties. In Configuration/Properties I set "Properties:" to "Nothing". That made transform/rotate/scale go away. I then added a Custom Property constraint.

The problem is sometimes it will not let me change the "Name:" field for the custom property, other times it does.


At first it felt like only every second one would let me change it. Then I wondered if it was it worked if I changed the value before setting "Mode:" to "Component Property" then it worked. Finally I gave up - it just feels random of whether it will let me change the "Name:" field. I just added 5 in a row and none of them let me change it.

After restarting Unity however it started behavior properly again... so reporting in case useful to you, but an easy workaround (restart Unity). May be its a Unity internal bug.


Answered

How to remove a property so it is not animated?

Alan Kent 6 years ago updated 6 years ago 5

I am making progress! But if I understand by looking at the exported clips in the Unity animation clip panel, it looks like clips are exported with all properties, not just the ones that are keyed in the clip. I want to create clips for different subsets of properties so I can have a clip "Eyes Left" which only animates the eyes. Then I can layer this on top of other clips so walking I can add "Eyes Left" and keep the rest of the normal clip.

I was wondering if the correct approach was to remove the unwanted properties, then "Save Reference Pose" (?), but I could not work out how to remove the properties that it picked up from the Humanoid bones.

I don't want to use a Generic project type as then I cannot load up my character and do the animations on it - it tells me I must use a humanoid project for humanoid characters. I guess I could try and trick it with a proxy object or something...?

For eyes, because I have a script controlling them (custom properties) I only want to capture the custom properties for the "Head" layer (that is where I added the custom constraints, alongside the other blendshapes). Oh, and I don't want the blendshapes included either - I want to create a separate set of clips for blendshape controls (for different facial expressions).

I am planning to create a project per layer of clips - e.g. on project for eye overrides, one for facial expressions (blendshapes and textures), one project for hand positions, etc. I am hoping I can then define different sets of properties per project (put all the hand position clips in the hand project, put all the eye clips in the eye project, etc).

Then the final timeline I pick a full body clip (e.g. walking or sitting, and start layering expressions, eye control, head turns, and hand pose etc clips in override tracks in the Unity timeline).

Is this possible?

Answer

Hi Alan,

thank you very much for your support request.

Humanoid always exports all humanoid bones. Humanoid doesn't work well when not "well-formed" (i.e. doesn't include all curves). Unity also only creates well-formed humanoid animations when creating them from imported animation. If you have no keys on humanoid bones, they are stored as "constant" curves in the humanoid animation (thus only add very little memory to the animation).


Generic bones on the other hand are only added to the animation if they have at least one key. You can completely remove generic bones from the "Animated Properties List" by setting their visibility to "Locked". This also ensures that they are not added to the animation even if you have previously created key frames for them.

I was wondering if the correct approach was to remove the unwanted properties, then "Save Reference Pose" (?), but I could not work out how to remove the properties that it picked up from the Humanoid bones.

Regarding the reference pose, please check out the following video tutorial: 

I don't want to use a Generic project type as then I cannot load up my character and do the animations on it - it tells me I must use a humanoid project for humanoid characters

You can configure a character as Humanoid, Generic or Legacy (in the Inspector "Rig" tab when selecting your character). Humanoid is Unity's animation re-targeting system. Generic is playing animations directly (without re-targeting). More information on humanoid: https://blogs.unity3d.com/2014/05/26/mecanim-humanoids/

For eyes, because I have a script controlling them (custom properties) I only want to capture the custom properties for the "Head" layer (that is where I added the custom constraints, alongside the other blendshapes). Oh, and I don't want the blendshapes included either - I want to create a separate set of clips for blendshape controls (for different facial expressions).

You could duplicate your character and configure it as generic. Use the duplicated version to animate all the none-humanoid bones. You can also remove the eyes from your humanoid avatar (Inspector of your character --> Rig tab --> Configure...) as you're driving the eyes from custom scripts anyway. Create a new UMotion humanoid project, now the eyes should not be included anymore.

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

Best regards,

Peter

Answered

Add Constraint button not active (so cannot add a custom property constraint)

Alan Kent 6 years ago updated 6 years ago 2

I found the section of the manual describing how to add custom component property constraints. But when I go to add a new constraint, the button is deactivated so I cannot add a new constraint. It did add all the blendshapes successfully when loading the character, but I cannot work out how to add a new one.

I create a new project of type Humanoid (because character is humanoid), import the FBX file, then in the Pose panel I go to Config Mode, under Configuration I pick "Constraints". The button is not active, so I cannot add a new one.

I have a component on the character with a float property I want to animate. I tried creating a "Generic" project, but then it refused to load the character saying it was humanoid.

Image 519

Answer

Hi,
thank you very much for your support request.

You need to select a valid transform in the "Rig Hierarchy" tree to which you want to add a constraint. I'm going to display a "No bone/transform selected" text in one of the next updates to make this more clear. Thanks for pointing that out.


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


Best regards,

Peter

Answered

Animation speed resample curve

Vact0r 6 years ago updated 4 years ago 7

I always want resample total animation play speed by a animation curve , make origin animation clip change the rhythm to what I want .

Although this can be achieved by changing the animator playback speed , but I think changing the animation file is a more accurate, quick and easy solution .

Is any way UMotion can do this ? or some tips ? 

Thanks so much .

Answer

Hi,
thank you very much for your support request.

Yes you can change the animation speed of an animation clip in UMotion. Please check out the following answer I gave to a similar question, explaining how this can be achieved in UMotion: https://support.soxware.com/en/communities/1/topics/52-change-speed-of-animation

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

Best regards,

Peter

Answered

Renaming the weapon of a Humanoid

amirmahdijavidpour 6 years ago updated by Peter - Soxware Developer 6 years ago 3

Hello,So let me explain Im Creating  Humanoid Animations with guns for my game 
My guns are rigged as generic gameobjects and they are parent of the RHand

When I Export the .anim files Everything works fine,

but when I change the name of the weapons the animations doesnt work anymore

I want to have different prefabs such as M4A1-HoloGraphic , M4A1-IronSight etc for a single weapon

is there any way that I can have different names and still have my animations working without making animations for every single prefab ? since i have rigged guns thought its ok to change name of the gameobjects

Answer

Hi,
thank you very much for your support request.

Animations (*.anim files) are binding the animation curves to bones/transforms via "transform paths". For your gun the transform path might look something like this: Hips/Spine1/.../RHand/M4A1.

So you would have to manually adjust the animation and change the transform paths. But I would probably use a different/easier approach: Make the holo-sight and the iron sight separate objects and just enable them to your needs (but use only one "base" m4 model). You can separate meshes from models using a 3D modeling application of your choice (Blender, Maya LT,...).

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

Best regards,

Peter