Fading Values
prevacid generic equality commission for northern ireland yoga shorts red morning glory slownik polsko angielski the daily eastern news jackson sports accident interstate 75 the tower theater philadelphia rude humor pictures train travel virgin array initializer java theatre jobs in ireland acrage for sale in texas sony t630 software philips bulbs technique vehicle search cipro tintin images slide film scanner nas server comparison lou reed cover phone from morocco after dark mac os x army of the night love to life saving steps after dark collection review phone ringtones king david family tree 70s toys jobs boston mass teamwork skills list usb digital tv box kit homes in scotland leather couch sale pro shot lasers new york state public record east hampton apartments widespread disease medicine career information discount zocor ice cream scoopers online translation german english white lilies island time in alice springs school and assignment and book night in vegas local movie theater guide alltel ringtone medical technology system cyclobenzaprine using tapi applying law school what are phosphates 1010 canada distance long e commerce site builders mo better blues review exclusivity contract sample im alright ap 1000 default ip american murder rate oreg south african department of foreign affairs cheap glucophage import car canada us provigil naruto manga downloads discount propecia auto body canadian part azithromycin state tax burdens the great lost bear suisse asset management reasonable suspicion and probable cause why to date a dancer my all lyrics mariah carey mount saint joes college unload class agreement lease property web access failed eminem girls lyrics student rush tickets new york espn sports guy kitten care tip new jersey ethanol site slovenia suggest tx immunization release form discount zocor reference encyclopedias early intervention programs in new york pa government law montar negocio un off site backup storage shelby county high school retro ringtone touch me feel me american standard website psychology masters degree short love poems in spanish This article describes an advanced effect in the Source engine, used to fade fog between different values, but it can be used for any entity that has a color value to change over time. You might also use that article to shift the Z-plane on a map to reduce the visibility, etc.
This trick is quite powerful, as it allows you to alter values that we usually leave static on a map: it would add game immersion.
Entities required
- logic_relay is perfect to change game values or to abstract the routine. It also makes it much easier to duplicate the effect in other maps.
- logic_timer is the basis of the effect, this entities is designed for measuring the time ticks.
- math_counter keeps track of the evolution of the values uppon time for our effect.
- math_colorblend or math_remap do essentially the same thing: they remap a value based on the input value.
Entity setup
logic_relay targetname fade_value1 OnTrigger counter SetValue 0 OnTrigger timer OnTrigger timer Enable
logic_timer targetname timer RefireTime .2 StartDisabled 1 OnTimer counter Add .01
math_counter targetname counter max 1 OnHitMax timer Disable OutValue colorblend InValue
math_colorblend targetname colorblend colormin "0 0 0" colormax "255 255 255" OutColor env_fog_controller SetColor
Process description
You trigger the logic_relay with another entity, or from the console with ent_fire fade_value1 trigger
. This will start the sequence. The logic_relay starts the logic_timer and resets the math_counter. The logic_timer re-fires every .2 seconds, firing its output OnTimer, which adds .01 to the math_counter's stored value. The math_counter outputs its OutValue whenever its value is changed, which is in turn put into the math_colorblend. The math_colorblend takes the input value, which is a range from 0-1, and changes the colors based on that.
This range allows for 100 steps. The values that are setup are a compromise between making the blend really smooth and performance. It's slightly "steppy" because it happens only 5 times a second. It would be a lot smoother if you increased it to happen more often, with less of a step. You could do that by only adding .005 or a smaller value than the default .01.
Once the math_counter hits its maximum value (1) it will fire an output telling the logic_timer to disable. This effectively stops the sequence until the logic_relay is fired again.
OutColor and OutValue outputs both accept a parameter in Hammer, but make sure you do not specify one. The parameter they pass will be dynamically generated by the entity itself.
You can change OutColor on the math_colorblend to target any entity that will accept a color value, and it should work just the same. This entity rig can be further adapted to work with a math_remap, and used to fade between any two values, allowing you to affect the values of pretty much any entity in the game, and change them over time.