Env projectedtexture: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
Line 16: Line 16:
  bool bTools = CommandLine()->CheckParm( "-tools" ) != NULL;
  bool bTools = CommandLine()->CheckParm( "-tools" ) != NULL;
  m_nMaxDepthTextureShadows = bTools ? 4 : 1; // Just one shadow depth texture in games, more in tools
  m_nMaxDepthTextureShadows = bTools ? 4 : 1; // Just one shadow depth texture in games, more in tools
And change this to a number:
And add:
  m_nMaxDepthTextureShadows = YOUR_CHOSEN_MAX;
  m_nMaxDepthTextureShadows = YOUR_CHOSEN_MAX; //with your number


==Keyvalues==
==Keyvalues==

Revision as of 15:53, 30 September 2008

Template:Wrongtitle Template:Base point ep2

Entity Description

Casting shadows.

Creates a dynamic shadow-casting light that affects all objects in the world. Used for the Episode Two flashlight.

Icon-Bug.pngBug:Does not accept a configurable texture value from Hammer - will always default to the flashlight. You must use the SpotlightTexture input instead.  [todo tested in ?]

Enabling multiple shadow maps

Valve's games only allow one projected texture to cast shadows at a time - including the player's flashlight! To surmount this, shadow casting can be disabled on each entity with the enableshadows KV, or for a proper solution a programmer can perform this C++ fix:

In CClientShadowMgr::Init() around line 1293, comment out:

	 bool bTools = CommandLine()->CheckParm( "-tools" ) != NULL;
	 m_nMaxDepthTextureShadows = bTools ? 4 : 1;	// Just one shadow depth texture in games, more in tools

And add:

	m_nMaxDepthTextureShadows = YOUR_CHOSEN_MAX; //with your number

Keyvalues

Projecting a texture.
  • target <target_destination>
The entity will rotate to point at its target, no matter where it is in the world. See also lightonlytarget.
Icon-Bug.pngBug:Can get glitchy.  [todo tested in ?]
  • lightfov <float>
The angle at which the texture is projected. The projection is square, but the texture can make it appear of any shape.
Remember the default Player FOV is 75°.
  • nearz <float>
Near Z for projected texture. Default value is 4.0.
Objects closer than this will not receive the projection.
  • farz <float>
Far Z for projected texture. Default value is 750.0.
Objects beyond this distance will not receive the projection. Think of it as the range limit.
Should I cast (dynamic) shadows?
0 = No, 1 = Yes.
Quality of (dynamic) shadows?
0 = Low, 1 = High.
Should I light only the entity that is my target?
0 = No, 1 = Yes.
Icon-Bug.pngBug:Non-functional.  [todo tested in ?]
Should I light world brushes?
Display relative to player's view. Breaks things horribly unless the entity moves with the player.
  • lightcolor #000000
Projected color

Flags

  • 1 : Enabled

Inputs

  • TurnOn
  • TurnOff
  • FOV <float>
See lightfov keyvalue above.

Inputs not in FGD

These inputs are not known to Hammer, but are still accepted by the entity:

  • target <entity>
Specify a new <target_desination> entity.
  • cameraspace <bool>
See above keyvalues.
  • LightOnlyTarget <bool>
See above keyvalues.
Icon-Bug.pngBug:Non-functional.  [todo tested in ?]
  • LightWorld <bool>
See above keyvalues.
Icon-Bug.pngBug:Cannot be re-enabled.  [todo tested in ?]
  • EnableShadows <bool>
See above keyvalues.
  • Ambient <float>
Allows for an ambiance light, much like the shadow color for it.
  • SpotlightTexture <VTF/string>
A VTF file (not VMT), relative to /materials.

Outputs