Difference between revisions of "Korman:Sounds"

(Created page with "{{Tutorial|Sounds|Korman}} file:KorMessage03.jpg This tutorial will show you how to add a sound into an Age with Korman. =Getting Started= Korman eliminates a lot of t...")
 
m
 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{Tutorial|Sounds|Korman}}
 
{{Tutorial|Sounds|Korman}}
  
[[file:KorMessage03.jpg]]
 
  
This tutorial will show you how to add a sound into an Age with Korman.
+
[[file:KorNodeMessage02.jpg]]
 +
 
 +
This tutorial will show you how to add sounds into an Age with Korman.
  
 
=Getting Started=
 
=Getting Started=
  
Korman eliminates a lot of the busy work that previously went into adding a sound.  You no longer have to have the sound file in the same folder as the blend file and you no longer need to convert the sound into WAV format first.  You can directly link to a sound already located in URU's SFX folder with no extra fuss.
+
Korman eliminates a lot of the busy work that previously went into adding a sound.  You no longer have to have the sound file in the same folder as the blend file, and you no longer need to convert the sound into WAV format first.  You can directly link to a sound already located in URU's SFX folder with no extra fuss.
  
If it's easier, you can still copy the sound into the blend's directory, as it will make it easier to locate when you choose the sound file later.  Just make sure the same sound file is also located in the installation of URU to which you are exporting.
+
If it's easier, you can still copy the sound into the blend's directory, as it will make it easier to locate when you choose the sound file later.  Just make sure the same sound file is also located in the installation of URU to which you are exporting or the sound won't play.
  
To start, you will need to add an '''empty object'''.  For most sounds, you want to locate the empty around where the sound is centralized.  For this example, let's look at a Nexus pedestal:
+
==Empty Object Emitter==
 +
 
 +
To start, you will need to add an '''empty'''.  For '''3D sounds''', you want to locate the empty around where the sound is centralized ('''Empty''' objects for the other types of sounds can be located anywhere in the Age).  For this example, let's look at a Nexus pedestal:
  
 
[[file:KorSounds01.jpg]]
 
[[file:KorSounds01.jpg]]
  
As you can see, the empty is located in the middle of the turning gear as that is where the sound would originate.
+
As you can see, the empty is located in the middle of the turning gear and the sound will be centralized there.  Again, location of the empty is ''only'' essential for 3D sounds.
 +
 
 +
==Sound Modifier==
  
 
With the empty selected, go to the '''Properties''' window and select the '''Physics''' panel.
 
With the empty selected, go to the '''Properties''' window and select the '''Physics''' panel.
 +
 +
[[file:KorStart03.jpg]]
  
 
Click on '''Add Modifier''' and select '''Sound Emitter'''.  Click on the '''+''' at the right of the new panel that appears.
 
Click on '''Add Modifier''' and select '''Sound Emitter'''.  Click on the '''+''' at the right of the new panel that appears.
  
You'll see a window like this:
+
Your window should look like this:
  
 
[[file:KorSounds03.jpg]]
 
[[file:KorSounds03.jpg]]
  
 
Now we need to select a sound.  Click on the folder icon on the right side of the first field.  Navigate to the folder that contains the sound file you would like to use and select it.
 
Now we need to select a sound.  Click on the folder icon on the right side of the first field.  Navigate to the folder that contains the sound file you would like to use and select it.
 +
 +
<blockquote>'''NOTE: It may take a few moments to load URU's SFX folder due to the large amount of sound files'''</blockquote>
  
 
In this example, we'll use the Nexus pedestal's default '''xNxusPodium_Loop.ogg''' sound file.
 
In this example, we'll use the Nexus pedestal's default '''xNxusPodium_Loop.ogg''' sound file.
Line 36: Line 45:
  
 
* '''NPC''': Stands for "Non-Player Character".  Used for dialogue such as Yeesha's Bahro Cave speeches.
 
* '''NPC''': Stands for "Non-Player Character".  Used for dialogue such as Yeesha's Bahro Cave speeches.
* '''GUI''': Used for a graphic interface such as the Great Zero scopes.
+
* '''GUI''': Used for a GUI dialog interface, such as the Great Zero scopes.
 
* '''Music''': Sets the sound as an Age's background music.  You can set this to a Soft Volume if you'd like the music regulated to a specific area, such as the Kadish Gallery in Ae'gura.
 
* '''Music''': Sets the sound as an Age's background music.  You can set this to a Soft Volume if you'd like the music regulated to a specific area, such as the Kadish Gallery in Ae'gura.
 
* '''Ambience''': Used for an Age's background noise, such as wind and random sounds.  Can be heard all around the Age or set to Soft Volumes for specific areas.
 
* '''Ambience''': Used for an Age's background noise, such as wind and random sounds.  Can be heard all around the Age or set to Soft Volumes for specific areas.
 
* '''3D''': The most common sound emitter.  Will fade in and out based on the values you determine below and how far or close the avatar is in-game.
 
* '''3D''': The most common sound emitter.  Will fade in and out based on the values you determine below and how far or close the avatar is in-game.
  
Next to that, you can choose if the sound will play in the left or right channel (both selected is usually the default).
+
Next to that, you can choose the '''Channels''', left and right, on which the sound will play (both selected is usually the default).
  
 
* '''Playback'''
 
* '''Playback'''
Line 47: Line 56:
 
** '''Incidental''': For low-priority sounds where the game may forgo playback.  For random noise sounds.
 
** '''Incidental''': For low-priority sounds where the game may forgo playback.  For random noise sounds.
 
** '''Loop''': Causes the sound to repeat indefinitely until it's stopped by a responder.
 
** '''Loop''': Causes the sound to repeat indefinitely until it's stopped by a responder.
 +
[[file:Log_Exp_inverts.jpg|250px|right|Each curve is labeled for exponential or logarithmic. The red line represents linear]]
  
 
* '''Cone Effect'''
 
* '''Cone Effect'''
 
** '''Inner Angle''':  
 
** '''Inner Angle''':  
 +
** '''Outer Angle''':
 +
** '''Volume''':
 +
 +
* '''Fade In'''
 +
** '''Exponential''': Sound gradually gets louder, with most gain near the end of the fade.
 +
** '''Logarithmic''': Sound gradually gets louder, with most gain near the beginning of the fade.
 +
** '''Linear''': Sound gradually gets louder evenly throughout the fade.
 +
** '''Length''': Length of time in seconds the sound will fade in at the beginning.
 +
 +
* '''Fade Out'''
 +
** '''Exponential''': Sound gradually gets quieter, with most loss near the end of the fade.
 +
** '''Logarithmic''': Sound gradually gets quieter, with most loss near the beginning of the fade.
 +
** '''Linear''': Sound gradually gets quieter evenly throughout the fade.
 +
** '''Length''': Length of time in seconds the sound will fade out at the end.
 +
 +
* '''Volume Falloff'''
 +
** '''Begin (for 3D sounds)''': This is the distance from the empty where the sound reaches full volume.  The "louder" you want the sound to seem, the larger this number.  '''5''' is usually a good number for regular sounds.
 +
** '''End (for 3D sounds)''': At this distance, the sound is completely inaudible.  Once again, the louder the sound, the larger this number will be, but you'll always want it bigger than your '''Begin''' number.
 +
** '''Max Volume (for all sounds)''': The volume at which the sound will be at its loudest in-game compared to the actual sound file.  For instance, if you set this for 50%, then the sounds maximum volume in-game will only be 50% of the actual sound file's volume.
 +
 +
<blockquote>'''NOTE''': The '''Begin''' and '''End''' values only affect 3D sounds.  However, all types of sounds can have their '''Max Volume''' adjusted.</blockquote>
 +
 +
* '''Soft Region''': Choosing a '''Soft Volume''' in this field will regulate a sound to the settings of that soft volume.  For example, a simple soft volume will cause the sound to only be heard within it.  An inverted soft volume will cause the sound to be heard everywhere ''except'' within the soft volume.
 +
 +
See the [[Korman:Soft_Volumes|soft volumes tutorial]] for more information on the various types of Soft Volumes and how to set one up.
 +
 +
=Controlling a Sound With Responders=
 +
 +
[[file:KorNodeMessage02.jpg]]
 +
 +
So you have a sound emitter with modifier, but how do you control it?  If your sound doesn't have '''Auto Play''' checked in the modifier, you won't be able to hear it without triggering it.
 +
 +
For that, we use a node logic tree with a [[Korman:Logic_Nodes#Sound|sound node]] (see link for node's functions) to control the emitter.  We'll make a simple node tree to cause a sound to play with a clickable.
 +
 +
First, add any object for the clickable with a large region surrounding it.
 +
 +
Then we'll set up an empty to play the '''xYeeshaPageGlow.ogg''' sound in the middle of the clickable.
 +
 +
[[file:KorSounds04.jpg]]
 +
 +
With that done, let's switch over to the '''Node Editor''' window.  Check [[Korman:Logic_Nodes#Setting_Up|here]] for how to set things up properly for your node tree.
 +
 +
[[file:KorNodeMenuBar01.jpg]]
 +
 +
Be sure the menu bar for the Node Editor is set like the one above.  Let's set up a responder to turn the sound on when we click the button.
 +
 +
[[file:KorSounds05.jpg|900px]]
 +
 +
This will cause the sound to play once and stop each time you use the clickable.
 +
 +
Now let's try setting things up so that the sound plays on a loop until clicked again.  For that, it's a simple matter of adding another state to the existing node tree.
 +
 +
[[file:KorSounds06.jpg|900px]]
 +
 +
As you can see, the default state has the sound off.  For that state, we set the sound to loop when it starts so it will play continuously.
 +
 +
Clicking the button again will trigger the second state, which will shut off the sound.
 +
 +
This achieves the same effect as the music box on Relto and would be useful to control music in an Age.
 +
 +
<blockquote>Remember, when your node tree is complete, you need to [[Korman:Logic_Nodes#Applying_the_Node_Tree|apply it to any object]].</blockquote>
 +
 +
Note that the same effect can be achieved with a [[Korman:Logic_Nodes#Region_Sensor|region sensor]] instead of a clickable.
 +
 +
=Random Sound Modifiers=
 +
 +
''Coming Soon!''
  
 
[[Category:Korman]] [[Category:Korman Tutorials]]
 
[[Category:Korman]] [[Category:Korman Tutorials]]

Latest revision as of 09:24, 27 June 2021

Disambig gray.png

This is a tutorial page.Versions available: PyPRP; 3ds Max; Korman.
 KorNodeMessage02.jpg

This tutorial will show you how to add sounds into an Age with Korman.

Getting Started

Korman eliminates a lot of the busy work that previously went into adding a sound. You no longer have to have the sound file in the same folder as the blend file, and you no longer need to convert the sound into WAV format first. You can directly link to a sound already located in URU's SFX folder with no extra fuss.

If it's easier, you can still copy the sound into the blend's directory, as it will make it easier to locate when you choose the sound file later. Just make sure the same sound file is also located in the installation of URU to which you are exporting or the sound won't play.

Empty Object Emitter

To start, you will need to add an empty. For 3D sounds, you want to locate the empty around where the sound is centralized (Empty objects for the other types of sounds can be located anywhere in the Age). For this example, let's look at a Nexus pedestal:

KorSounds01.jpg

As you can see, the empty is located in the middle of the turning gear and the sound will be centralized there. Again, location of the empty is only essential for 3D sounds.

Sound Modifier

With the empty selected, go to the Properties window and select the Physics panel.

KorStart03.jpg

Click on Add Modifier and select Sound Emitter. Click on the + at the right of the new panel that appears.

Your window should look like this:

KorSounds03.jpg

Now we need to select a sound. Click on the folder icon on the right side of the first field. Navigate to the folder that contains the sound file you would like to use and select it.

NOTE: It may take a few moments to load URU's SFX folder due to the large amount of sound files

In this example, we'll use the Nexus pedestal's default xNxusPodium_Loop.ogg sound file.

KorSounds02.jpg

Now for the various options.

The first two fields determine which type of sound will be played and which channel on which it will play (left or right)

  • NPC: Stands for "Non-Player Character". Used for dialogue such as Yeesha's Bahro Cave speeches.
  • GUI: Used for a GUI dialog interface, such as the Great Zero scopes.
  • Music: Sets the sound as an Age's background music. You can set this to a Soft Volume if you'd like the music regulated to a specific area, such as the Kadish Gallery in Ae'gura.
  • Ambience: Used for an Age's background noise, such as wind and random sounds. Can be heard all around the Age or set to Soft Volumes for specific areas.
  • 3D: The most common sound emitter. Will fade in and out based on the values you determine below and how far or close the avatar is in-game.

Next to that, you can choose the Channels, left and right, on which the sound will play (both selected is usually the default).

  • Playback
    • Auto Start: This will play the sound automatically when the player enters the Age.
    • Incidental: For low-priority sounds where the game may forgo playback. For random noise sounds.
    • Loop: Causes the sound to repeat indefinitely until it's stopped by a responder.
Each curve is labeled for exponential or logarithmic. The red line represents linear
  • Cone Effect
    • Inner Angle:
    • Outer Angle:
    • Volume:
  • Fade In
    • Exponential: Sound gradually gets louder, with most gain near the end of the fade.
    • Logarithmic: Sound gradually gets louder, with most gain near the beginning of the fade.
    • Linear: Sound gradually gets louder evenly throughout the fade.
    • Length: Length of time in seconds the sound will fade in at the beginning.
  • Fade Out
    • Exponential: Sound gradually gets quieter, with most loss near the end of the fade.
    • Logarithmic: Sound gradually gets quieter, with most loss near the beginning of the fade.
    • Linear: Sound gradually gets quieter evenly throughout the fade.
    • Length: Length of time in seconds the sound will fade out at the end.
  • Volume Falloff
    • Begin (for 3D sounds): This is the distance from the empty where the sound reaches full volume. The "louder" you want the sound to seem, the larger this number. 5 is usually a good number for regular sounds.
    • End (for 3D sounds): At this distance, the sound is completely inaudible. Once again, the louder the sound, the larger this number will be, but you'll always want it bigger than your Begin number.
    • Max Volume (for all sounds): The volume at which the sound will be at its loudest in-game compared to the actual sound file. For instance, if you set this for 50%, then the sounds maximum volume in-game will only be 50% of the actual sound file's volume.
NOTE: The Begin and End values only affect 3D sounds. However, all types of sounds can have their Max Volume adjusted.
  • Soft Region: Choosing a Soft Volume in this field will regulate a sound to the settings of that soft volume. For example, a simple soft volume will cause the sound to only be heard within it. An inverted soft volume will cause the sound to be heard everywhere except within the soft volume.

See the soft volumes tutorial for more information on the various types of Soft Volumes and how to set one up.

Controlling a Sound With Responders

KorNodeMessage02.jpg

So you have a sound emitter with modifier, but how do you control it? If your sound doesn't have Auto Play checked in the modifier, you won't be able to hear it without triggering it.

For that, we use a node logic tree with a sound node (see link for node's functions) to control the emitter. We'll make a simple node tree to cause a sound to play with a clickable.

First, add any object for the clickable with a large region surrounding it.

Then we'll set up an empty to play the xYeeshaPageGlow.ogg sound in the middle of the clickable.

KorSounds04.jpg

With that done, let's switch over to the Node Editor window. Check here for how to set things up properly for your node tree.

KorNodeMenuBar01.jpg

Be sure the menu bar for the Node Editor is set like the one above. Let's set up a responder to turn the sound on when we click the button.

KorSounds05.jpg

This will cause the sound to play once and stop each time you use the clickable.

Now let's try setting things up so that the sound plays on a loop until clicked again. For that, it's a simple matter of adding another state to the existing node tree.

KorSounds06.jpg

As you can see, the default state has the sound off. For that state, we set the sound to loop when it starts so it will play continuously.

Clicking the button again will trigger the second state, which will shut off the sound.

This achieves the same effect as the music box on Relto and would be useful to control music in an Age.

Remember, when your node tree is complete, you need to apply it to any object.

Note that the same effect can be achieved with a region sensor instead of a clickable.

Random Sound Modifiers

Coming Soon!