# MovePosition Velocity

Discussion in 'Physics' started by JamesLeeNZ, Aug 11, 2016.

1. ### JamesLeeNZ

Joined:
Nov 15, 2011
Posts:
5,616
Anyone have a confirmed way of calculating velocity when MovePosition is used?

I thought I had mine setup correctly, but I noticed that projectiles being shot ahead of my tanks last night.

No code on me, but if you show me yours, ill show you mine later (or I may remote into my box shortly and grab a copy)

I suspect it should be LastPos-NextPos * ?? (a value based on fixedTimeStep) - thinking it might be 1-FixedTimeStep * 100;

Joined:
Jun 3, 2010
Posts:
2,508
3. ### JamesLeeNZ

Joined:
Nov 15, 2011
Posts:
5,616
Ill have to double check that. Im sure I had that originally but it wasnt correct. Maybe its changed. Maybe im being daft!

4. ### Edy

Joined:
Jun 3, 2010
Posts:
2,508
It's a confirmed way. I applied it in one of my projects last week. Note that I'm assuming a kinematic rigidbody! I don't know if/how it works if the rigidbody is non-kinematic.

5. ### JamesLeeNZ

Joined:
Nov 15, 2011
Posts:
5,616
I think thats possibly why I thought it didnt work. I might have had them setup as kinematic once upon a time. Been a LONG time since I played with the scripts on my tanks.

6. ### JamesLeeNZ

Joined:
Nov 15, 2011
Posts:
5,616
What version of Unity are you using?

5.4 definitely does not report velocity for me if I use MovePosition

7. ### JamesLeeNZ

Joined:
Nov 15, 2011
Posts:
5,616
for anyone else that needs the solution...

50 = 1 / time.fixedDeltaTime;

Code (csharp):
1.
2.             trackVelocity = (rigidBody.position - lastPos) * 50;
3.             lastPos = rigidBody.position;
4.

wethings, Benfont, MrTruth0 and 2 others like this.
8. ### Edy

Joined:
Jun 3, 2010
Posts:
2,508
I'm on 5.4 right now, and both rb.velocity and rb.angularVelocity get reported properly when using MovePosition and MoveRotation on each FixedUpdate. Maybe calling MoveRotation is also a requirement?

9. ### JamesLeeNZ

Joined:
Nov 15, 2011
Posts:
5,616
Nah dont think so as my tanks use movepos/moverot for movement.. My projectiles are accurate with the velocity calculation I used in the previous post.

Think it was all a misunderstanding about using kinematic vs non-kinematic

10. ### KevinCastejon

Joined:
Aug 10, 2021
Posts:
97
sorry to necro this but just in case anyone is confused by that behaviour, it looks like Rigidbody is indeed updating the velocity even when kinematic, but Rigidbody2D does not.