Creating Portal Speakers: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Re-added "then tick Ignores non-attenuated sounds")
No edit summary
Line 13: Line 13:
==The Speaker==
==The Speaker==


Create a <code>[[prop_static]]</code> entity and set it's world model to <code>models/props/speaker_system01/speaker_system01.mdl</code>
Create a <code>[[prop_static]]</code> entity and set its world model to <code>models/props/speaker_system01/speaker_system01.mdl</code>


If the speaker is inside an Observation Hallway set it's skin to 0. If the speaker is the the maintenance areas, make it skin 1.
If the speaker is inside an Observation Hallway set its skin to 0. If the speaker is a maintenance area, set its skin to 1.
[[File:Speaker System model skin differences.png|thumb|Skin as 0 on the left, and as 1 on the right]]
[[File:Speaker System model skin differences.png|thumb|Skin as 0 on the left, and as 1 on the right]]


Line 44: Line 44:
{{bug| Although you are outside of the microphone area. It is still possible to hear yourself and the portalgun from the speaker.}}
{{bug| Although you are outside of the microphone area. It is still possible to hear yourself and the portalgun from the speaker.}}


==Triggering==
==Reset DSP Microphone==
 
Create an <code>env_microphone</code> and enter the following properties:
 
{| class=standard-table
!  Property Name || Value
|-
| Name || glados_microphone_resetdsp
|-
| Start Disabled || Yes
|-
| Speaker target || glados_speaker1
|-
| Speaker DSP Preset || 1 NO EFFECT
|}
 
Underflags, untick
* <code>Hears Combat sounds</code>
* <code>Hears World sounds</code>
* <code>Hears player sounds</code>
* <code>Hears bullet impacts</code>
 
then tick <code>Ignores non-attenuated sounds</code>
 
 
==The Scene==
 
Create a <code>[[logic_choreographed_scene]]</code> and set its <code>Name</code> and <code>Scene File</code> to what you need.
 
Enter the following outputs:
 
::{| class=standard-table
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
| [[Image:Io11.png]] || OnCompletion || glados_microphone_speaker01 || Disable || <none> || 0.00 || No
|-
| [[Image:Io11.png]] || OnCompletion || glados_microphone_resetdsp || Enable || <none> || 0.5 || No
|-
| [[Image:Io11.png]] || OnCompletion || glados_microphone_resetdsp || Disable || <none> || 1.00 || No
|-
| [[Image:Io11.png]] || OnCanceled || glados_microphone_speaker01 || Disable || <none> || 0.00 || No
|-
| [[Image:Io11.png]] || OnCanceled || glados_microphone_resetdsp || Enable || <none> || 0.5 || No
|-
| [[Image:Io11.png]] || OnCanceled || glados_microphone_resetdsp || Disable || <none> || 1.00 || No
|}
 
==Starting The Scene==
 
'''Usually''', a <code>[[trigger_once]]</code> is used to start the scene. If you are using a <code>trigger_once</code>, enter the following outputs:
::{| class=standard-table
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
|-
| [[Image:Io11.png]] || OnStartTouch || glados_microphone_speaker01 || Enable || <none> || 0.00 || No
|-
| [[Image:Io11.png]] || OnStartTouch || '''name of your logic_choreographed_scene''' || Start || <none> || 0.01 || No
|}
 


When triggering the scene, enable the microphone first, then play the scene with a small delay.


==Extra==
==Extra==

Revision as of 16:36, 1 May 2023


Portal Level Creation

Stub

This article or section is a stub. You can help by expanding it.


Introduction

This tutorial will teach you how to create speakers.

First, complete this guide Making GLaDOS speak


The Speaker

Create a prop_static entity and set its world model to models/props/speaker_system01/speaker_system01.mdl

If the speaker is inside an Observation Hallway set its skin to 0. If the speaker is a maintenance area, set its skin to 1.

Skin as 0 on the left, and as 1 on the right

Create an info_target entity and name it to glados_speaker1. Put this info_target in the center of the speaker part of the model.

Create an env_microphone entity inside of the nodraw box of the GLaDOS' generic_actor area. Enter the following properties:

Property Name Value
Name glados_microphone_speaker01
Start Disabled Yes
Speaker target glados_speaker1
Speaker DSP Preset 8 LOUDSPEAKER, ECHO

Underflags, untick

  • Hears Combat sounds
  • Hears World sounds
  • Hears player sounds
  • Hears bullet impacts

then tick Ignores non-attenuated sounds

Icon-Bug.pngBug: Although you are outside of the microphone area. It is still possible to hear yourself and the portalgun from the speaker.  [todo tested in ?]

Reset DSP Microphone

Create an env_microphone and enter the following properties:

Property Name Value
Name glados_microphone_resetdsp
Start Disabled Yes
Speaker target glados_speaker1
Speaker DSP Preset 1 NO EFFECT

Underflags, untick

  • Hears Combat sounds
  • Hears World sounds
  • Hears player sounds
  • Hears bullet impacts

then tick Ignores non-attenuated sounds


The Scene

Create a logic_choreographed_scene and set its Name and Scene File to what you need.

Enter the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnCompletion glados_microphone_speaker01 Disable <none> 0.00 No
Io11.png OnCompletion glados_microphone_resetdsp Enable <none> 0.5 No
Io11.png OnCompletion glados_microphone_resetdsp Disable <none> 1.00 No
Io11.png OnCanceled glados_microphone_speaker01 Disable <none> 0.00 No
Io11.png OnCanceled glados_microphone_resetdsp Enable <none> 0.5 No
Io11.png OnCanceled glados_microphone_resetdsp Disable <none> 1.00 No

Starting The Scene

Usually, a trigger_once is used to start the scene. If you are using a trigger_once, enter the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnStartTouch glados_microphone_speaker01 Enable <none> 0.00 No
Io11.png OnStartTouch name of your logic_choreographed_scene Start <none> 0.01 No


Extra

The voice lines used in the BTS areas in Portal were modified to have a "speaker" effect.

Here's a sample of a line with the speaker effect:

Retail Voice Line

Here's a sample of the same line but without the speaker effect (taken from the beta):

Beta Voice Line

According to Tim Larkin, he used the Audio Ease Speakerphone VST Plugin. Unfortunately he doesn't remember which effect(s) were used. If you found out what makes the "speaker" effect, please add it here.

See Also