scp-fs2open / fs2open.github.com

Origin Repository for SCP FreeSpace 2 Open
https://www.hard-light.net/
Other
406 stars 162 forks source link

FR: Thruster easing #4179

Open EatThePath opened 2 years ago

EatThePath commented 2 years ago

Manuvering thrusters on ships really ought to have a tiny bit of interpolation going on, maybe definable in the ship file. Especially with mouse movement the current direct method can look pretty flickery

naomimyselfandi commented 2 years ago

I'd love to have this for main drives as well - BTA has a script to shut off a ship's thrusters when it's not moving that would greatly benefit from it.

z64555 commented 2 years ago

Depends on the thruster tech. AFAIK current real RTS thrusters can't modulate their output outside of the simple bang-bang (all on or all off), leaving the fine maneuvers instead to the reaction wheels (a.k.a. gyros)

With that in mind, an implementation could perhaps have them trigger based on an interval related to the target rotVel or rotAccel.

Sadly can't explain it well at the moment, but any of you familiar with electronics might understand it: Compare a sawtooth wave signal with the target rotVel or rotAccel signal to produce an on/off PWM signal for the RTS thrusters.

EatThePath commented 2 years ago

Depends on the thruster tech. AFAIK current real RTS thrusters can't modulate their output outside of the simple bang-bang (all on or all off), leaving the fine maneuvers instead to the reaction wheels (a.k.a. gyros)

Frankly, the real world technical justification shouldn't constrain the possible behaviors of the engine. And even leaving aside the variety of things modders might want to represent, the turning thruster effects are already variable length,just in a way that's extremely twitchy and looks unnatural

naomimyselfandi commented 2 years ago

The abrupt cutoff also just looks kind of weird.

EatThePath commented 2 years ago

this got implemented, but is currently per-mod and will eventually need to become per-ship probably.