This article was recovered from an archive and needs to be reviewed
- The formatting may be incorrect as it was automatically converted to WikiCode from HTML, it needs to be revised and reformatted
- Some information may be out of date as it was written before Half-Life was available on Steam
- After the article is re-formatted and updated for Steam HL, remove this notice
- Please do not remove the archive notice from the bottom of the article.
- Some archive articles are no longer useful, or they duplicate information from other tutorials and entity guides. In this case, delete the page after merging any relevant information into other pages. Contact an admin to delete a page.
With the introduction of the env_particle entity, the DarkTruths particle engine (Aurora) is now implemented in the
Spirit of Half-Life toolkit (Link: spirit.valve-erc.com) . Sure you could use Aurora, editing the .AUR files, but for those of us that think it is a bit confusing or just don't want to convert to v1.2 this is for you. This article will show you four effects (well, quite pretty effects) that can be done with the env_shooter along with trigger_relays, multi_managers, and env_renders.
This article utilizes a concept known in Spirit of Half-Life known as "Locus". When an entity is triggered ("The Effect"), another entity ("The Cause") is usually responsible for targetting it. Locus acts as an "open variable", inserting the Cause's data into the Effect's data. An example from the Spirit of Half-Life documentation:
An obvious use for Locus would be in a multiplayer level, to make a special invisibility powerup. Have a trigger_once which targets an env_render, and tell the env_render to affect "*locus". The first player who walks into the trigger will then be the "locus" of your env_render, and it will make him invisible.Of course, remember that entities other than the player can be a Locus.
Effect 1: Dripping Water with a Splash
This effect isn't the prettiest effect, but when used can make nice little touches to a level. First, create an env_shooter. What this does is create a shooter that has blueish colored 'drops' that shoot down. The
remove_water value for
Fire on collision (locus = shot) is very important, you'll soon see why.
env_shooter
Name
waterPitch Yaw Roll (Y Z X)
90 0 0Number of shots
1Gib Speed Factor [LR]
200Course Variance
0Shot lifetime (secs)
4Rendermode
AdditiveFX Amount
100FX Color
128 128 255Model or Sprite name
sprites/flare2.sprScale
0.2Behaviour of children
Arc (obey Gravity)Fire on collision (locus = shot)
remove_waterFlags:
Repeatable
Now make a second env_shooter. This env_shooter creates the 'splash' effect when
remove_water is called.
env_shooter
Name
remove_waterPitch Yaw Roll (Y Z X)
-90 0 0Number of shots
5Gib Speed Factor [LR]
200Course Variance
0.15Shot lifetime (secs)
1Rendermode
AdditiveFX Amount
100FX Color
128 128 255Model or Sprite name
sprites/flare1.sprScale
0.1Behaviour of children
Arc (obey Gravity)Flags:
Repeatable
Now create a trigger_relay. What this does is make the first env_shooter's water drop disappear. The shot is acting as the *locus and targets the trigger_relay, which killtargets that specific shot.
trigger_relay
Name
remove_waterKillTarget
*locusNow for the final entity for this simple effect, a multi_manager (Smart Edit off):
multi_manager
wait
0.1maxwait
4water
0targetname
water_dropper
Effect 2: Sparks
This is a nice effect I stumbled upon, it looks quite nice for sparks. Let's start shall we? Place down an env_shooter:
env_shooter
Name
sparkPitch Yaw Roll (Y Z X)
-90 0 0Number of shots
7Gib Speed Factor [LR]
300Course Variance
2Shot lifetime (secs)
1Fire on spawn (locus = shot)
spark_renderRendermode
AdditiveFX Amount
100FX Color
128 128 255Model or Sprite name
sprites/yelflare2.sprScale
0.5Behaviour of children
Arc (obey Gravity)Flags:
Repeatable
Well, that's the only shooter for this effect, now for the env_render. It makes each sprite shrink nearly instantly. Thus making it look like the env_spark entity when it first fires.
env_render
Name
spark_renderRendermode
AdditiveFX Amount
100Scale
0.1Target to affect
*locusFade time (secs)
0.15Now to finish it off, a multi_manager. This finishes the spark effect, it is quite nice.(Smart Edit off):
multi_manager
spark
0targetname
sparkerwait
1maxwait
4If you want to have the spark sounds play, place some ambient_generics with the spark noises in the
WAV Name fields. Now place a multi_manager with the values:
multi_manager
targetname
spark_rendermode
1spark_sound1
100 NOTE: spark_sound1 is just a placeholder name, put whatever you named the ambient_generics, always have the value set to 100 though, this gives each ambient_generic an equal chance to get targeted to play
Effect 3: Fountain
test0004.jpg A very pretty effect, very cool looking when the
Pitch Yaw Roll is set to
-90 0 0 . Well, let's start, place an env_shooter:
env_shooter
Name
fountainPitch Yaw Roll (Y Z X)
0 90 0Number of shots
1Gib speed factor [LR]
300Course Variance
0.1Shot lifetime (secs)
2Fire on spawn (locus = shot)
fountain_renderRendermode
AdditiveFX Amount
100Model or Sprite name
sprites/xspark3.sprScale
0.3Behavior of children
Arc (obey gravity)Fire on collision (locus = shot)
remove_fountainFlags:
Repeatable
If you made the
Pitch Yaw Roll value
-90 0 0 , you might notice it looks like the Aurora particle system called "galaxy". If you want a different water look, change the sprite from
sprites/xspark3.spr to
sprites/flare1.spr . You'll also want to set the scale in the env_render to
0 and the
FX Color to a
blue .
Now place an env_render:
env_render
Name
fountain_renderRendermode
AdditiveFX Amount
255Scale
2Target to affect
*locusFade time (secs)
1.5Now for the trigger_relay to 'kill' the water when it hits the ground:
trigger_relay
Name
remove_fountainKillTarget
*locusAnd finally the multi_manager to wrap it up (Smart Edit off):
multi_manager
water
0targetname
water_fountain
Effect 4: Fire
test0001.jpg This is probably the best (or one of the best) looking effects I've come up with. Like it's name says, it is fire, very nice looking fire. Place an env_shooter:
env_shooter
Name
firePitch Yaw Roll (Y Z X)
-90 0 0Number of shots
2Delay between shots
0.01Gib speed factor [LR]
50Course Variance
0.15Shot lifetime (secs)
3Fire on spawn (locus = shot)
fire_renderRendermode
AdditiveFX Amount
100FX Color
255 128 64Model or Sprite name
sprites/flare3.sprScale
1Behavior of children
NoclipFlags:
Repeatable
Now for the env_render, this really makes the fire nice:
env_render
Name
fire_renderRendermode
AdditiveFX Amount
100FX Color
128 128 255Scale
0.3Target to affect
*locusFade time (secs)
4Basically, this shrinks the sprites and changes their color at the same time to a bluish color. Looks very nice, but to finish it, we need a multi_manager:
multi_manager
fire
0.1targetname
flamesNow if you compile your map, you'll see some nice effects with the env_shooter in combination with env_renders, trigger_relays, and multi_managers. However, this is just the base of the cliff! There are many more things you can do with it, along with other entities like the env_shockwave. I've also attached an example map that has a few other effects.
This article was originally published on the
Valve Editing Resource Collective (VERC).
TWHL only archives articles from defunct websites. For more information on TWHL's archiving efforts, please visit the
TWHL Archiving Project page.