Creating Portal Speakers: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
m (Setting bug notice hidetested=1 param on page where the bug might not need tested in param specified)
 
(5 intermediate revisions by 3 users not shown)
Line 5: Line 5:
{{Morescreenshots}}
{{Morescreenshots}}


{{Warning| This guide is incomplete, do not follow it until it is complete.}}
==Introduction==
==Introduction==
This tutorial will teach you how to create speakers.
This tutorial will teach you how to create speakers.
Line 14: 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 0 on the left, skin 1 on the right]]


Create an <code>[[info_target]]</code> entity and name it to <code>glados_speaker1</code>. Put this <code>info_target</code> in the center of the speaker part of the model.
Create an <code>[[info_target]]</code> entity and name it to <code>glados_speaker1</code>. Put this <code>info_target</code> in the center of the speaker part of the model.
Line 42: Line 42:
then tick <code>Ignores non-attenuated sounds</code>
then tick <code>Ignores non-attenuated sounds</code>


{{bug| Although you are outside of the microphone area. It is still possible to hear yourself and the portalgun from the speaker.}}
{{bug|hidetested=1| Although you are outside of the microphone area. It is still possible to hear yourself and the portalgun from the speaker.}}
{{Fix| Create a filter that filters only the generic_actor entity, then set the env_microphone's <code>Listen Filter</code> keyvalue to the filter you created}}
 
==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
|-
| [[File:Io11.png]] || OnCompletion || glados_microphone_speaker01 || Disable || <none> || 0.00 || No
|-
| [[File:Io11.png]] || OnCompletion || glados_microphone_resetdsp || Enable || <none> || 0.5 || No
|-
| [[File:Io11.png]] || OnCompletion || glados_microphone_resetdsp || Disable || <none> || 1.00 || No
|-
| [[File:Io11.png]] || OnCanceled || glados_microphone_speaker01 || Disable || <none> || 0.00 || No
|-
| [[File:Io11.png]] || OnCanceled || glados_microphone_resetdsp || Enable || <none> || 0.5 || No
|-
| [[File: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
|-
| [[File:Io11.png]] || OnStartTouch || glados_microphone_speaker01 || Enable || <none> || 0.00 || No
|-
| [[File:Io11.png]] || OnStartTouch || '''name of your logic_choreographed_scene''' || Start || <none> || 0.01 || No
|}




Line 56: Line 115:
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.
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 ==
== See also ==


* [[Making GLaDOS speak]]
* [[Making GLaDOS speak]]

Latest revision as of 07:17, 20 May 2025


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 0 on the left, skin 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.
Note.pngFix: Create a filter that filters only the generic_actor entity, then set the env_microphone's Listen Filter keyvalue to the filter you created

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