sarbian / SmokeScreen

BSD 2-Clause "Simplified" License
16 stars 14 forks source link

Add partTransform support and manual input sharing #38

Closed Scialytic closed 4 years ago

Scialytic commented 4 years ago

This PR adds two new features.

First, "partTransform" can now be given as the transformName in a plume config to position an effect relative to the host part instead of relying on a child transform (typically "thrustTransform"). The use case for this feature is engine models with multiple nozzles, e.g., the RAPIER where thrustTransform gives a set of 4 transforms. There are cases where the plume designer wants only one emitter for a particular plume element. Here's an example use of partTransform for the bypass ramjets on the ReStock RAPIER model: ring_q99 For more on the new RAPIER plume, see https://forum.kerbalspaceprogram.com/index.php?/topic/188033-ksp191-realplume-stock-v310-15mar20/page/12/&tab=comments#comment-3764248

Second, a "Share manual input values across effects" toggle is added to the main GUI window. Enabling this makes all effects that currently have "Manual Inputs" enabled use the settings from the active effect window. The motivation for this feature is that over time, plumes have grown more complex than how they used to be. Some recent generics have more than 10 elements. When configuring/editing/creating such plumes, it's very helpful to make sure they are changing in sync with each other. E.g., a shock cone composed of a leading diamond and trailing shock wake using different particles that need to fade in unison as altitude increases.

sarbian commented 4 years ago

Sorry about the delay. Being stuck indoor is messing with me...