Tracked Chaos Vehicles

Hi all!

Currently, I have a PID controller which works well with wheeled vehicles using a derivation from the WheeledVehicleMovementComponent. I want to use physics simulation on tracked vehicles as well. But I’m unsure about how to set something like this up. I hope someone will be able to shed some light on the following things for me:

  1. Can somebody guide me on what the PhysicsAsset for such a vehicle should look like?

  2. Has someone even implemented tracked vehicles with chaos before, is there some kind of example to look at?

  3. Is it common to use a VehicleMovementComponent for tracked vehicles or would you rather implement a simulation by adding forces ‘manually’? I was thinking about adding forces on several points on the vehicle (to simulate the two tracks) and using the PID controller for the force inputs. I do have difficulty navigating the vehicle on uneven terrain, probably due to my physicsAsset being rather box-like.

Would love to hear your thoughts!
~Bas

I have implemented a small tracked vehicle in the game I work on but the Chaos vehicle component is really made for conventional vehicles (full size cars) as of now so it was difficult.

As far as I’ve been able to see the physics asset is as it would for a car (individual spheres on each wheel bones and at least one big shape for the chassis but your model HAS to be modeled right in order for the component to function correctly (use the right unit scale and orient it as forward=X and up=Z).

As for using the vehicle movement component at all, I have tried not to use it and it sort of worked in single player, but for multiplayer you simply have no other option (unless you know how to make your own c++ movement component).

Hope it helps.

1 Like

Got it, thanks for the information!

I’m planning to do something in line with this approach. My game is singleplayer, btw. Did you add forces on the 4 different wheels or was it also necessary to apply forces on the bigger shape used at the chasis?

I did it using the set physics linear velocity node on the main vehicle mesh component (which should be the root component in that case) for acceleration and set physics angular velocity for turning. This method isn’t perfect though especially on the physics side but if your vehicle doesn’t go too fast or fall from too high it should be fine.