|
Post by Devistute on Jul 3, 2018 10:15:14 GMT
So as the title says, when stopping from walking the slide happens by little, but when stopping running the character slides forward way more. It seems to happen in between transition from the walk & run to idle. *The character slides forward in Idle animation, as if the ground was ice.
I'm recording video of it later tonight to show how it exactly happens.
|
|
|
Post by sectuz on Jul 3, 2018 18:11:47 GMT
Same here even with custom animations. happens sience 1.2.1
|
|
|
Post by Jader on Jul 3, 2018 18:34:23 GMT
Hi, I figured it out here too. I thought it was something related to the duration of the transition between animations. But I have not tried to fiddle with that yet.
|
|
|
Post by Devistute on Jul 3, 2018 18:49:55 GMT
Hi, I figured it out here too. I thought it was something related to the duration of the transition between animations. But I have not tried to fiddle with that yet. I tried, an it doesn't work. Might be bug perhaps?
|
|
|
Post by Invector on Jul 3, 2018 19:00:21 GMT
That's actually a fix that we've added on the last update, we activate the root motion when the input is zero, enabling Random Idle animations to play correctly. This affects the transition from walk to idle animations which in my opinion improved the stop transition.
Please record a small clip or gif showing the issue because, in theory, this fix is enabling the root motion so sliding should not be happening at all.
|
|
|
Post by Devistute on Jul 3, 2018 19:09:53 GMT
I haven't tested this with out of box animations, i'm using my own which did work before correctly.
But here is the video.
|
|
|
Post by tharindu on Jul 3, 2018 23:53:03 GMT
I haven't tested this with out of box animations, i'm using my own which did work before correctly.
But here is the video.
Just thinking out loud, is vMoveSetSpeed added and running somewhere around here ? Using that is the only time I've noticed some sliding
|
|
|
Post by Invector on Jul 4, 2018 0:33:48 GMT
Indeed it's strange with your animation, did you check the option 'use root motion'?
|
|
|
Post by Devistute on Jul 4, 2018 8:39:07 GMT
Indeed it's strange with your animation, did you check the option 'use root motion'? Yes, been using that from the start. And theres no vMoveSetSpeeds running to my knowledge
And just now i noticed that it also happens with the prefab controller that comes with the package, and starts happening the moment you turn Root Motion on.
Using the normal animations, of course.
Weird.
|
|
|
Post by Legion on Jul 4, 2018 11:18:53 GMT
We're having this issue too, what we know: - Only happens with Root Motion enabled in the vThirdPersonController. - It happens regardless of whether they are default or customized animations. - Without activating the Root Motion option, the animation works correctly, the character seems to brake before stopping completely without any type of sliding. - It happens in any character.
|
|
|
Post by Invector on Jul 4, 2018 13:23:54 GMT
A quickfix right now is to comment the following lines in the vThirdPersonMotor > ControlSpeed Method
only the if and else, the content of the if must be uncommented.
//if (input.magnitude > 0.1f) { this.velocity = velocity; var deltaPosition = new Vector3(animator.deltaPosition.x, transform.position.y, animator.deltaPosition.z); Vector3 v = (deltaPosition * (velocity > 0 ? velocity : 1f)) / Time.deltaTime; v.y = _rigidbody.velocity.y; _rigidbody.velocity = Vector3.Lerp(_rigidbody.velocity, v, 20f * Time.deltaTime); } //else //{ // transform.rotation = animator.rootRotation; // transform.position = animator.rootPosition; //}
|
|
|
Post by Devistute on Jul 4, 2018 18:53:24 GMT
A quickfix right now is to comment the following lines in the vThirdPersonMotor > ControlSpeed Method only the if and else, the content of the if must be uncommented. //if (input.magnitude > 0.1f) { this.velocity = velocity; var deltaPosition = new Vector3(animator.deltaPosition.x, transform.position.y, animator.deltaPosition.z); Vector3 v = (deltaPosition * (velocity > 0 ? velocity : 1f)) / Time.deltaTime; v.y = _rigidbody.velocity.y; _rigidbody.velocity = Vector3.Lerp(_rigidbody.velocity, v, 20f * Time.deltaTime); } //else //{ // transform.rotation = animator.rootRotation; // transform.position = animator.rootPosition; //} That did it, working again as it did before. Thanks!
|
|
|
Post by Jader on Jul 4, 2018 19:06:32 GMT
Nice! I'll test soon too.
|
|
|
Post by ejlnmusic on Jul 5, 2018 19:47:04 GMT
yep that works for me too..thanks
|
|
ara
New vMember
Posts: 22
|
Post by ara on Feb 20, 2020 12:03:32 GMT
I am encountering the same issue with the most recent version, where the character slides when you stop providing input. Have not enabled "Use Root Motion", but the scripts have changed enough between versions that I am not able to find where I would make the change.
|
|