Sound

Overview

sound renderer node
sound renderer node

This renderer treats the particles as point-sounds within the world
Note that the PopcornFX integration you’re using might not implement the particle sound renderer.
Sounds are emitted based on an input position, range and volume

sound renderer

Performance considerations

Depending on the PopcornFX integration you are using, there might be different performance requirements. However, a few general rules should apply everywhere:

  1. You can create lots of sound-emitting particles that have a small influence radius without worrying too much about this specific renderer’s performance.

  2. There is a limit to the number of simultaneously audible sound particles. So if they all have very large audible radii, you won’t be able to hear all of them.

The renderer will keep the ones that have the highest volume, taking into account attenuation and the individual volume of each particle. This means that if you have a sound renderer with a volume of 1.0, but that plays a very very low-volume audio stream, and have another sound renderer with a volume of 0.1, but that play an audio stream whose volume is saturated to the maximum, the renderer might incorrectly think, looking only at their volumes, that the first audio streams are "more important" than the second ones, and should be given priority. where in reality, their final perceived volume is much less.
So the people in your team responsible for authoring sounds for your particles should keep that in mind. Ideally you should use "normalized" volumes, where all your particle audio streams have more or less the same perceptual volume.

Geometry inputs

Property

Type

Description

Position

float3

Sound source position in world coordinates

SoundData

String

Path to the sound to be played

Volume

orientation

Sound playback volume coefficient

+ all common renderer properties

Render-features

Sound Attenuation

Exposes distance-based volume attenuation controls.

Property

Type

Description

AttenuationModel

enum

Controls how fast the sound intensity falls off from the source

  • Linear: Simple, attenuation is equal to saturate(1 - Distance / Range) (default)

  • InverseLinear: More "percetually correct", attenuation is equal to saturate((1 + k) / (Distance / Range + k) - 1), where k is an implementation-defined constant (by default 0.1)

Input pins

Range

float

Radius of the sound sphere, in world units.
Sound volume falls down to zero on the sphere edge, Range units away from the sound Position.

Doppler

Exposes velocity-based doppler-effect control.

Property

Type

Description

DopplerFactor

float

Controls the strength of the doppler effect

Input pins

Velocity

float3

Sound source velocity vector in worldspace