How to get point velocity? (need help with the math)

Hello everyone,

So in unity apparently there is a function called GetPointVelocity(vector3) which (from my understanding) calculates the velocity at a specific point of an object which means it takes into account the angular velocity.

Can someone please explain to me what could the math be behind the function? cause I can’t find much on that.

My first thought was to multiply the velocity by the angular velocity magnitude but I have no idea if that is even remotely close to correct haha

Basically I need an accurate way to find the velocity in a spinning planet at a specific point on the surface… I believe the further that point is from the center of the planet the more the velocity would be.

I’m in the same boat. I’m trying to get the point velocity of the corner of a hovering platform to dampen forces applied. And, any child I add to use as a reference point always returns 0s (probably local velocity) when using the Get Component Velocity BP node.

It’s amazing how limited UE4 is when working with what, in Unity, would be closest to prefabs. If you find a solution, I’d love to hear it. And, if I find one (extremely unlikely, given that I’ve been at it for most of the day), I’ll drop an answer here.

Well the only solution I found so far is to do something like… (currentPosition - previousPosition) / Deltatime
But that requires to store the position vector for that point every frame which is not ideal… I was hoping there was some easy math formula to calculate this based on the angular velocity but I haven’t found the answer so far… so I guess the position way will have to do for now.

GetUnrealWorldVelocityAtPoint() on the body instance.
For blueprint you’d have to expose it, see my answer in OhiraKyou’s question here

Oh I had no idea there was a function already, I’m gonna try exposing it to BP and see how it goes.