As you’ve probably figured from my recent posts, I’m trying to make a track system for a monorail. I have tried many different types of path, spline etc. but haven’t found one that fully suits my needs yet. Here are a list of methods I’ve tried but haven’t semmed to work:
Roblox’s in-build Vector3Curve: Very jerky, kinda hard to control. Overall not a good idea.
Bezier curves: Very smooth, but incredibly hard to precisely control due to the fact no points apart from the first and last are crossed through.
Catmull-rom spline: Smooth track like bezier curve, but quite ‘lumpy’ - see these images:
Control points
Produced Path
Joined Bezier curves: easily the most promising of all the options due to the easy tangent controls, but produces a ‘snap’ of sorts every time it transitions from one piece to the next, see video:
After some research, it seems I need something called C2 (or G2) continuity, however this becomes impossible when trying to add tangent control.
If anyone has any ideas on an alternative I could use, or at least a way to smooth the curve so there isn’t a noticable jerk, then please let me know!
Ive done some quick research and you maybe could try:
Non-Uniform Rational B-Splines, I think this might work for your case because from my research because I think they are a bit more customizable-ish and are used in a lot a 3D editing software.
A quick update: It seems it’s possible to make a mostly-smooth curve using the chained beziers I was mentioning earlier simply by making them have a lower turn angle per segment (if that makes any sense). However, I’m still open for suggestions!
Another quick update, the current system I am using has proven itself to be very finicky and after some experimentation on some interactive websites, NURBS seem to me at least the best way to continue.
It seems like curves may not be the problem, it might be you aren’t adding any easing to make it look less “static”. You could make a system where the monorail thingy, I forgot what it’s called, but you could make it rock back in fourth a bit to make it look more natural.
I don’t really think that would help, the main issue I’m having is that I can’t find a way to easily control the curve. As I mentioned in my last post here, the method I was using in that video unfortunately proved too difficult to effectively use.