Ship model sailing along a track

I’ve had this working (more or less) for a year but never elegantly and mostly by banging on it until it behaves. So I’m looking for some guidance.

I have a tall ship model that sails around an island (in a VR world). It is crude but it does work. I can obviously adjust the path and speed at design time but I’m having a few issues. The primary one at the moment is that the ship is not (often) pointing along the direction of the path. It is basically crabbing along most of the time.

Lots of tutorials show a camera’s use of the cinemachine but I need one where the model is child of the cart. The cart follows a path but the model should point along the path as well. Are there times/events when I can adjust the ship?

Like right at the beginning the ship is alongside a reef and needs to turn as it starts to sail. I get a feeling I can do that by setting some tiny waypoints right at the beginning (I’ll have to test that out). Also however I might like a sound effect to play while it is sailing as it approaches a waypoint. Is there any event built-in or one I can devise that is raised as waypoints are encountered?

A tutorial would be great or any discussion at all on the subject.

Also, if I should use something other than the Cinemachine I could do that as well. I just need path following functionality.

Oh, still would like to hear people’s opinions but I believe I found a programmable waypoint solution. This should give me the hooks I was looking for as well. https://www.youtube.com/watch?v=EwHiMQ3jdHw

Do you need that path to be changed by the player or is it completely fixed in your design?
If it’s a fixed route you could use the splines package. It can be easily edited and more important, the path can be smooth. A real tallship would no follow sharp corners like a path define only with points (as in the video) Did you think about using unity spline package?
I have used splines for a similar case in a cycling prototype. I define the road path as a spline and then I can let the bike follow that smooth path by getting the positions along the spline. I also sample the tangent of the spline at each point to turn accordingly and ride the curves smoothly. It works good for bikes. I think it should be applicable for a ship turning smoothly too, if the route is fixed. On splines you can also define values according to the nodes, so you could perhaps use those values to trigger a sound or control the speed.
For my age of sail project, also with tallships (see The Weather Gage ) I don’t use it yet, but I’m thinking about using it to set some predefined paths of some NPC boats in the ports.

Thanks much for the reply. I’ve implemented the waypoints-style thing for the time being but need to polish it up a bit. Part 2 of the video suggests a solution for adjusting the turns and it is smoother.

At the moment the path is fixed. The ship movement is basically there for an effect in a VRChat world. While one can travel on an game object in VRC it doesn’t handle the sync’ing of multiple players well. It would work fine if I set one ship per player.

I will definitely investigate splines. Your sailing projects are very cool.

** quick note: Splines are not available in VRChat at this time. Bummer.