scp-fs2open / fs2open.github.com

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

FR: Particle effects for thrusters #5727

Open Kestrellius opened 1 year ago

Kestrellius commented 1 year ago

It is currently possible to spawn particles from thrusters using a set of inline options. However, these options are dramatically inferior to those offered by the particle effect system accessed through -part.tbm.

Therefore, I would like the ability to activate tabled particle effects under the following conditions:

Baezon commented 1 year ago

It should be stated that 'thrust' and 'no thrust' are not discrete states (aside from perhaps >0 and =0 thrust). It would be very valuable to hook this data in but I'm not sure what the best way would be.

Kestrellius commented 1 year ago

Huh, they're not? My recollection is that the thruster plume is sized differently at 0 thrust and >0 thrust; that's what I was thinking of.

A more robust approach would be to have a list of particle effects and the conditions under which they'll be activated, including upper and lower thresholds for thrust, but that's complicated.

Baezon commented 1 year ago

The thruster plume is scaled to the magnitude of thrust being applied, which if you're like me and you pretty much exclusively use the maximum and 0 thrust commands, you're mostly going to only see maximum and minimum thrust plumes, but it can be anywhere on the spectrum in between.

EatThePath commented 1 year ago

is there a good way we can present 'throttle position' to the particle effect such that it can be used as the basis for curves?

Baezon commented 1 year ago

Not really unfortunately. The generic nature of particle effects means they mostly can't refer to specifics of the context they were created in. The best thing I can think of are generic parameters as part of the particle effect that have different meanings depending on the context they were created in. Like the particle effect could use 'generic param 1' for some value, and then thruster particle effects say 'param 1' is the throttle value, weapon impacts say 'param 1' is the remaining hp of the target or whatever. But even that would be complicated and annoying.