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
-
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 after building a project with URP Sample
- MissingReferenceException after clicking "Fix now" on NormalMap settings
- The "UniversalRenderPipelineGlobalSettings.asset" is creating noise in the git diff when building a Player
- Scene is marked as dirty when opening the project with Vertical Layout Group added as a Component
- Crash on UnityEngine::Animation::SetGenericFloatPropertyValues when keyframing the RigBuilder component to Enabled and Disabled
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.