From Valve Developer Community
Revision as of 23:48, 6 November 2020 by DmB (talk | contribs) (env_cubemap_fog is an entity available in Half Life: Alyx and SteamVR Home. It allows you to add a fog effect to cubemaps and makes for a prettier scene.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
An env_cubemap_fog
The Citadel from Half Life: Alyx without and with cubemap fog respectively

env_cubemap_fog is a point entity available in the following Source 2 engine games:

Half-Life: Alyx Half-Life: Alyx , SteamVR Home SteamVR Home . The cubemap fog entity is one of several methods of adding fog along with gradient fog and volumetric fog to a level. I can only assume it adds a fog effect to the cubemaps of a map. It is very likely you will use this entity in conjunction with other fog effects to create a nicer looking scene. It is similar in function to Env_fog_controller from Source 1.

To do: Add a link to a tutorial on volumetric fogging when it's ready.


1. Place down the env_cubemap_fog

2. Under the "Cubemap Texture" parameter, change it to whatever .vtex cubemap texture is to your liking

3. Adjust the distance values to your liking


Source 2 Transform:

origin <coordinates>
The world space origin of the entity.
angles <angles>
The pitch, yaw, roll orientation of the entity.
scales <vector>
The x, y, z scales of the entity. Not all entities can use this.
Transform Locked <boolean>
Lock the transform at its current value, preveting the transform of the node from being modified.
Force Hidden <boolean>
Visually hides the entity from the viewports. The Outliner pane will still list hidden entities.
Editor Only <boolean>
Entity is only displayed in Hammer and will not appear in game.

Source 2 Targetname:

Name (targetname) <string>
The targetname that other entities refer to this entity by.
Entity Scripts (vscripts) <scriptlist>
Space delimited list of VScript files (without file extension) that are executed after all entities have spawned. The scripts are all executed in the same script scope, later ones overwriting any identical variables and functions.

To do: Fill in the Keyvalues that are marked as <unknown>.

Start Disabled (startDisabled) <boolean>
Sets whether the entity is enabled or disabled at map start.

Cubemap Texture (cubemapfogtexture) <string>
The texture (.vtex file) to use for the cubemap fog.

Cubemap LOD (mip) Bias (cubemapfoglodbiase) <float>

Fog Start Distance (cubemapfogstartdistance) <float>
The distance from the player at which the fog will start to fade in.

Fog End Distance (cubemapfogenddistance) <float>
The distance from the player at which the fog will be at full strength.

Distance Falloff Exponent (cubemapfogfalloffexponent) <float>

Height Fog Width (cubemapfogheightwidth) <float>

Height Fog Start (cubemapfogheightstart) <float>
The distance from the player at which the height fog will start to fade in.

Height Fog Exponent (cubemapfogheightexponent) <float>


Source 2 Targetname:

Removes this entity from the world.
Removes this entity and all its children from the world.
AddOutput <string>
Evaluates a keyvalue/output on this entity. It can be potentially very dangerous, use with care.
Format: <key> <value>
Format: <output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire, -1 means infinite>
FireUser1 to FireUser4
Fire the OnUser outputs; see User Inputs and Outputs.

RunScriptFile <string>
Execute a VScript file from disk, without file extension. The script contents are merged with the script scope of the receiving entity.
RunScriptCode <string>
Execute a string of VScript source code in the scope of the entity receiving the input.
CallScriptFunction <string>
Call a script function.
CallPrivateScriptFunction <string>
Calls a script function from this entity's private script scope.
CallGlobalScriptFunction <string>
Calls a script function in the global script scope.


Source 2 Targetname:

OnUser1 to OnUser4
These Outputs each fire in response to the firing of the like-numbered FireUser1 to FireUser4 Input; see User Inputs and Outputs.
This Output fires when the entity is killed and removed from the game.