Jump to content

[1.11.x] SteeringTweaker v1.1: More tweakability for steerable wheels & landing gear.


Recommended Posts

What it does

  • Adds a "Steering Limiter" setting to steerable wheels and landing gear. This allows reducing the amount they steer.
  • You can toggle between "constant" and "adaptive" steering modes.
  • "Constant" mode just has a fixed steering limiter that you set with a UI slider.
  • "Adaptive" mode is a bit fancier and lets you adjust steering dynamically based on vehicle speed.  See below for details.

thumbnail.png

Download from SpaceDock
License: CC-BY-NC-SA 4.0
Source code

 

How to install

Unzip the contents of "GameData" to your GameData folder, same as with most mods. (Note, includes ModuleManager.)

 

Why would anyone want this?

Steering ground vehicles can be challenging. In particular, if you go very fast, even a slight amount of steering may have the potential to flip the vehicle.

This mod gives players more control over how their vehicles steer, by allowing them to adjust steering on individual wheels to reduce the amount they can turn left or right.

 

How do I use it?

There are two steering modes, "constant" (the default, and simplest to use) and "adaptive" (a bit fancier).

Constant mode

thumbnail.png

This mode's really simple.  There's a single slider in the part UI, "Steering Limiter".  It defaults to 100%, at which the wheel will behave normally (i.e. same as stock).  If you slide this control to something less than 100%, then it limits the amount the wheel can turn to that amount.

You can also adjust the slider via axis group binding:

axis_group.png
(Note that this binding only affects the slider for constant mode-- it has no effect on adaptive mode, described below.)

 

Adaptive mode

adaptive.png

This mode allows you to set the steering limiter dynamically based on the vehicle's speed-- i.e. have the wheel automatically steer more when it's going slower.

You set it up with three controls, as shown above:

  • Adaptive speed:  This sets two speeds in m/s, a "low" speed and a "high" speed.  For example, in the above picture, the low speed has been set to 10 m/s and the high speed to 25 m/s.
  • Steering Limiter (slow):  This sets the steering limiter value to use when the vehicle's current speed is at or below the "low" adaptive speed.  For example, in the above picture, the steering limiter will be set to 100% if the vehicle speed is at or below 10 m/s.
  • Steering Limiter (fast):  This sets the steering limiter value to use when the vehicle's current speed is at or above the "fast" adaptive speed.  For example, in the above picture, the steering limiter will be set to 20% if the vehicle speed is at or above 25 m/s.

If the vehicle speed is between the high and low speeds, then the steering limiter value will be linearly interpolated between the two steering limiter settings, accordingly.  For example, if the speed were 17.5 m/s (exactly halfway between the "slow" and "fast" speeds in the above example), then the steering limiter would be at 60% (since that's halfway between 100% and 20%).

To see an example of what the adaptive mode looks like in action, see the spoiler:

Spoiler

Here's a typical example of adaptive steering usage.  This rover can turn very sharply in a tight circle at low speeds, but at high speeds it's stable and less prone to flip at small steering inputs.

Here we have the vehicle at rest:
slow.png

Note that both the front and the back wheels have been set to adaptive steering.

  • The front wheels are at 100% steering, up to 10 m/s.  Between 10 m/s and 25 m/s, the limiter decreases, until it gets down to 20% at 25 m/s and stays at that value for higher speeds.
  • The rear wheels are at 80% when the vehicle is at rest.  However, the steering limiter rapidly declines with speed, reaching 1% (i..e. virtually no steering) at 10 m/s.

Since the vehicle is at 0 m/s in the above picture, you can see that both the front and the rear wheels are turned very sharply, since they're at their maximum steerability (100% for the front wheels, 80% for the back).

When the vehicle is going a little faster, at 10 m/s, here's what it looks like:

medium.png

Note that the front wheels are still turned just as sharply as they were when the vehicle was at rest (because we've configured them to only start decreasing the limiter setting above 10 m/s).  However, the rear wheels are turned virtually not at all, because we've configured them to reduce their steering to only 1% at 10 m/s.

What happens if we go really fast, then?

fast.png

Here you can see that even the front wheels are turned only a small amount-- because we're now above the maximum threshold speed of 25 m/s, which means the front wheels are now limited to only 20% steering.

 

Switching between constant and adaptive modes

The default mode is "constant".  You can switch modes by clicking the "Steering Mode" button (seen at the bottom of the UI in the above pictures).  You can also switch modes via action group:

action_group.png

Link to post
Share on other sites

It's kind of like what "fine control" does for flight input, except that it's adjustable from one set of wheels to another (i.e., more on the back, less on the front). 

Link to post
Share on other sites
4 minutes ago, Vanamonde said:

It's kind of like what "fine control" does for flight input, except that it's adjustable from one set of wheels to another (i.e., more on the back, less on the front). 

Well, kinda.  ;)

I'd actually say it's more like the "thrust limiter" on engines, except for steering.  It makes a particular set of wheels steer less.

(Whereas "fine control mode" affects control input, which this mod doesn't touch.  It just changes how much a given steerable wheel or landing gear is able to turn.)

Link to post
Share on other sites

HOW has it taken so loooong for someone to come up with this mod??!!??...lol

sooo many times, I have rolled rovers (esp. the stock Critter Crawler), because of turning too hard... :P

THANK YOU, Snark

Link to post
Share on other sites
7 hours ago, Craze said:

Perhaps you should add a PID depending on the speed?

Actually, I believe the wheels already have a bit of a curve built in to turn less when they're going faster.

That said, though:  yes, I'd love to have some UI-accessible ways for the user to address speed-related behavior.  This is among the ideas that I've been noodling around.  I do have ideas for stuff to add to this mod, but figured I'd go ahead and release this one bit now.

There's a reason I decided to name it SteeringTweaker and not just SteeringLimiter. ;)

Link to post
Share on other sites

Well, gang, a bit late to the party, but I finally figured it out.  :)

I just now released SteeringTweaker v1.0.1, which now allows you to set the steering limiter in flight as well, not just in the vehicle editor.

Hopefully this will make it easier to "tune" your vehicles by playing with the settings while driving them around.

Enjoy!

Link to post
Share on other sites

Hah! Nice. 

Are these values grabbable/adjustable via action groups or automation tools? Dynamic limiting based on speed or even just a hand-toggle would be awesome :)

Thanks for this one, Snark! Pretty spiffy.

Link to post
Share on other sites
2 hours ago, Beetlecat said:

Are these values grabbable/adjustable via action groups or automation tools? Dynamic limiting based on speed or even just a hand-toggle would be awesome :)

Not a bad idea!  :)  They're not, currently.  But should be pretty easy to bind the steering limiter to an axis group.  I shall think on this.

Link to post
Share on other sites
On 1/6/2021 at 7:42 PM, Snark said:

Actually, I believe the wheels already have a bit of a curve built in to turn less when they're going faster.

That said, though:  yes, I'd love to have some UI-accessible ways for the user to address speed-related behavior.  This is among the ideas that I've been noodling around.  I do have ideas for stuff to add to this mod, but figured I'd go ahead and release this one bit now.

There's a reason I decided to name it SteeringTweaker and not just SteeringLimiter. ;)

This is encouraging! Good luck!

Link to post
Share on other sites

Hi everyone,

I'm pleased to announce the release of SteeringTweaker v1.1, with shiny new features!  :)

New with this release:

  • Adaptive mode:  This lets you configure the wheels to dynamically adjust the amount they steer based on current vehicle speed.  See details and examples in the OP above.
  • Constant mode:  This is what I call the mode that you already had before this release (and is still the default). ;)  You can toggle between constant and adaptive modes via UI button or action group.
  • Axis group binding for adjusting the steering limiter slider when you're in constant mode.

Here's what the new adaptive mode's UI looks like:

adaptive.png

You pick a low speed, a high speed, and a limiter value to use at each.  It uses the low-speed limiter if it's below the low-speed threshold; the high-speed limiter if it's above the high-speed threshold; and interpolates between the two if your speed is between the two values.

"Blah blah blah," I hear you cry, "can you just show me some pictures of how it works, Snark?"  Why, yes.  Yes I can.  :)  Please see the OP above-- I've added a fair bit of detail, and in the section on adaptive steering there's a spoiler with some detailed examples of what the behavior of a vehicle looks like at various speeds.

Enjoy!

Link to post
Share on other sites
  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...