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
- NullReferenceException is thrown when assigning PanelSettings asset to a UIDocument dynamically at runtime
- Crash on GfxDeviceD3D12Base::DrawBuffersCommon when disabling "Allow FSR2" parameter while in Play Mode with Direct3D12 set as graphics API
- Crash on vkGetInstanceProcAddr when setting graphics API to "Vulkan" on Fantasy Kingdom learning project
- Overlay Camera "clear depth" not working on Vulkan+Pixel8
- Shadows from Shadow Caster 2D using 2D Colliders show incorrectly when tiles are removed at runtime
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.