Creating a portal/object fizzler: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
No edit summary
Line 8: Line 8:
=== Step 1 ===
=== Step 1 ===


First thing is first, due to the sheer size of the fizzler you might need to create an appropriate sized doorway to construct the fizzler in. Use the portal_cleanser and cleanser_edge_1 particle effects. cleanser_edge_1 is best used for cleansers wider than 192 units.
Due to the sheer size of the fizzler you may need to create an appropriate sized doorway to construct the fizzler in.
 
Use the portal_cleanser and cleanser_edge_1 particle effects. cleanser_edge_1 is best used for cleansers wider than 192 units.


=== Step 2 ===
=== Step 2 ===
Line 22: Line 24:
Go ahead and name it if you want, that way you can keep track of how many you might have.
Go ahead and name it if you want, that way you can keep track of how many you might have.


{{Note|Don't forget to check "flags" to make sure '''Clients''' and '''Everything''' are selected. However if you don't want it to emancipate objects that pass through it, un-check ''Everything''.}} {{clr}}
{{Note|Don't forget to check "flags" to make sure '''Clients''' and '''Everything''' are selected.}} {{clr}}
 
{{entity-flag-start}}
{{entity-flag|Clients|on}}
{{entity-flag|Everything|on}}
{{entity-flag-end}}
 
{{note|If your fizzler models are a prop_dynamic, they will dissolve if the Everything flag is on, you can enable the <code>Physics Objects</code> as an alternative}}


=== Step 3 ===
=== Step 3 ===
Next is to make a [[prop_static]] with the world model of: '''models/props/portal_cleanser_1.mdl'''. Go ahead and clone it '''(Shift+Drag)''' and rotate the cloned prop to make it appears as in the picture above.
Make 2 [[prop_static]] entities and set their World Model to '''models/props/portal_cleanser_1.mdl''', rotate one of them by 180 degrees.


You are free to line up everything you have so far directly in a straight line, or you can change it to your liking.
You are free to line up everything you have so far directly in a straight line, or you can change it to your liking.
{{clr}}


Now there is one last thing to be done.{{clr}}
=== Step 4 ===
Create a [[info_particle_system]] entity and enter the following properties:


=== Step 4 ===
{| class=standard-table
The last thing to put in is a [[info_particle_system]] entity, with the ''particle system name'' Property set to: '''portal_cleanser'''. Last to do is to make sure it aligns with your trigger right directly in the center of the brush itself.
Property Name || Value
|-
| Particle System Name || portal_cleanser
|-
| Start Active || Yes
|}


Make sure to also have the particle effect start active.{{clr}}
Align it to the trigger brush precisely in the center.


=== Theory ===
{{clr}}
And thats it, now you're all done! Compile with vvis and vrad enabled and anything that walks through the fizzler should now automatically be fizzled. Good Luck.


==== Special Note ====
==== Special Note ====


If you have a box dropper that you want to spawn a new box if the player destroys hers in a fizzler, you can use the output ''OnDissolveBox'', but '''only if your box prop_physics has the world model "models/props/metal_box.mdl" and/or is named box.{{Note| This needs to be tested.}}'''
If you have a box dropper that you want to spawn a new box if the player destroys one with a fizzler, you can use the output ''OnDissolveBox'', but only if your box prop_physics is named '''box'''.
 
If you have multiple droppers in your map along with a cleanser and you want the box dropper to deliver a new box, follow these instructions:
 
Enter this output for the '''trigger_portal_cleanser''':
{| {{OutputsTable}}
| [[Image:Io11.png]] || OnDissolve || !activator || FireUser1 || <none> || 0.00 || No
|}


Enter this output for the '''box''':
{| {{OutputsTable}}
| [[Image:Io11.png]] || OnUser1 || logic_drop_box || Trigger || <none> || 0.00 || No
|}


Since this can be limiting in certain conditions, the alternate solution is to make 2 trigger_portal_cleanser brushes, 1 unit thick right next to each other and use the output ''OnDissolve'' rather than ''OnDissolveBox''. Create 2 filters, one that ''accepts'' the box name(s) you want, and one that ''rejects'' the box names you want. Apply one filter to one of your trigger_portal_cleanser, and the other filter to your other trigger_portal_cleanser. In this manner, one trigger_portal_cleanser will only handle you boxes dissolve, and the other will handle other physics objects, and portal fizzling.
You will have to change the logic_drop_box name in the output depending on which box dropper the box came from.


== Notes ==
== Notes ==

Revision as of 12:35, 16 June 2022

English (en)Français (fr)Русский (ru)中文 (zh)Translate (Translate)
Portal Level Creation


This wall of particles destroys any objects that come in contact with it and closes any portals that have been opened by the player.

Step 1

Due to the sheer size of the fizzler you may need to create an appropriate sized doorway to construct the fizzler in.

Use the portal_cleanser and cleanser_edge_1 particle effects. cleanser_edge_1 is best used for cleansers wider than 192 units.

Step 2

The first thing that needs to be created is the doorway that will act as the fizzler holder. You can also use a prop for this effect as well, however for the purpose of this tutorial a model will be used.

Note.pngNote:You can make a fizzler any size you want for your map, it will just require more info_particle_system entities.

The available props for this is:

  • models/props/portal_cleanser_1.mdl

To use as a base we need to create a trigger_portal_cleanser, which in size should be 128x128. Note that this is the base size for a normal sized fizzler. Also the trigger should be just 2 Units thick.

Go ahead and name it if you want, that way you can keep track of how many you might have.

Note.pngNote:Don't forget to check "flags" to make sure Clients and Everything are selected.
Flag
Checkbox-on.png Clients {{{3}}}
Checkbox-on.png Everything {{{3}}}
Note.pngNote:If your fizzler models are a prop_dynamic, they will dissolve if the Everything flag is on, you can enable the Physics Objects as an alternative

Step 3

Make 2 prop_static entities and set their World Model to models/props/portal_cleanser_1.mdl, rotate one of them by 180 degrees.

You are free to line up everything you have so far directly in a straight line, or you can change it to your liking.

Step 4

Create a info_particle_system entity and enter the following properties:

Property Name Value
Particle System Name portal_cleanser
Start Active Yes

Align it to the trigger brush precisely in the center.

Special Note

If you have a box dropper that you want to spawn a new box if the player destroys one with a fizzler, you can use the output OnDissolveBox, but only if your box prop_physics is named box.

If you have multiple droppers in your map along with a cleanser and you want the box dropper to deliver a new box, follow these instructions:

Enter this output for the trigger_portal_cleanser:

  My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnDissolve !activator FireUser1 <none> 0.00 No

Enter this output for the box:

  My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnUser1 logic_drop_box Trigger <none> 0.00 No

You will have to change the logic_drop_box name in the output depending on which box dropper the box came from.

Notes

Warning.pngWarning:NEVER enable Flag "Everything" on a trigger_portal_cleanser, especially if using a dynamic fizzler, or else your Models WILL get emancipated!

See also