Difference between revisions of "Sky camera"

From Valve Developer Community
Jump to: navigation, search
(Touched up article, added some new info)
(sky_camera can be activated via input)
Line 12: Line 12:
  
 
== Keyvalues ==
 
== Keyvalues ==
 +
{{KV|Name|string|intn=targetname|The [[targetname]] that other entities refer to this entity by.|nofgd=1}}
 
{{KV|3D Skybox scale|integer|This number determines how large objects in your skybox will seem relative to the map. Take a skybox scale of 16, an object 1 unit high in the skybox will seem to be 16 units high to player.}}
 
{{KV|3D Skybox scale|integer|This number determines how large objects in your skybox will seem relative to the map. Take a skybox scale of 16, an object 1 unit high in the skybox will seem to be 16 units high to player.}}
 
{{KV|Fog Enable|boolean|Enable Fog in the Skybox by Default}}
 
{{KV|Fog Enable|boolean|Enable Fog in the Skybox by Default}}
Line 23: Line 24:
 
{{KV|Fog Max Density|float| Fog Max Density [0..1].|nofgd=1}}
 
{{KV|Fog Max Density|float| Fog Max Density [0..1].|nofgd=1}}
 
{{KV Angles}}
 
{{KV Angles}}
 +
 +
== Inputs ==
 +
{{IO|ActivateSkybox|Activates targeted sky_camera and disables rest.|since=L4D2|nofgd=1}}
  
 
== See also ==
 
== See also ==

Revision as of 13:21, 11 July 2020

Sky camera.png

sky_camera is a point entity available in all Source games. It is used to mark the position of the map's origin inside the 3D Skybox. As your position changes relative to the maps origin it will be scaled and applied relative to the sky_camera.

When the map is compiled, the areas containing sky_camera(s) are skipped during vis calculations. This can be overridden by -forceskyvis on VBSP.

By default, only one sky_camera may be active at a time and it cannot move.

Tip.png Tip: There is a trick to emulate multiple or moving 3D Skyboxes in any game. More info here.
Code:There is some leftover code for multiple sky_camera entities which can be restored in mods. Half-Life 2: Downfall has restored this feature and the work involved is open-source. Downfall's repository can be found here. <Mapbase> Mapbase uses the aforementioned Downfall code and also adds native support for moving (and rotating) skyboxes. Mapbase's repository can be found here.

Note that the fog values on sky_camera cannot be changed through inputs (unlike env_fog_controller) and the max density keyvalue is missing from the FGD by default.

Keyvalues

Name (targetname) <string> !FGD
The targetname that other entities refer to this entity by.
3D Skybox scale <integer>
This number determines how large objects in your skybox will seem relative to the map. Take a skybox scale of 16, an object 1 unit high in the skybox will seem to be 16 units high to player.
Fog Enable <boolean>
Enable Fog in the Skybox by Default
Fog Blend <boolean>
This will enable blending between two fog colors, based on the direction the player is looking. If the player's viewpoint is equal to the fogdir vector, the fog will be drawn with the secondary color; if facing in the complete opposite direction, the fog will be drawn with the primary color.
This can be used to approximate the aesthetic effect of diffuse light filtering through the fog, but since the fog effect color is changed for the entire rendered scene, it is best to keep the two colors relatively close to make the blending less obvious.
For example, sunlight with a yaw of 45 degrees and a pitch of -45 degrees could be enhanced using a fogdir of '-1 -1 1', a fogcolor of '120 110 100' and a fogcolor2 of '80 70 60'.
Use Angles for Fog Dir <boolean>
Primary Fog Color <color255>
The Primary Color of the Fog in the Skybox
Secondary Fog Color <color255>
The Secondary Color of the Fog in the Skybox that will be blended to
Primary Fog Dir <string>
A vector (given by three space-separated numbers X Y Z) which points from the secondary fog color fogcolor2 towards the primary fog color fogcolor.
Fog Start <string>
How far from the point-of-view the fog should start. Generally, this should be the same setting as your env_fog_controller.
Fog End <string>
How far from the point-of-view the view should be completely fogged. Generally, this should be the same setting as your env_fog_controller.
Fog Max Density <float> !FGD
Fog Max Density [0..1].

Angles:

Pitch Yaw Roll (Y Z X) (angles) <angle>
This entity's orientation in the world. Pitch is rotation around the Y axis, yaw is the rotation around the Z axis, roll is the rotation around the X axis.

Inputs

ActivateSkybox  (in all games since <Left 4 Dead 2>) !FGD
Activates targeted sky_camera and disables rest.

See also