NWH Vehicle Physics 2
Search Results for

    Show / Hide Table of Contents

    Class CrashComponent

    Impact sound played when the vehicle collides with objects. Volume scales dynamically based on collision velocity magnitude. Sound is played at the collision contact point for spatial accuracy. Supports multiple audio clips with random selection for variation.

    Inheritance
    object
    VehicleComponent
    SoundComponent
    CrashComponent
    Inherited Members
    SoundComponent.baseVolume
    SoundComponent.clips
    SoundComponent.source
    SoundComponent.InitializeWithNoClips
    SoundComponent.Clip
    SoundComponent.InitLoop
    SoundComponent.InitClip
    SoundComponent.InitVolume
    SoundComponent.InitSpatialBlend
    SoundComponent.InitDopplerLevel
    SoundComponent.InitPlayOnAwake
    SoundComponent.RandomClip
    SoundComponent.VC_Initialize()
    SoundComponent.CreateAndRegisterAudioSource(AudioMixerGroup, GameObject)
    SoundComponent.PlayRandomClip()
    SoundComponent.PlayForDurationCoroutine(int, float)
    SoundComponent.Play()
    SoundComponent.Play(int)
    SoundComponent.SetPitch(float)
    SoundComponent.SetVolume(float)
    SoundComponent.Stop()
    SoundComponent.AddDefaultClip(string)
    VehicleComponent.state
    VehicleComponent.vehicleController
    VehicleComponent.IsActive
    VehicleComponent.VC_Initialize(VehicleController)
    VehicleComponent.VC_FixedUpdate(float)
    VehicleComponent.VC_LoadStateFromStateSettings()
    VehicleComponent.VC_Update(float)
    VehicleComponent.VC_DrawGizmos()
    VehicleComponent.VC_Validate(VehicleController)
    VehicleComponent.UpdateLOD()
    VehicleComponent.ToggleState()
    Namespace: NWH.VehiclePhysics2.Sound.SoundComponents
    Assembly: NWH.VehiclePhysics2.dll
    Syntax
    [Serializable]
    public class CrashComponent : SoundComponent

    Fields

    pitchRandomness

    Amount of random pitch variation applied to each collision sound. Randomizes pitch in range [basePitch * (1 ± pitchRandomness)] to make impacts sound unique. Value of 0.4 allows pitch variation between 0.6x and 1.4x base pitch.

    Declaration
    [Range(0, 0.5)]
    [Tooltip("Different random pitch in range [basePitch + (1 +- pitchRandomness)] is set each time a collision happens.")]
    public float pitchRandomness
    Field Value
    Type Description
    float

    velocityMagnitudeEffect

    Multiplier for how much collision velocity affects sound volume. Higher values make faster impacts disproportionately louder. A value of 1 provides linear scaling, while higher values emphasize high-speed collisions.

    Declaration
    [Range(0, 5)]
    [Tooltip("Higher values result in collisions getting louder for the given collision velocity magnitude.")]
    public float velocityMagnitudeEffect
    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
    SoundComponent.AudioMixerGroup

    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
    SoundComponent.ContainerGO

    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
    SoundComponent.Priority

    Methods

    PlayCollisionSound(Collision)

    Plays a collision sound based on impact parameters. Volume is calculated from the collision's relative velocity magnitude and the velocityMagnitudeEffect multiplier. Pitch is randomized based on pitchRandomness. Sound position is set to the first contact point.

    Declaration
    public void PlayCollisionSound(Collision collision)
    Parameters
    Type Name Description
    Collision collision

    Unity collision data containing contact points and relative velocity.

    VC_Disable(bool)

    Stops and disables the AudioSource belonging to this SoundComponent.

    Declaration
    public override bool VC_Disable(bool calledByParent)
    Parameters
    Type Name Description
    bool calledByParent
    Returns
    Type Description
    bool
    Overrides
    SoundComponent.VC_Disable(bool)

    VC_Enable(bool)

    Enables the AudioSource belonging to this SoundComponent.

    Declaration
    public override bool VC_Enable(bool calledByParent)
    Parameters
    Type Name Description
    bool calledByParent
    Returns
    Type Description
    bool
    Overrides
    SoundComponent.VC_Enable(bool)

    VC_SetDefaults()

    Resets the component to default configuration. Override to provide component-specific default values.

    Declaration
    public override void VC_SetDefaults()
    Overrides
    VehicleComponent.VC_SetDefaults()
    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.

    In this article
    Back to top Copyright © NWH - Vehicle Physics, Aerodynamics, Dynamic Water Physics