Search Issue Tracker

By Design

Votes

0

Found in

2021.3.25f1

2022.2.16f1

2023.1.0b16

2023.2.0a12

Issue ID

UUM-35560

Regression

Yes

Motion using Animator.deltaPosition is not working when triggering others than default animation states

--

-

How to reproduce:
1. Open the attached project “AnimatorBug”
2. Open the “Demo” scene
3. Enter the Play Mode and press the Space Bar to trigger the flip
4. Observe the motion during the flip

Expected result: During the flip, the character moves with the same speed as before
Actual result: During the flip, the character is not moving at all until the animation ends

Reproducible with: 2021.1.0a7, 2021.1.28f1, 2021.3.25f1, 2022.2.16f1, 2023.1.0b16, 2023.2.0a12
Not reproducible with: 2020.3.48f1, 2021.1.0a6

Reproducible on: Windows 11 Pro

Note: Also reproducible in Player

  1. Resolution Note:

    The behavior that is reported in recent versions is the result of a bug fix to this issue: https://issuetracker.unity3d.com/issues/avatar-mask-ignores-rm-when-both-humanoid-and-transform-masks-are-defined

    The behavior seen in recent versions is working as designed.

    Specifically, the flip animation played on the layer is expected to override the base layer's root motion. The way to stop the root motion affecting the base would be to mask it out via the avatar mask.

    The user noted that the animation does not play properly if the root is masked out, this is because for humanoid types when masking out the root it will also mask out the hips.

    If the user's goal is to allow full body animation to play on a layer but not allow root motion, they would need to use a generic rig instead of a humanoid rig, and make a specific bone for the root motion that is separate from the hips. This will allow them to filter the root motion separately from the hips motion

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.