HytaleDocs
Audio

AmbienceFX

Asset path: Server/Audio/AmbienceFX/*.json

Parent

When set this asset will inherit properties from the named asset.

When inheriting from another AmbienceFX most properties will simply be copied from the parent asset to this asset. In the case where both child and parent provide a field the child field will simply replace the value provided by the parent, in the case of nested structures this will apply to the fields within the structure. In some cases the field may decide to act differently, for example: by merging the parent and child fields together.

Type information: String

Tags

Tags are a general way to describe an asset that can be interpreted by other systems in a way they see fit.

For example you could tag something with a Material tag with the values Solid and Stone, And another single tag Ore.

Tags will be expanded into a single list of tags automatically. Using the above example with Material and Ore the end result would be the following list of tags: Ore, Material, Solid, Stone, Material=Solid and Material=Stone.

Type information:

(Nullable) Map of the following:

KeyType
any StringArray of String

Conditions

Type information:

(Nullable) AmbienceFXConditions

Sounds

Type information:

(Nullable) Array of the type:

AmbienceFXSound with the following properties:

KeyTypeDescription
SoundEventIdString

Reference to a SoundEvent asset

Play3D(Nullable) Any one of the following String (defaults to Random):
AmbienceFXSoundPlay3D
NameDescription
"Random"
"LocationName"
"LocationNameRandom"
"No"
BlockSoundSetId(Nullable) String

Reference to a BlockSoundSet asset

Altitude(Nullable) Any one of the following String (defaults to Normal):
AmbienceFXAltitude
NameDescription
"Normal"
"Lowest"
"Highest"
"Random"
Frequency
Rangef

Rangef with the following properties:

KeyTypeDescription
MinNumber defaults to: 0.0
MaxNumber defaults to: 0.0
Radius
Range

Range with the following properties:

KeyTypeDescription
MinInteger defaults to: 0
MaxInteger defaults to: 0

Random radius within which to play the sound. When used in conjunction with LocationNameRandom for Play3D, acts as a distance bound on position selection. Ignored when Play3D is set to LocationName.

MaxBodiesPerEmitterInteger defaults to: 8
SunlightRange(Nullable)
Rangeb

Rangeb with the following properties:

KeyTypeDescription
MinInteger defaults to: 0
MaxInteger defaults to: 0

Required sunlight range for finding positions at which to play the sound. High values can be considered to be "exterior".

StateBindings(Nullable) Array of the type:
StateBindingConfig

StateBindingConfig with the following properties:

KeyTypeDescription
AudioState(Nullable) String

Id of the AudioState this binding subscribes to.

Deltas(Nullable) Array of the type: StateDeltaConfig

Per-state-value deltas. Unlisted values default to zero (no effect).

Subscribe this AmbienceFX sound to AudioState axes. Per-state volume deltas will apply as a result.

Music

Deprecated: Use MusicContainer instead.

Type information:

(Nullable)

AmbienceFXMusic with the following properties:

KeyTypeDescription
TracksArray of String

Reference to a common asset in the folder:

  • Common/Music/
with the extension: *.ogg
Volume(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$

MusicContainer

Type information:

(Nullable) Either String or MusicContainer

Reference to a MusicContainer asset

AmbientBed

Type information:

(Nullable)

AmbienceFXAmbientBed with the following properties:

KeyTypeDescription
TrackString

Reference to a common asset in the folder:

  • Common/Sounds/
with the extension: *.ogg
Volume(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$
TransitionSpeed(Nullable) Any one of the following String (defaults to Default):
AmbienceTransitionSpeed
NameDescription
"Default"
"Fast"
"Instant"

How quickly to transition to this ambient bed and fade out any ambient beds that are stopping. For fading out stopping ambient beds, faster transitions take priority. Fade-ins are already fast by default.

StateBindings(Nullable) Array of the type:
StateBindingConfig

StateBindingConfig with the following properties:

KeyTypeDescription
AudioState(Nullable) String

Id of the AudioState this binding subscribes to.

Deltas(Nullable) Array of the type: StateDeltaConfig

Per-state-value deltas. Unlisted values default to zero (no effect).

Subscribe this ambient bed to AudioState axes. Per-state volume deltas will apply as a result.

SoundEffect

Type information:

(Nullable)

AmbienceFXSoundEffect with the following properties:

KeyTypeDescription
ReverbEffectId(Nullable) String

Reference to a ReverbEffect asset

EqualizerEffectId(Nullable) String

Reference to a EqualizerEffect asset

IsInstantBoolean defaults to: false

Priority

Priority for this AmbienceFX. Only applies to music and sound effect. Higher number means higher priority.

Type information: Integer defaults to: 0

BlockedAmbienceFxIds

Type information: (Nullable) Array of String

Reference to a AmbienceFX asset

AudioCategory

Audio category to assign this ambienceFX to for additional property routing. Only affects ambient bed and music, not emitters.

Type information: (Nullable) String

Reference to a AudioCategory asset

SetStates

When this AmbienceFX asset becomes active on the client, these states will be set. Targets must be AudioState assets with Authority: Client.

Type information:

(Nullable) Array of the type:

AmbienceStateWriteConfig with the following properties:

KeyTypeDescription
AudioState(Nullable) String

AudioState id to write (must be Authority: Client).

Value(Nullable) String

State value name to set on activation.

TransitionOverride(Nullable)
StateTransitionConfig

StateTransitionConfig with the following properties:

KeyTypeDescription
From(Nullable) String

State value name this edge transitions from. '*' for wildcard. Unused when used as an override.

To(Nullable) String

State value name this edge transitions to. '*' for wildcard. Unused when used as an override.

Duration(Nullable) BarBeatDuration

How long the transition takes, as bars plus beats plus ms against each subscribed voice's tempo. A voice with no tempo takes the Ms component alone. Omit to take the axis DefaultTransition.

Curve(Nullable) FadeCurve

Interpolation curve shape. Read only from the rung that supplies Duration, so a Curve alongside no Duration is ignored. Linear if not supplied.

SyncTo(Nullable) MusicSyncConfig

Where on the playing music the transition begins, carrying the same Point, Marker, Offset, and BarMultiple as a music transition's ExitAt. A signed Offset moves the start off the boundary, so a fade can begin half a bar past the downbeat. Omit to take the axis DefaultSyncTo. A voice with no tempo and no markers begins immediately regardless.

Delay(Nullable) BarBeatDuration

How long a voice holds its old level past the boundary before its ramp starts. An audio category has no hold, so a delay lengthens its ramp instead. Non-negative: to begin before a boundary, move the boundary itself with SyncTo Offset.

PostEvent(Nullable) String

Music event posted when this edge is taken. A free-form name, so a state change can mark a musical moment without naming a stinger.

Optional transition override (duration, curve, sync). Uses axis default if omitted.

Notes:

Types referenced by this type

FadeCurve

(Nullable) Any one of the following String (defaults to Linear):

NameDescription
"Linear"
"Logarithmic"
"Exponential"
"SCurve"
"EqualPowerSine"

On this page