- Home /
Determine transform.position of location between two waypoints on bezier path
Thanks in advance for your assistance.
I am currently using Unity's "Lerp" functionality to determine a specific transform.position between two waypoints on a straight path using distance.
I was wondering if there was a similar approach to determining the transform.position of a specific location between two waypoints on a bezier (curved) path using distance.
After much research and googling, I cannot seem to determine a "best practice" approach to solving this requirement. If someone can point me in the right direction, I would be greatly appreciative.
Thanks again!
A lot depends on how close the bezier curve is to a straight line. If it's close to the straight line between the two end points, just use a lerp (so you get zero at the first point, and one at the second) and feed that into the bezier curve to get the position along the curve. If the curve varies greatly, then this lerping won't be accurate enough. In which case you're going to need to do some velocity based calculations to work your way along the bezier path. In essence you're assu$$anonymous$$g the velocity along the curve is constant, so you need to compute how long the curve is. Then, you can work out how far along the curve you get in a fixed amount of time. $$anonymous$$aybe you can approximate this by computing 10 points along the curve and sampling their position, and then measure the distance between these sample points. You then have an approximation to the length of the curve. Hence you know how long it might take to travel along the curve at a fixed speed.
Your answer
Follow this Question
Related Questions
How to move along a group of waypoints at a certain speed? 2 Answers
How do you generate a line between objects that are only instantiated upon game Start ? 1 Answer
Moving an object from it's current position to the position of the mouse cursor. 0 Answers
How to dynamically set transform positions (for a Bezier curve)? 2 Answers
Camera Lerp from A to B, and back 2 Answers