CParticleRenderer Sound

From PopcornFX
Jump to: navigation, search

Sound renderer - Main page : Particle renderers Particle renderers


Available since v1.7.0
This renderer treats the particles as sound sources within the world.


Note that the PK-Fx integration you're using might not implement the particle sound renderer.
You can check the implementation status of a feature in our public integrations here:


Sound renderer Node properties

Field name Default value Description
Sound renderer Material
ChannelGroup <empty> Name of the channel group the sound should be played into (engine-specific)
UserData <empty> Custom user data string (engine-specific)
SoftSoundBlending false If active, will use the fractional part of 'SoundID' to smoothly fade between the two sounds.

Similar to the 'SoftAnimBlending' property of the billboard renderer billboard renderer with texture atlases.

Sound renderer Geometry
PositionField Position name of the particle field to be used as the light position. must be a 'float3' field. by default, 'Position' is used.
SoundIDField SoundID name of the particle field to be used as an index into the list of sounds. must be a 'float' field. by default, 'SoundID' is used.
Volume 0.5 Sound volume. Min = 0.0, Max = 1.0
VolumeField Volume name of the particle field to be used as the sound volume. must be a 'float' field. by default, 'Volume' is used. Gets multiplied with the static 'Volume' property to get the final volume.
Radius 1.0 Sound base influence radius. Min = 0.0
RadiusField Radius name of the particle field to be used as the sound radius. must be a 'float' field. by default, 'Size' is used. Gets multiplied with the static 'Radius' property to get the final radius.
DopplerLevel 1.0 Sound doppler coefficient. Set to zero to disable doppler effects. CURRENTLY UNUSED
VelocityField Velocity name of the particle field to be used as the sound velocity when 'DopplerLevel' is non-zero. must be a 'float3' field. by default, 'Velocity' is used.


Sound descriptor

The sound renderer contains a list of sound descriptors, that allow you, like texture atlases, to build a "sound atlas", and have each particle play different sounds in the same layer.


Field name Default value Description
Sound renderer General
SoundPath <empty> Path to the sound file
EventStart <empty> Useful if your engine uses [Wwise] for audio
EventEnd <empty> Useful if your engine uses [Wwise] for audio
UserData <empty> Custom user data string (engine-specific)
Volume 1.0 Sound volume
Sound renderer layout


Sound renderer Performance considerations

Depending on the PK-Fx 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 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 sound descriptor. This means that if you have a sound descriptor with a volume of 1.0, but that plays a very very low-volume audio stream, and have another sound descriptor 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.