Open sourced Simple tank track System

Hello!. after a few days of reworking and tweaking i can finally introduce my simple track system for
public use!.

my first time releasing something to the public so feel free to tell me some feedback and advices so that i can improve in the future :happy3:

What this system does is generated a dynamic tank track using code instead of letting the physics
engine handle it. making it more less glitchy and performant that traditional constraint tracks. it also includes a basic LOD system so it will not render tracks that are too far away.
.
.

(updated the link, i pasted the wrong link )

tell me if there’s any issues!

28 Likes

Pretty cool and smooth movement.

Can you make a drivable tank chassis where the tracks move relative to the speed you are driving?

I kicked up the speed and it looks nice!

2 Likes

Exactly what I have been looking for, a great learning material

2 Likes

sure here, https://create.roblox.com/store/asset/99298244235237/Test

and add this code to the wheelspeed function inside the track module script (if you deleted the commented out code)

for i, v: BasePart in ipairs(wheels) do
	local actualwheelpart: BasePart = v:GetJoints()[1].Part0.Parent.Wheel --or the actual wheel part thats spinning
	if actualwheelpart.Parent.Name == "DriveWheel" then
		local dot2 = vector.dot(actualwheelpart.AssemblyLinearVelocity, v.CFrame.LookVector)

		spd = (actualwheelpart.AssemblyAngularVelocity.Magnitude * (actualwheelpart.Size.Z/2)) * math.clamp(dot2, -1, 1)
	end
end
1 Like

This is a lifesaver. It’s almost perfect for what I needed, although the reset in the cycle is pretty noticeable at low speeds (and with materials)

3 Likes

that’s amazing!. i forgot to mention the downside of my track system is that all the track parts must look EXACTLY the same or else that happens

3 Likes

Hey! i was interesed in this but i am too lazy to set it up properly myself, i saw the game on your profile called “amazing tank system” could i perhaps use it in my own game and u could tell me how? we can talk on discord if you have one!

2 Likes

theres an example tank model i provided, but if you still need some help, you can dm in discord, my user is in my profile

image
image

I receive this error when I place the Track Model within another model (A Tank)
Any help is greatly appreciated!

1 Like

im experiencing the exact same error just with trying to test the original example model and test tank

bild_2025-03-27_144711922

bild_2025-03-27_144903110

1 Like

can you show the script that creates the track object?, maybe the Trackmodel being passed to the clients is nil.

1 Like

Which script would that be?
Apologies im just getting really confused

1 Like

im printing out t in the TrackRenderer local script and im using the test tank model you posted earlier

image

image

2 Likes

try disabling StreamingEnabled, it seems to fix for @mrcheesypuff1

still not working, same error as before

can you check that v.Track actually exists before rendering it to all clients?

it has suddenly decided it wants to work, im really not sure what was going on but thank you for the help

1 Like