RigsOfRods / rigs-of-rods

Main development repository for Rigs of Rods soft-body physics simulator
https://www.rigsofrods.org
GNU General Public License v3.0
1.03k stars 178 forks source link

Leave Behind Node/Beam Wheels for Something Updated and More Modern #2145

Open disloyalpick opened 5 years ago

disloyalpick commented 5 years ago

Hi, so we were talking in Discord and we kind of came to a small agreement that ror definitely needs an updated wheel model. So this is mainly for @only-a-ptr

Below I will post a pastebin of our recent chat in discord and hopefully some other members will come in here and throw in some of their own thoughts.

https://pastebin.com/Wf1dZvcj

ohlidalp commented 5 years ago

Yes, RoR does need a new wheel model, but no, I'm not ready to abandon N/B wheels just yet.

First, I'm horrible with physics and thus unable to design new system from scratch. I need some reference, possibly https://github.com/VDrift/vdrift - does that qualify as MoreModernâ„¢ ? đŸ˜‰ I actualy just looked on their sources, and there seems to be a lot of development going on around their tyre physics, they have 3 distinct models (switched on build!) and the 3rd model (dubbed "physical tire model"?!) looks quite similar to RoR's groundmodel. Maybe what we already have is actually what others want?

Second, I think the problem is not really N/B but our "triangle strip tread" predefined wheel structures. RoR could already handle much more detailed wheel N/B, we just need a system to generate them. Idea: make RoR support user-created wheel N/B and make Ulteq's Blender import/export plugins support that. That way, users can model the wheel N/B like an ordinary mesh, with complete freedom to shape the contact surfaces as needed.

DODGEcharger commented 5 years ago

From my perspective N/B is the perfect system for mechanical structures, as you're able to create machines that are more or less a 1:1 copy of their real life counterpart. But without significantly increasing node density, it struggles with organic objects or those which require fluid motion. Ideally, non-N/B tires would be more accurate and increase the simulation aspect of RoR, but if that's not an option currently, I'm open to explore the other possibilities.

100% agreed on the triangular tread pattern, not sure why Pierre thought that was a good idea. Since we use individual points for vehicle to ground contact, along with very low structure density, the contact patch of a tire in RoR is massively disproportional to that of a real tire. Not only that, but the low density restricts how smoothly a tire can flex and warp, and further limits the amount of nodes available to transmit power to the ground. The "simple" solution is to increase the node density and make the tread symmetrical, but we already teeter on the edge of stability with tires in RoR due to the low node weight required. In fact the vast majority of wheels in RoR are already massively overweight, which causes its own issues with suspension dynamics. So to have any hope of a higher density tire model than what we currently have, we definitely need to look at further stabilizing the physics with lower node weights. Ulteq and I discussed this in the past and came to the conclusion that most (if not all) instability comes from RoR overshooting on the force it applies to nodes, so if we could smooth out the forces, it would open up the possibility to develop a realistic tire model.

I also suggested the user-generated wheels feature to Ulteq recently, my idea was to make it a node option, so that any assigned node is marked as part of a propulsed structure. My plan was to use this in a development sense, to prototype new tire models until we settle on one that would be translated into a RoR-generated section, like our current tires. But leaving it open for the end user could lead to some interesting designs for sure.