$envmapmask: Difference between revisions
Jump to navigation
Jump to search
Note:If you do this, transformations and other such parameters applied to the base texture/normal map will also apply to the specular mask.
TomEdwards (talk | contribs) No edit summary |
TomEdwards (talk | contribs) (+image) |
||
| Line 18: | Line 18: | ||
==Additional Parameters== | ==Additional Parameters== | ||
[[Image:Scanner mask.jpg|thumb|[[npc_cscanner]]'s mask.]] | |||
; <code>$envmapmasktransform <matrix></code> | ; <code>$envmapmasktransform <matrix></code> | ||
Revision as of 03:49, 9 July 2008
The specular mask or envmapmask affects how strongly the surface reflects light from the $envmap. It is a greyscale image in which entirely reflective areas are black and entirely matte areas are white.
VMT syntax example
$envmapmask <texture>
VertexLitGeneric { $envmap env_cubemap $envmapmask "props/tvscreen_test" $envmapmasktransform "center .5 .5 scale .25 .25 rotate 0 translate 0 0" //dx9 only $envmapmaskscale .25 // dx8 only $envmapmaskframe 1 $selfillum_envmapmask_alpha 1 //dx9 only }
Additional Parameters
npc_cscanner's mask.
$envmapmasktransform <matrix>- Adjusts UV mapping of
$envmapmask. - DirectX 8 and below use
$envmapmaskscaleinstead.
- The default position is
center .5 .5 scale 1 1 rotate 0 translate 0 0.centerdefines the point of rotation. Only useful ifrotateis being used.scalefits the texture into the material the given number of times.2 1is a 50% scale in the horizontal X axis while the vertical Y axis is still at original scale.rotaterotates the texture counter-clockwise in degrees. Accepts any number, including negatives.translateshifts the texture by the given numbers..5will shift it half-way. 1 will shift it once completely over, which is the same as not moving it at all.
Note:All values must be included!
Bug:Scaling the texture may cause odd issues where the Texture Lock tool in Hammer will not actually lock the texture in place. [todo tested in ?]
Bug:Rotating textures applied on brushes will rotate around the map origin (confirm: Orangebox engine only?). A fix for this is to change the center position in the VMT to the brush's origin. [todo tested in ?]
$envmapmaskscale <float>- Scales the
$envmapmaskby the given value. - See also
$envmapmasktransform, above. - Requires DirectX 8.
$envmapmaskframe <integer>- The frame of an animated texture to use as the mask.
$selfillum_envmapmask_alpha <bool>- Derives self-illumination values from the alpha channel of
$envmapmask. - Requires DirectX 9.
- See also
$selfillum.
Alternative Methods
Rather than creating a whole new VTF just for a specular mask, you can use the alpha channel of either the $basetexture or $bumpmap.
$basealphaenvmapmask <bool>- Use the alpha channel of $basetexture as the specular mask.
$normalmapalphaenvmapmask <bool>- Use the alpha channel of $bumpmap as the specular mask.