Sound¶
Class for playing in-game 2D and 3D sounds.
Note
This is a Client only Class.
Note
It is not possible (yet?) to load custom sound files (.mp3, .wav…), the sounds must be pre-cooked in Unreal before used.
Usage¶
local my_sound = Sound(
Vector(-510, 145, 63), -- Location (if a 3D sound)
"NanosWorld::A_VR_Confirm", -- Asset Path
false, -- Is 2D Sound
true, -- Auto Destroy (if to destroy after finished playing)
0, -- Sound Type (SFX)
1, -- Volume
1 -- Pitch
)
Constructor Parameters¶
Type |
Name |
Default |
location (Used only if 3D sound) |
Vector(0, 0, 0) |
|
asset (Sound) |
||
is_2D_sound |
false |
|
auto_destroy (if to destroy after finished playing) |
true |
|
sound_type (0 - SFX, 1 - Music) - Used to apply user’s volume settings |
0 |
|
volume (0 - 1) |
1 |
|
pitch |
1 |
|
inner_radius (3D only) |
400 |
|
falloff_distance (3D only) |
3600 |
|
attenuation_function (3D only) (0 - Linear, 1 - Logarithmic, 2 - Inverse, 3 - Log Reverse, 4 - Natural Sound) |
0 |
|
keep_playing_when_silent (3D only) - Whether to keep playing this sound when it’s not audible - Use with caution, it may cause performance issues! |
false |
Functions¶
Returns |
Name |
Description |
FadeIn(number fade_in_duration, number fade_volume_level, number start_time) |
Plays the sound with a fade effect |
|
Stops the sound with a fade effect |
||
Play(number StartTime = 0) |
Starts the sound |
|
SetFalloffDistance(number falloff_distance) |
If a 3D Sound, sets the distance which the sound is inaudible |
|
SetInnerRadius(number inner_radius) |
If a 3D Sound, sets the distance within the volume is 100% |
|
SetLowPassFilter(number frequency) |
Sets lowpass filter frequency. Sets 0 to disable it. |
|
SetPaused(boolean pause = true) |
Pauses the sound |
|
SetPitch(number new_pitch) |
Sets the Sound’s pitch |
|
SetVolume(number new_volume) |
Sets the Sound’s volume (0 - 1) |
|
Stop() |
Stops the sound |
|
StopDelayed(number delay) |
Stops the sound after the provided delay |
|
IsPlaying() |
Returns if the sound is playing |
Functions (Inherited from Actor)¶
Returns |
Name |
Description |
|
AddImpulse(Vector force) |
Applies a Force in world coordinate on this Actor (the force is applied on Client side, by the (in most of cases) the closest player of this object) |
||
AttachTo(Actor other, string bone_name, Vector relative_location, Rotator relative_rotation) |
Attaches this Actor to any other Actor with a Relative Offset/Rotation |
||
Destroy() |
Destroys this Actor |
||
SetCollision(number collision_type) |
Sets the actor’s collision (0 - Normal, 1 - Static Only, 2 - No Collision) |
||
SetGravityEnabled(boolean new_gravity) |
Sets the actor’s gravity enabled |
||
SetHighlightEnabled(boolean enabled) |
Sets if this Actors is Highlighting |
||
SetInitialLocation(Vector new_initial_location) |
Sets the initial location |
||
SetLocation(Vector new_location) |
Sets the actor’s location in the game world |
||
SetMaterialColorParameter(string parameter_name, Color color, number material_index = -1) |
Sets a Color parameter on a material of this actor, optionally on a specific material index or -1 for all materials |
||
SetMaterialScalarParameter(string parameter_name, number scalar, number material_index = -1) |
Sets a Scalar parameter on a material of this actor, optionally on a specific material index or -1 for all materials |
||
SetMaterialTextureParameter(string parameter_name, string texture_path, number material_index = -1) |
Loads and sets a Texture parameter on a material of this actor, optionally on a specific material index or -1 for all materials |
||
SetMaterialVectorParameter(string parameter_name, Vector vector, number material_index = -1) |
Sets a Vector parameter on a material of this actor, optionally on a specific material index or -1 for all materials |
||
SetRotation(Rotator new_rotation) |
Sets the actor’s rotation in the game world |
||
SetScale(Vector Scale) |
Sets the actor’s scale |
||
SetTintColor(Color new_tint_color) |
Sets the tint color, for completely paint an object, multiply the color by 10 or 100 |
||
SetValue(string key, any value) |
Sets a value in this entity, which can be accessed by any package (local only) |
||
Smoothly moves this actor to a Location with a certain Speed |
|||
Smoothly rotates this actor to a Rotation with a certain Speed |
|||
IsGravityEnabled() |
Gets the actor’s gravity enabled |
||
IsInWater() |
Gets if the actor is in Water |
||
IsValid() |
Returns if this is Valid |
||
GetCollision() |
Gets the current actor’s collision |
||
GetID() |
Gets the network ID of this entity (same in both client and server) |
||
GetLocation() |
Get the actor’s position in the game world |
||
GetInitialLocation() |
Gets the initial location |
||
GetRotation() |
Gets the actor’s rotation in the game world |
||
GetScale() |
Gets the actor’s scale |
||
GetTintColor() |
Gets the Tint Color |
||
GetType() |
Returns the type of this Actor |
||
any |
GetValue(string key) |
Gets a value given a key |
|
GetVelocity() |
Returns the current actor Velocity |