env_light_probe_volume

From Valve Developer Community
Jump to: navigation, search

env_light_probe_volume is a point entity available in the following Source 2 engine games: <SteamVR Home> SteamVR Home, <Half-Life: Alyx> Half-Life: Alyx. It is used to place volumes of ambient light into the open spaces of a map. The entity generates a volumetric grid of lighting samples when baking the map lighting. These samples are used for diffuse ambient lighting on any entities that don't or can't have lighting baked on them.


Keyvalues

To do: Add any new keyvalues from HL:A.

Start Disabled (StartDisabled) <boolean>

Source 2 LightProbeVolume:

Light Probe Texture (lightprobetexture) <string>
Name of the light probe texture.
Tip:This is normally assigned by the light baker and does not need to be manually set.
Box Mins (box_mins) <vector>
Minimum bounds. Set by dragging the controls of the entity with the Hammer Select tool.
Box Maxs (box_maxs) <vector>
Maximum bounds. Set by dragging the controls of the entity with the Hammer Select tool.
Voxel Size (voxel_size) <float>
Size of the light probe voxels in game units.
  • 12.0 - Very High Resolution
  • 24.0 - High Resolution
  • 48.0 - Medium Resolution
  • 108.0 - Low Resolution
Tip:This keyvalue is not limited to the presets, other values can be set with the Raw Edit mode.
Ignore Unreachable Space (flood_fill) <boolean>
To do: Possibly uses adjacent lit samples to fill out any samples that aren't visible to any lights.
Calculate Diffuse Lighting Using Cubemap (light_probe_volume_from_cubemap) <boolean>
Uses cubemaps instead of the light mapper directly to generate the light probes.
Note:This can speed up light baking by a significant amount, but can generate incorrect lighting in areas not directly visible to the cubemap origin.
Storage (storage) <choices>
Texture format to store the light probes as.
  • -1 - Default
  • 0 - AmbientCube RGBM8888 Uncompressed
  • 1 - AmbientCube RGBMDXT5 Compressed


Source 2 LPV and Cubemap:

Priority (indoor_outdoor_level) <integer>
If multiple volumes contain an object, the highest priority volume takes precedence.
  • -2 - Lowest
  • -1 - Low
  • 0 - Normal
  • 1 - High
  • 2 - Highest
Light Group (lightgroup) <string>
Semicolon-delimited list of light groups to affect.
Moveable (moveable) <boolean>
Can be moved, parented, enabled, or disabled at runtime.


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.


Source 2 Hierarchy:

Parent (parentname) <targetname>
Specifies a movement parent. An entity will maintain its initial offset from its parent.
Parent Model Bone/Attachment Name (parentAttachmentName) <string>
The name of the bone or attachment to attach to on the entity's parent in the movement hierarchy. Use !bonemerge to use bone-merge style attachment.
Model Attachment position offset (local.origin) <coordinates>
Offset in the local space of the parent model's attachment/bone to use in hierarchy. Not used if you are not using parent attachment.
Model Attachment angular offset (local.angles) <angles>
Angular offset in the local space of the parent model's attachment/bone to use in hierarchy. Not used if you are not using parent attachment.
Model Attachment scale (local.scales) <vector>
Scale in the local space of the parent model's attachment/bone to use in hierarchy. Not used if you are not using parent attachment.
Use Model Attachment Offset (useLocalOffset) <boolean>
Whether to respect the specified local offset when doing the initial hierarchical attachment to its parent.


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.


Inputs

Enable
Enable this entity.
Disable
Disable this entity.


Source 2 Targetname:

Kill
Removes this entity from the world.
KillHierarchy
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 Hierarchy:

SetParent <string>
Changes the entity's parent in the movement hierarchy.
SetParentAttachment <string>
Change this entity to attach to a specific attachment point on its parent. Entities must be parented before being sent this input. The parameter passed in should be the name of the attachment.
SetParentAttachmentMaintainOffset <string>
Change this entity to attach to a specific attachment point on it's parent. Entities must be parented before being sent this input. The parameter passed in should be the name of the attachment. The entity will maintain it's position relative to the parent at the time it is attached.
ClearParent
Removes this entity from the the movement hierarchy, leaving it free to move independently.


Outputs

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.
OnKilled
This Output fires when the entity is killed and removed from the game.


See Also