I think I know what you mean. The best I’ve seen so far, as a tech demo, is this implementation:
Judging from bits of description and some other videos, tracks are simulated kind of like a stiff rope, with a box collider on each link element. At about 2:00 you can see how all track links are affected by gravity.
In principal, I understand how rope/cable can be coded to physically interact with other objects. What I’m not sure is how I would actually spin it by the sprocket. At least 4 teeth of the sprocket would push/pull the track.
The other aspect is translating all this into actual movement of the vehicle. In my case wheels are constricted by landscape only, they don’t care about tracks. In rope-track case, wheels have to be constricted by track, so traction-friction calculation have to be moved to track patches and then I have no clue how I can calculate wheel load on track element. Right now these calculations are done on 10 road wheels, each has it’s own suspension and that’s my “wheel load” force. For tracks I would need to somehow distribute vehicle mass and acceleration around contact points of track and take into account cases when there is no suspension force in place, for example if track link is pushed against obstacle by idler or a sprocket.
Precision of calculation is still to be desired. If I switch to C++ implementation would it be possible to run my logic with the same frequency as Physics runs it’s update cycle?