Another example is wheels thickness doesn’t effect anything atm, also that really effects the lateral slipping which should have a graph thats not implemented yet. I did that since I had a problem in lateral slips of vehicle in super low speeds and very high torques. Like the example of the loader truck (super powerful but very slow and heavy) .
I have this problem too, due to the wheel center location of the bone, when the car is rotated the wheel goes inside the ground. A s a workaround I’m thinking in to move the wheels bones to the exterior of the wheel instead of the center.
Thats interesting actually didn’t see that in examples or in my pawn vehicles since they are generally slow industrial machines. I had problems with the “turn in place” and turn arcs simply thats why implemented those, lateral graph helps still game changer was not to have a 4X4 wheel drive.
Think those industrial heavy machines 4x4 steer also not sure.
This sinking I suspect its a visual animation problem more likely than behaviour but can be due to hard limits on suspension is reached + its a very hard turn so it literally sinks to ground. Not sure will try to replicate this. This is actually a nice thing since normally during these kind of turns, inner and outer edges of the wheels gets the forces and pressure. This aspect of forces are also tend to create a natural anti roll movement since the area of the force distribution is wider on each front back axis.
On the image, during the turn FR wheel outer edge and FL wheels again outer edge but less should be the offset of turning forces. Since there is one raycast without writing the entire code block I think its possible to add virtual offsets. I can just get width, calculate the lateral force and move the offset with a coefficient to that side, maybe coefficient of total mass. It’s like a dynamic offset depending on the total inertia. First I have to replicate it though
Can you tell me the map name you mentioned btw ? Either I am checking wrong ones or my engine is not updated properly from branch.
I verified it trying to drive the car in two wheels, and CMV consider the end of the physcal wheel, the position of the wheel bone. If the wheel bone is in the middle of the wheel, all the outside will be ignored for collisions and forces. I also noticed that driving the car in two wheels, the throttle dissapears, making the wheel rotate but not transfer any force, forcing the car to reduce speed and lost the posibility to retain the two wheels driving position.
Thinking about it, my conclusion is that due to the not implemented thickness, the wheel in CMV is like a disc, not like a cylinder. Reducing the physics calculations but producing this behavior.
About the throttle disabled on two wheel driving, after saw the bTouchingGround=1 in ShowDebug ModularVehicle for every wheel. An explanation for this behavior can be that CMV disable the throttle if one or more wheels have btouchingGround=0. I’ll try and check it again, paying attention to the ShowDebug ModularVehicle data.
Allrigh I swtiched to main branch seems its over there. Makes sense to be on the main branch for me anyway so was quite a work to build my dev environment but its ok, thats how it goes
However in main things tend to change rapidly and since this is still in heavy development, numbers, behaviours, setup aspects and many things can change. In my setups didn’t see any hard behaviour changes, just reconfigure some numbers, some behaviour adjustments. That being said still there is a lot of changes as mentioned how suspension behaves.
So I can see many reasons that this is happening on your side. Since you said you also have a skeletal mesh be sure that your tire size and the skeletal mesh physics assets are correct.
However the main issue relies on the engine atm. and it was fairly easy to replicate. What is happenning at the moment with the wheel?
Each time phsyics step a raycast is made from the wheels from suspension to the SuspensionMaxDrop + Wheel Radius. Simply after this when there is a contact the forces applied on the wheels relative to the contact point.
This is so far so good however when a wheel is leaning and turning it never considers the lean aspects and the width of the feel thus the contact point. It always considers the local wheel axis which is default 0,0,-1 and at this moment because of the leans of the actual body the point of contact either streches or compresses depending on the suspension and wheel. This aspect can make the wheels dip into the ground a bit.
Solution
So in order to solve this simply we can calculate the mainbody lean vs world down + pass another variable (WheelWidth) to compansate the locationStart/End of trace to the edges of the wheel.
When leans left a WheelWidth/2 to the left and vice versa. This trace compansation solves the problem as demonstrated below. I used some large values to show the behaviour differences.
I will do some more changes on it to actually coralate slip angle (or another variable) to properly propagate WheelWidth compansations to the edges depending on how much wheel leans and how much designer wants it do push to the wheel edges. Since when you think about it not every wheel would be a sports car wheel, there could be machinery tires , stagecoach tires , huge mining tires or rounded motorcycle. Cause of their geometries current setup would behave nicely on a motorcycle tire but not so very good on a sports car tire.
This is actually something nice since this creates an additional anti roll on the vehicles, it correctly actually simulates the vehicles mass changes from wheel to wheel and natural inert of the cars/vehicles.
In first one wheel width is 0 in the second PIE its like 200 to show difference.
So I think I will maybe keep trace start locked in to the suspension but just change the end location, this would behave slightly different since force application will be same however suspension compressions would be different at that moment. Think Epic devs would already do this, maybe this way or maybe another approach, however if I feel good about the change maybe can create a pull request to have some salt in the soup.
Also in addition to offsetting that explained above, if we use an exact match of tire geometry collection , with a capsule that is kinda matching the profile of the wheel.
Think over here the collision already doing the job preventing dip into ground however the changes of offset in raycast is also helping. There is also an option in the vehicle compnent either use raycast or sphere cast. Sphere cast can be unreliable sometimes hitting edges however think raycast + wheelwidth consideration does a good job with proper GC collection creation.
It generally gives a nice smooth drifting drive on modarate surfaces while you kinda feel the inertia change of car during turns and drifts.