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
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
Comments (4)
-
EMClick
Oct 29, 2023 08:10
This is currently happening to me with version 2022.3.11f1
-
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);
}
}
} -
Bubsavvy
Jan 26, 2019 05:18
So I am assuming the issue is fixed if we update correct?
-
Bubsavvy
Jan 26, 2019 05:17
Also reproduced in version 2018.2.2f1. deltaPosition remains unchanged in OnAnimatorMove.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- "Shader warning in 'Hidden/Light2D': implicit truncation of vector type" is thrown when building Universal 2D template
- AI Assistant breaks compilation of packages using System.Runtime.CompilerServices.Unsafe via auto-referencing
- Unity Hub checks the "Documentation" module by default on the 6.4 and 6.5 streams despite that it was unchecked with the previous installs
- Shortcut that toggles between Dopesheet and Curves Views in the Animation Window's Timeline is mislabed
- Property List Items Overlap onto the Property List's top edge when scrolling through a long Property List
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.