$envmapmask: Difference between revisions
m (Equalizer5118 moved page $envmapmask to $envmapmask/en) |
ShiroDkxtro2 (talk | contribs) m (Added Caveat regarding $phong and updated $selfillum_envmapmask_alpha to be the same as on the glowing textures page) |
||
Line 5: | Line 5: | ||
{{ModernBug|In {{src07|2}} games, using an <code>$envmapmask</code> which is not stored in a subfolder will cause the texture to fail loading in-game.}} | {{ModernBug|In {{src07|2}} games, using an <code>$envmapmask</code> which is not stored in a subfolder will cause the texture to fail loading in-game.}} | ||
{{ModernWarning|<code>$envmapmask</code> will not work with materials using {{ent|$bumpmap}}. Except on {{ent|VertexLitGeneric}}{{mapbase|only}} and {{ent|LightmappedGeneric}}{{csgo|only}}. See [[#Alternative_methods]].}} | {{ModernWarning|<code>$envmapmask</code> will not work with materials using {{ent|$bumpmap}}. Except on {{ent|VertexLitGeneric}}{{mapbase|only}} and {{ent|LightmappedGeneric}}{{csgo|only}}. See [[#Alternative_methods]].}} | ||
{{ModernWarning|<code>$envmapmask</code> will not work with materials using {{ent|$phong}}, at all. By default it will use the $basetexture's alpha channel for masking the envmap.}} | |||
==VMT syntax example== | ==VMT syntax example== | ||
Line 58: | Line 59: | ||
* In {{csgo}}, on {{ent|LightmappedGeneric}} and {{ent|WorldVertexTransition}}, {{code|[[$normalmapalphaenvmapmask]]}} cannot be used with [[$detail#Parameters and Effects|$detailblendmode]] "9" or {{ent|$envmapanisotropy}}.}}<br> | * In {{csgo}}, on {{ent|LightmappedGeneric}} and {{ent|WorldVertexTransition}}, {{code|[[$normalmapalphaenvmapmask]]}} cannot be used with [[$detail#Parameters and Effects|$detailblendmode]] "9" or {{ent|$envmapanisotropy}}.}}<br> | ||
<br>{{MatParam|$selfillum_envmapmask_alpha|float|Use the alpha channel of the {{code|$envmapmask}} as the {{ent|$selfillum}} mask instead of {{code|$basetexture}}'s alpha.<br> | <br>{{MatParam|$selfillum_envmapmask_alpha|float|Use the alpha channel of the {{code|$envmapmask}} as the {{ent|$selfillum}} mask instead of {{code|$basetexture}}'s alpha.<br> | ||
{{ModernBug|This Parameter replaces {{code|$selfillum}}. If both are used it will result in an error. The material will not render.}} | : {{ModernBug|This Parameter replaces {{code|$selfillum}}. If both are used it will result in an error. The material will not render.}} | ||
: {{ModernWarning|Only on {{ent|VertexLitGeneric}} - Note that <code>$envmapmask</code> does not work '''with''' {{ent|$bumpmap}} or {{ent|$phong}} on VertexLitGeneric.}} | |||
{{todo|This is not an alternative method to <code>$envmapmask</code> and in fact that parameter is required to use this. <code>Move it to Additional Parameters</code> and pray links on other pages don't break.}}}} | {{todo|This is not an alternative method to <code>$envmapmask</code> and in fact that parameter is required to use this. <code>Move it to Additional Parameters</code> and pray links on other pages don't break.}}}} | ||
<br>{{MatParam|$envmapmaskintintmasktexture|bool|Use the red channel of the {{ent|$tintmasktexture}} as the specular mask.|only={{csgo}}|shaders=VertexLitGeneric}} | <br>{{MatParam|$envmapmaskintintmasktexture|bool|Use the red channel of the {{ent|$tintmasktexture}} as the specular mask.|only={{csgo}}|shaders=VertexLitGeneric}} |
Revision as of 22:19, 21 September 2023
Template:Shaderparam It defines a specular mask which affects how strongly each pixel of a material reflects light from the $envmap. The mask should be a grayscale image in which entirely reflective areas are white and entirely matte areas are black. For diffuse type specularity which does not rely on $envmap
, see $phong.
Template:ModernBug
Template:ModernWarning
Template:ModernWarning
VMT syntax example
$envmapmask <texture>
VertexLitGeneric { $envmap env_cubemap $envmapmask "props/tvscreen_test" }
Additional parameters

$envmapmasktransform
$envmapmaskscale
$envmapmaskframe
CS:GO WorldVertexTransition Parameters
$envmapmask2
$envmapmasktransform2
$envmapframe2
Alternative methods
Rather than creating a whole new texture for a specular mask, you can embed one into the alpha channel of the $basetexture or $bumpmap. Model materials with $bumpmap must do this. Unfortunately, it won't reduce memory usage.
If you do use these commands, transformations and other such parameters applied to $basetexture / $bumpmap will also apply to the specular mask.
$basealphaenvmapmask
Template:ModernNote
Template:ModernBug
$normalmapalphaenvmapmask
Template:ModernBug
$selfillum_envmapmask_alpha
$envmapmaskintintmasktexture
Merging Specular Level into Normal Alpha in 3ds Max
To merge a Specular Level map into the Normal Map alpha, you can create a Composite Map node with the normal map in Layer 1 and the specular map in Mask 1. Then right-click the composite map, click Render Map and save this new image to file (remembering to keep the Gamma at 1.0 and using 32 bits per pixel in the save options).
These steps are automated in the Alpha Spec tool in Wall Worm 2.72+.
See Also
- $basetexture
- $envmap (environment map)
- $phong (diffuse reflection)
- $selfillum