Class ForcedInductionComponent
Turbocharger or supercharger whine sound. Volume and pitch scale with boost level. Includes spool-up/down inertia.
Inherited Members
Namespace: NWH.VehiclePhysics2.Sound.SoundComponents
Assembly: NWH.VehiclePhysics2.dll
Syntax
[Serializable]
public class ForcedInductionComponent : SoundComponent
Fields
minPitch
Minimum pitch at low boost (prevents pitch 0 at idle).
Declaration
[Range(0, 2)]
[Tooltip("The starting pitch of the sound when boost is effectively zero but engine is running.")]
public float minPitch
Field Value
| Type | Description |
|---|---|
| float |
pitchCurveExponent
Pitch curve exponent. Values > 1 make pitch accelerate toward peak spool.
Declaration
[Range(0.5, 3)]
[Tooltip("Controls pitch curve shape. 1 = linear, >1 = accelerates toward peak, <1 = decelerates.")]
public float pitchCurveExponent
Field Value
| Type | Description |
|---|---|
| float |
pitchRange
Pitch increase based on boost level.
Declaration
[Range(0, 5)]
[Tooltip("Pitch range added to the base pitch depending on the turbo's RPM.")]
public float pitchRange
Field Value
| Type | Description |
|---|---|
| float |
spoolDownSpeed
Spool-down speed (lower = longer wind-down).
Declaration
[Range(0.1, 20)]
[Tooltip("Simulates the inertia of the turbine slowing down. Lower values mean longer wind-down.")]
public float spoolDownSpeed
Field Value
| Type | Description |
|---|---|
| float |
spoolUpSpeed
Spool-up speed (higher = more responsive).
Declaration
[Range(0.1, 20)]
[Tooltip("Simulates the inertia of the turbine spooling up.")]
public float spoolUpSpeed
Field Value
| Type | Description |
|---|---|
| float |
Properties
AudioMixerGroup
Gets the Audio Mixer Group this component's AudioSource should output to. Used to route audio through the vehicle's audio mixer for processing and mixing.
Declaration
public override AudioMixerGroup AudioMixerGroup { get; }
Property Value
| Type | Description |
|---|---|
| AudioMixerGroup |
Overrides
ContainerGO
Gets the GameObject container where the AudioSource should be created. Used to position audio sources at specific locations on the vehicle.
Declaration
public override GameObject ContainerGO { get; }
Property Value
| Type | Description |
|---|---|
| GameObject |
Overrides
InitLoop
Gets whether the AudioSource should loop continuously. Override in derived classes to enable looping for continuous sounds like engine running.
Declaration
public override bool InitLoop { get; }
Property Value
| Type | Description |
|---|---|
| bool |
Overrides
Priority
Gets the priority level for the AudioSource. Lower values indicate higher priority. Range is 0 (highest) to 256 (lowest). Used by Unity's audio system when the maximum number of audio sources is reached.
Declaration
public override int Priority { get; }
Property Value
| Type | Description |
|---|---|
| int |
Overrides
Methods
VC_SetDefaults()
Resets the component to default configuration. Override to provide component-specific default values.
Declaration
public override void VC_SetDefaults()
Overrides
Remarks
Called when the vehicle is reset or when first added to a GameObject. Should set all serialized fields to sensible default values. May load default assets from Resources folder.
VC_Update(float)
Frame-rate dependent update called every frame. Override for visual updates and input handling.
Declaration
public override void VC_Update(float DeltaTime)
Parameters
| Type | Name | Description |
|---|---|---|
| float | DeltaTime | Time elapsed since last Update in seconds |
Overrides
Remarks
Only called when the component is active (initialized and enabled). Use for visual effects, UI updates, and other frame-dependent operations. Avoid physics calculations here - use VC_FixedUpdate instead.