This list contains some of the current problems for the proper operation of the vehicle. I decided to correct them, so this list is more for reference than for a call to action. I will try to fix it soon.
The list contains inaccuracies (sorry for my English) and will therefore change in the future.
Status: Waiting for PR.
[x] (Done) There is no way to lock a particular wheel to make it brake.
This will allow you to implement features such as wheel jamming.
[x] (Done) The brake parameter affects only those wheels where engine_traction == false.
Where it would be more correct to make it a separate adjustable parameter for each wheel.
[x] (Done) Not possible to set the steering angle for each wheel.
This is important for vehicles where the rear wheels have to turn in the opposite direction. Also, due to this, you can make a more realistic steering angle of the wheels when one wheel turns stronger than the other.
[x] (Done) There is no custom center of mass.
To create a vehicle, it is an important element.
[x] (Done) There is practically no transverse friction of the wheel.
If you brake, the vehicle will continue to move sideways for some time.
[x] (Done) To correct inaccuracies in the documentation VehicleBody and VehicleWheel nodes.
Documentation has unreliable examples, following which you can get "porridge" instead of the vehicle.
@bojidar-bg
I decided to fix it myself and so far everything is fine. However, the code will change greatly due to the fact that the original code was written around 2006, and being in Godot has not changed since the very first Godot version.
Could you return the "enhancement" label and add more of the following labels:
Not all changes are listed. In fact, they are much more, but they will remain "icing on the cake".
There is very little work left, and I think that during the day I will finish everything and finally create PR.
Ah I made porridge with the previous documentation, LOL :)
I'm going to find some time to go over this, all sounds like awesome enhancements, great work!
Could you return the "enhancement" label
No, since there are some pretty large changes discussed, as opposed to small enchancements. Will add bug and tracker though.
@BastiaanOlij I'll fix it myself soon.
@Timofffee I found your new-vehicle branch and your bugfixes solved some pretty big problems I was having with tires at rest never gaining traction. I also found your per-tire steering to be valuable, I have a monster truck that requires this feature.
I was wondering if you were still planning on a PR with your fixes and features. Maybe this could be split into two PRs, one for the non-breaking fixes and one for the features that break the API. I've got a handful of vehicles if you need any help with testing.
This looks promising.
@jonri That sounds good. Thanks. Maybe I'll do that. I stopped the development because I couldn't adjust the car properly and it still looks terrible. If you managed to make a good suspension and get rid of sinking tires - let me know.
Also thank you for appreciating the new features. Now they also work quite badly, because I did not pay them enough attention.
I will be very happy if you help me with testing the code. Can I contact you anywhere other than GitHub?
@Timofffee sorry to not get back to you, I've been travelling a lot lately but will be back to normal next weekend. I've gone ahead and re-done the per-wheel forces in a way that keeps backwards compatibility for existing projects using the current acceleration, braking, and steering. I'm going to do final testing and a PR next weekend, I think we can make a case for including it because it restores functionality that was already in the bullet raycast vehicle and was probably just taken out for simplicity.
If you want to discuss anything outside of GitHub, I have the same username on the Godot discord server and on IRC where I lurk sometimes as well.
Should this be considered fixed by #30685?
Yeah, but it doesn't fix everything.
@jonri informed me that he would take part of my code in his PR. However, he took only a part. The rest of the code only extends the capabilities of the vehicle and makes it more enjoyable to use.
I'm doing it now, but it takes too much time to test. The topic should not be closed. Remove the label "bug". The contents of the subject I will fix soon.
Any updates?
Some updates are already available in 3.2 alpha 1. The rest either works poorly or I can't do it at all now. I'll be back to solving this problem soon and hopefully I can do pretty much anything.
This vehicle physics was directly taken from the bullet physical library, and there this implementation is very bad. But at least it is. :)
It seems that this is 100% complete. Is there more, or does this need to be closed?
I'm sorry, but I was busy with other things and completely forgot about it. Within a month, I will review the code and if everything works well, I will do PR and close the issue.
Okay. This thread seems to be finished, but it does not make any sense, since all the work will be done again. I'll close the issue so it doesn't get in the way.
Most helpful comment
@Timofffee I found your new-vehicle branch and your bugfixes solved some pretty big problems I was having with tires at rest never gaining traction. I also found your per-tire steering to be valuable, I have a monster truck that requires this feature.
I was wondering if you were still planning on a PR with your fixes and features. Maybe this could be split into two PRs, one for the non-breaking fixes and one for the features that break the API. I've got a handful of vehicles if you need any help with testing.