Hello everybody, I need some help with figuring out the best system to use for the roller coaster I want to make. I am trying to figure out what system is best for movement of the ride.
A couple options I am trying to test are:
- Physics Based Movement
- Node Based Movement (AlignPosition/Orientation)
- Tweening
So, I am mainly looking for which would be most realistic. All feedback is welcome.
Physics would be the most realistic, but tweening would be the least exploitable
I’ve tried both, and I prefer physics. I just add a regenerate button
4 Likes
Thanks really appreciate that. How would the physics work? Chassis I guess and how would I go upon making the incline? (like the chain that brings the roller coaster up)
Use Part.AssemblyLinearVelocity (just look at any ol’ conveyor belt) on the parts and set the friction CRAZY HIGH
I created a script for roller coasters because I was making some recently (I could put them on the Creator Marketplace if you like) and you can see it.
NOTE: this is for the track plugin I used and it takes the Z speed and turns it into the correct velocity
for _, m in ipairs(script.Parent:GetChildren()) do
task.spawn(function ()
if m:IsA("Model") then
local left:BasePart = m:FindFirstChild("leftRail")
local right:BasePart = m:FindFirstChild("rightRail")
local rotatedCFrame = CFrame.Angles(math.rad(90), 0, 0)
if left and right then
left.AssemblyLinearVelocity = left.CFrame:ToWorldSpace(rotatedCFrame).LookVector * left.AssemblyLinearVelocity.Z
right.AssemblyLinearVelocity = left.AssemblyLinearVelocity
end
end
end)
end
And here are the coasters:
My steel coaster
My wooden coaster
1 Like
Excellent. Your help is highly appreciated.
1 Like
I am still having issues with the good looking track plugin. I have the tracks fully laid out from the plugin but I don’t know how to make the actual roller coaster carts work.
So, you could look at my roller coasters, basically, I just set the AssemblyLinearVelocity.Z to my desired speed, and then I put the script above in the uploaded bulk
You could also just look at my coasters more closely.
You can use my GoScript if you please (I would appreciate some credit though, just in Studio, not to the world)
And you are saying set the AssemblyLinearVelocity.Z to the rails, correct? And also poles I guess I make manually? Sorry for being annoying.
Only the rails. And only the rails. (if you constructed your coaster backwards, then the trian will go backwards, to fix that, simply change the 90 to -90, ONLY if you constructed it backward)
And as you can see, Z
And, you’re not being annoying, I’m glad to help
Ok so I tried this method and the roller coaster cars shake and don’t really move well. I will provide a video too.
Did you use the plugin I gave you?
I can only gurantee for the track plugin I gave you.
I assume that the rail is pushing the train sideways. (Use your avatar to double-check)
Script placement:
My coaster:
robloxapp-20241102-1144171.wmv (9.1 MB)
This is probably what’s happening:
Ok, I got it moving. I will have to adjust the gliders to keep it on the track because it does slip and slide a bit. The only issue I have is that it is moving very, VERY slow. When it approaches the hill, it doesn’t make it up and just falls back down. I set the same physical properties as your tracks and the coaster is still not doing good.
robloxapp-20241102-1424335.wmv (3.4 MB)
Set the friction to 2 and the frictionweight to 5, these are the important properties on the chain:
Friction: 2
FrictionWeight: 3
Speed: 50
Oh wow, it is going faster, but getting stuck once it reaches the lift hill. Maybe a track steepness issue? Too quick of an incline?
Probably, this is my incline:
You gotta take it kinda slow
1 Like
Oh, whelp.
May have to design the incline slightly differently. I will try to make the gradient longer so there is a more broad curve for smoothness.
1 Like
Ok! My roller coaster is moving, the only issue is going over the top of the hill is very glitchy and the roller coaster ends up falling off from shaking so much.
Are you sure everything is put together right? Maybe your rails are orientated wrong, half pushing this way, half pushing that way