Tracked tank with Newton


Back in 2006 I tried to simulate a tracked tank in Newton using a very uncommon method. Instead of moving the tank around with forces I tried to implement an “inverted” conveyor belt material for the tracks, to achieve a more realistic movement. Sadly it didn’t work out 100% perfect back then, but recently I revisited my demo and I now got something that almost perfectly moves like a tank.

A short summary : Instead of applying a force that “drags” the tank around the terrain (not very realistic), or using a lot of wheels to mimic a track (more realistic, but very slow) I’m using Newton’s contact process callback, where I go through all contacts that the track is generating against the terrain and then accelerate along the contact’s tangent. Together with my new tank model (you may remember it, I made it for “Phase 2” of Projekt “W”) that has a much better track (more flat, which means more even contact generation), a joint to make physics for the tracks more dynamically follow the terrain (see end of the video for more on this) and the new beta of Newton 2.00 I now have an almost perfect way of simulating real tank track behaviour. Not only is it realistic, but contrary to the “multiple wheels for a track”-way it’s very fast and you could do dozens of tanks at once without a severe speed drop.

If you want to see it in action, check out this video I created (~3 min, 35 MBytes, WMV format). I also have a demo ready, but the man behind Newton Game Dynamics wants to optimize contacts generation first before I release the demo to the public. And if you’re interested in implementing something like this yourself, head over to this thread I created at the Newton forums where I also tell how I implemented this.