Creating an incinerator: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
No edit summary
Line 19: Line 19:
Make a little room, the walls for each side contain 2 brushes.
Make a little room, the walls for each side contain 2 brushes.


2 walls are 152w*16*128h brushes.
2 walls are <code>152w*16*128h</code> brushes.


The top part of the walls have the texture "metalwall_bts_006a" and
The top part of the walls have the texture <code>metalwall_bts_006a</code> and
the bottom part has the texture "metalwall_bts_006b_gradient".
the bottom part has the texture <code>metalwall_bts_006b_gradient</code>.


Rotate the faces by 180 degrees. Align the textures with the texture tool with Texture Shift.
Rotate the faces by 180 degrees. Align the textures with the texture tool with Texture Shift.


The floor of the little room is 128w*128l*16h and the top face texture is light_orange001
The floor of the little room is <code>128w*128l*16h</code> and the top face texture is <code>light_orange001</code>


===Fire Particles===
===Fire Particles===


Create a info_particle_system
Create a <code>info_particle_system</code> entity


Set it's name to "fire_particles"
Set it's name to <code>fire_particles</code>


Set the angles to 0 270 0
Set the angles to <code>0 270 0</code>


Set "Particle System Name" to "fire_incinerator_door"
Set <code>Particle System Name</code> to <code>fire_incinerator_door</code>


Put this particle in the hole of the incinerator doors
Put this particle in the hole of the incinerator doors


===Collision===
===Collision===
Create a 208*208l*16h arch with the invisible texture and
Create a <code>208*208l*16h</code> arch with the <code>invisible</code> texture and
set wall width to "40", Number of sides = 16, Arc = 360, Start Angle = 0
set wall width to "40", Number of sides = 16, Arc = 360, Start Angle = 0


Line 50: Line 50:
===Manual Collision===
===Manual Collision===


Create a 144*144l*192h arch with the invisible texture
Create a <code>144*144l*192h</code> arch with the <code>invisible</code> texture


Set Number of sides to 16
Set Number of sides to 16
Line 61: Line 61:




 
Select the clipping tool, from the top right of the shape, make a <code>30 degree cut</code> from right to left.
Select the clipping tool, from the top right of the shape, make a 30 degree cut from right to left.
Then cut off the top side of the shape.
Then cut off the top side of the shape.


Line 70: Line 69:


===Nudging The Box===
===Nudging The Box===
Create a 128s*128l*8h brush with the trigger texture. Tie it to a trigger_multiple.
Create a <code>128s*128l*8h</code> brush with the trigger texture. Tie it to a <code>trigger_multiple</code>.
 


Set it's name to "nudge_boxes"
Set it's name to <code>nudge_boxes</code>


Set it's filter_name to filter_boxes
Set it's <code>filter_name</code> to <code>filter_boxes</code>


Go to flags and check "Physics Objects" and uncheck "clients".
Go to flags and check <code>Physics Objects</code> and uncheck <code>clients</code>.


Go to outputs and enter the following:
Go to outputs and enter the following:
Line 97: Line 95:


===Door Collision===
===Door Collision===
Make 128s*128l*8h brush with the invisible texture.
Make <code>128s*128l*8h</code> brush with the invisible texture.
Tie it to a func_brush entity.
Tie it to a <code>func_brush</code> entity.


Name it "incinerator_collision_door"
Name it <code>incinerator_collision_door</code>


Hold Ctrl + M and change the x value to 25
Hold Ctrl + M and change the x value to 25
Line 109: Line 107:
Make 3 Logic_Relays
Make 3 Logic_Relays


Name them "relay_incinerator_open", "relay_incinerator_close", and "relay_euthanization"
Name them <code>relay_incinerator_open</code>, <code>relay_incinerator_close</code>, and <code>relay_euthanization</code>


On relay_incinerator_open add the following outputs:
On <code>relay_incinerator_open</code> add the following outputs:


{| {{OutputsTable}}
{| {{OutputsTable}}
Line 133: Line 131:
===Killing the Box===
===Killing the Box===


Make 128s*128l*8h brush with the trigger texture.
Make <code>128s*128l*8h</code> brush with the trigger texture.
Tie it to a trigger_once entity.
Tie it to a trigger_once entity.


Name it to trigger_killbox
Name it to <code>trigger_killbox</code>


Set it's Filter Name to filter_boxes
Set it's <code>Filter Name</code> to <code>filter_boxes</code>


Go to flags and check "physics objects" and uncheck "Clients"
Go to flags and check <code>physics objects</code> and uncheck <code>Clients</code>


Enter the following in outputs:
Enter the following in outputs:
Line 152: Line 150:


==Implementation==
==Implementation==
Have a certain object trigger relay_incinerator_open to open the incinerator
Have a certain object trigger <code>relay_incinerator_open</code> to open the incinerator


When that certain object deactivates, trigger relay_incinerator_close.
When that certain object deactivates, trigger <code>relay_incinerator_close</code>.
== See also ==
== See also ==
* [[Portal Level Creation]]
* [[Portal Level Creation]]

Revision as of 10:49, 10 July 2019

Broom icon.png
This article or section needs to be cleaned up to conform to a higher standard of quality.
For help, see the VDC Editing Help and Wikipedia cleanup process. Also, remember to check for any notes left by the tagger at this article's talk page.

Introduction

In this tutorial you will learn how to create an Aperture Science Emergency Intelligence Incinerator.

Instructions

The Incinerator

Create a prop_dynamic entity Set the world model to models/props_bts/glados_aperturedoor.mdl

Change it's name to model_incinerator_door Choose Collisions and choose "Not Solid"

The Floor

Make a floor, Two brushes are 192w*64l*16h and the other 2 are 40w*128l*16h


The Little Room

Make a little room, the walls for each side contain 2 brushes.

2 walls are 152w*16*128h brushes.

The top part of the walls have the texture metalwall_bts_006a and the bottom part has the texture metalwall_bts_006b_gradient.

Rotate the faces by 180 degrees. Align the textures with the texture tool with Texture Shift.

The floor of the little room is 128w*128l*16h and the top face texture is light_orange001

Fire Particles

Create a info_particle_system entity

Set it's name to fire_particles

Set the angles to 0 270 0

Set Particle System Name to fire_incinerator_door

Put this particle in the hole of the incinerator doors

Collision

Create a 208*208l*16h arch with the invisible texture and set wall width to "40", Number of sides = 16, Arc = 360, Start Angle = 0

Select the brushes and hold 'ctrl + m' choose the X value and type "25"

Position the brushes just like this.

Manual Collision

Create a 144*144l*192h arch with the invisible texture

Set Number of sides to 16

Set wall width to 16

Set Arc to 360

Set Start Angle to 0


Select the clipping tool, from the top right of the shape, make a 30 degree cut from right to left. Then cut off the top side of the shape.

Now do your best to fit the shape into the incinerator.

Note: These brushes are for collision so do your best to fit them out.

Nudging The Box

Create a 128s*128l*8h brush with the trigger texture. Tie it to a trigger_multiple.

Set it's name to nudge_boxes

Set it's filter_name to filter_boxes

Go to flags and check Physics Objects and uncheck clients.

Go to outputs and enter the following:

  My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger !activator Wake 0.00 No


Copy and paste the trigger_multiple and make it a trigger_push Remove the Output from the "Outputs" tab

Set it's move direction to 24 90 0 and leave everything else as it is.


Put the two triggers in the same spot and press ctrl + m. Choose the X value and type "25".

Position them just like this.

Door Collision

Make 128s*128l*8h brush with the invisible texture. Tie it to a func_brush entity.

Name it incinerator_collision_door

Hold Ctrl + M and change the x value to 25 Position it just like this.

Making the Incinerator Functional

Make 3 Logic_Relays

Name them relay_incinerator_open, relay_incinerator_close, and relay_euthanization

On relay_incinerator_open add the following outputs:

  My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger fire_particles Start 0.00 No
Io11.png OnTrigger incinerator_collision_door Disable 0.00 No
Io11.png OnTrigger model_incinerator_door setanimation open 0.00 No

On relay_incinerator_close add the following outputs:

  My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger fire_particles stop 0.00 No
Io11.png OnTrigger incinerator_collision_door Enable 0.00 No
Io11.png OnTrigger model_incinerator_door setanimation close 0.00 No

Killing the Box

Make 128s*128l*8h brush with the trigger texture. Tie it to a trigger_once entity.

Name it to trigger_killbox

Set it's Filter Name to filter_boxes

Go to flags and check physics objects and uncheck Clients

Enter the following in outputs:

  My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnStartTouch !activator kill 0.00 No
Io11.png OnStartTouch relay_euthanization Trigger 0.00 No


Implementation

Have a certain object trigger relay_incinerator_open to open the incinerator

When that certain object deactivates, trigger relay_incinerator_close.

See also