Search Issue Tracker

By Design

Votes

0

Found in

2018.3.0a6

2018.3.0b10

2019.1.0a1

Issue ID

1102555

Regression

Yes

DeltaPosition stays at 0 when Apply Root Motion is disabled

Animation

-

How to reproduce:
1. Open the user's attached project
2. Open SampleScene
3. Enter the Play Mode

Expected result: Delta Position changes
Actual result: Delta Position stays at 0

Not reproducible on 2017.4.16f1, 2018.1.9f2, 2018.2.17f1, 2018.3.0a5
Reproducible on 2018.3.0a6, 2018.3.0b11, 2019.1.0a10

  1. Resolution Note (2019.1.X):

    This behaviour changed when we straightened up how root motion is applied in the Animator. Beforehand, root motion was calculated whether it was enabled or not when you had a character with root motion curve (effectively updating deltaPosition and deltaRotation). Now, we only calculate it if applyRootMotion is enabled.

    Implementing "OnAnimatorMove" in your component will allow you to control how root motion is applied on your character. You could very well just implement a blank function and still get deltaPosition and deltaRotation this way.

Comments (4)

  1. EMClick

    Oct 29, 2023 08:10

    This is currently happening to me with version 2022.3.11f1

  2. Bubsavvy

    Feb 02, 2019 17:15

    This is still an issue in unity 2018.3.3f1... My script is the following :

    Note : I am using a unity plugin called KinematicMotorController, however, it was working in previous updates prior to 2018.2.2f1.

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;

    public class AnimationController : MonoBehaviour {

    private void OnAnimatorMove()
    {
    PlayerController playerController = transform.parent.GetComponent<PlayerController>();
    Vector3 transformPosition = playerController && playerController.Motor ? playerController.Motor.TransientPosition : Vector3.zero;

    if (transformPosition != Vector3.zero)
    {
    Vector3 change = GetComponent<Animator>().deltaPosition;
    playerController.Motor.SetPosition(transformPosition += change);
    }

    }
    }

  3. Bubsavvy

    Jan 26, 2019 05:18

    So I am assuming the issue is fixed if we update correct?

  4. Bubsavvy

    Jan 26, 2019 05:17

    Also reproduced in version 2018.2.2f1. deltaPosition remains unchanged in OnAnimatorMove.

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.