Welcome to Keen Software House Forums! Log in or Sign up to interact with the KSH community.
  1. You are currently browsing our forum as a guest. Create your own forum account to access all forum functionality.

Wheel Steering

Discussion in 'Suggestions and Feedback' started by Thales M., Nov 19, 2015.

Thread Status:
This last post in this thread was made more than 31 days old.
  1. Thales M. Senior Engineer

    Messages:
    1,002
    If you add this feature, driving will be more stable I think:
    (As you can see front wheels don't have same angle.)
    [​IMG]
     
    • Agree Agree x 2
  2. Ironpaw Trainee Engineer

    Messages:
    35
    All they would have to do is add a left/right steering offset control to the wheels to simulate this. Wheels on the left side can be set to 19* left and 18* right then just the opposite on the right side wheels.
     
  3. Stardriver907 Master Engineer

    Messages:
    3,367
    This might happen in a game like Forza, but I don't think it's that critical in SE. Anything other than the default settings on the wheels will usually result in better performance. Start with friction.
     
    • Agree Agree x 1
  4. KissSh0t Master Engineer

    Messages:
    3,687
  5. Thales M. Senior Engineer

    Messages:
    1,002
    I am not up to adding realism on wheels. I just want to build stable car which doesn't flip over easily. Currenlty SE wheel system is very realistic (physics), so I think this addition may help.
     
  6. Bipin Trainee Engineer

    Messages:
    33
    I can't really envision any downsides (besides yet another slider being added to the suspensions menu). While it may seem a bit superfluous, steering offset would definitely come in handy for a few situations; gantry cranes or other vehicles with strange wheelbases, for instance.
     
  7. Stardriver907 Master Engineer

    Messages:
    3,367
    Well, you need to start with a stable wheelbase. People like to build cars that look like cars, not taking into account how much these blocks made for spacecraft and, therefore, would be weightless, actually weigh. Dampening controls how hard the suspension tries to get back to its original position. Travel limits how far it can go from it's neutral position, which can also be manually set. The suspensions are designed to work under any circumstances because who knows what you're going to try to put wheels on? The settings can be precise up to four decimal places. If your car is flipping, your suspension is not set up right.
     
  8. Hellothere! Apprentice Engineer

    Messages:
    412
    Someone made a pretty nice ingame script for it. However it would be nice as a stock option.
     
  9. GrindyGears Senior Engineer

    Messages:
    1,787
    @plaYer2k any chance your ackerman (sorry if a misspelled that) steering could be modified a bit and made into a pull request for git hub? or is it strictly written to exist in the PB? also im on my phone could you link your thread?
     
  10. w0ps Apprentice Engineer

    Messages:
    319
    while I think this ackerman steering is a nice idea in itself,
    I'm quite sure it's a bit more complicated than that:
    How would the game know which wheels are representing the 'stable' axis,
    or how to deal with lots of wheels in weird arrangements?
     
  11. plaYer2k Master Engineer

    Messages:
    3,160
    That sure could work but the setup had to be different then.

    Right now you set every wheels steering angle, steering and return speed up individually.
    So if you got a simple four-wheel-setup with symmetrical setup that is rather trivial in most cases.

    My approach and the only one i see feasible for that is that you have to define parameters for the whole wheel system (the sustem that controls all wheels when a shipcontroller is used).
    That means parameters for every grid.
    You had to define the anchor aswell as the parameters for steering and return speed aswell one that defines how far the focus point for the steering is away from the center on the "steer focus axis".

    Here a small overview i made for my script:
    [​IMG]

    So you have to know an axis along which your focus points shall lie. That usually is rather trivial though there are setups where even with a single grid the actual plane along you drive with the wheels is angled towards the forward direction. That can happen due to placing wheels with different heights (offset of actualy block height) aswell as differently sizes wheels themself (think of a dragster).

    Then based on the physical layout of your wheels in that grid (all wheels in the wheel system, ideally) the "weakest" one (the one whichs focus point on the steer focus axis is the farthest away) per direction (left/right) is chosen and based on that the max steering angle is computed for all wheels.
    Then the steering and return speed parameter are simply multipled by the angle for each wheel.
    The reason for that approach was that even though it is an approximation, it is close enough usually. The main issue is that otherwise i had to flood the game with changing the steering angle, steering speed etc to match the current wheel with an actual ideal focus point for any steering angle inbetween the released 0° angle and the max steering in any direction. Issue with that sure is tht it would easily send several kB/s for a single car. Applying the approach to the source directly sure would be nice as that would always allow to steer towards a focus point in any inbetween point. Though i dont think if i would want to add that myself. I got other duties so far aswell as other SE related projects i want to work on (a new 3D holo display to upgrade my old version for example). Especially the networking and properly syncing these variables for all wheels could become a pain if one would want to do the always focused approach over my approximation.

    I furthermore need to highly improve my code aswell to use full vector math instead of the approach i did.

    Here is the script
    http://forum.keenswh.com/threads/wip-ackermann-steering-suspension-block-controller.7372331/

    Yeah that you sure need to define properly. Though that can indirectly happen through the block placement and a given offset in local orientation. That is the approach i use and it works well.

    I had setups with 144 wheels working fine.

    Also is that working setup "odd" enough for you?
    [​IMG]

    Such things are actually rather easy once you got the basic code and logics behind it done.
     
  12. w0ps Apprentice Engineer

    Messages:
    319
    wow the last two images explained everything. Great work!
     
Thread Status:
This last post in this thread was made more than 31 days old.