(Late) last night I re-implemented what are called ‘NonCars’ in Carmageddon. They include phyiscs objects like trees, lampposts, benches etc that you can bend, break, then push around with your car. My previous version could break them, but at the time I couldn’t figure out to get PhysX to allow them to bend.
Working on the crush stuff gave me an idea how to do it, and it works :) I spent half an hour just bending lampposts after getting it working
Yay, more screenshots. In this one, the Eagle has been smashed hard at the front a bunch of times. The vertices are pushed back right to the limits - it wont crush any further. It needs more tuning, it doesn’t look quite right to me
After more tuning, heres Otis deformed before and after. The white dots are the vertices we look at on collision to see if and how the car should be deformed.
I’ve spent so much time trying to get PhysX to handle the vehicle deformation and trying to work around a PhysX bug that I gave up that path completely. It made me feel annoyed at wasting so much of my life on it that I had to take a break for a couple of weeks!
In the last couple of days I’ve started implementing the deform system myself. Its actually been easier than I expected - the hardest bit is figuring out how the Carmageddon crush data works. No-one in the Carma editing community has figured it out, or at least I haven’t found any info on it. The downside is the deform system depends on the crush data in the vehicle files - so all the user-made cars will need crush data added to deform properly.
Heres a screenshot showing the first cut of the new deformation system. The large yellow box is the reference vertex and the smaller yellow boxes are the vertices that get moved if the reference vertex is hit.