Ru/$envmapmask: Difference between revisions
m (Equalizer5118 moved page $envmapmask:ru to $envmapmask/ru) |
m (removed :ru) |
||
Line 3: | Line 3: | ||
{{toc-right}} | {{toc-right}} | ||
{{shaderparam | {{shaderparam|$envmapmask}} Этот параметр определяет зеркальную маску [Specular mask], которая влияет на то, насколько сильно каждый пиксель материала отражает свет от{{ent|$envmap}}. Маска должна быть изображением в градациях серого, в котором полностью отражающие области являются белыми, а полностью матовые области - черными. Для отражения диффузного типа, которое не зависит от<code>$envmap,</code>см.{{ent|$phong}}. | ||
{{ModernBug|suf=:ru|В играх на {{Src07|3}} использование маски $envmapmask, которая не хранится во вложенной подпапке, приведет к сбою загрузки текстуры в игре.}} | {{ModernBug|suf=:ru|В играх на {{Src07|3}} использование маски $envmapmask, которая не хранится во вложенной подпапке, приведет к сбою загрузки текстуры в игре.}} | ||
{{ModernWarning|suf=:ru|<code>$envmapmask</code> не будет работать с материалами, использующими [[$bumpmap|карты нормалей]]. Посмотрите [[#Альтернативные_методы]].}} | {{ModernWarning|suf=:ru|<code>$envmapmask</code> не будет работать с материалами, использующими [[$bumpmap|карты нормалей]]. Посмотрите [[#Альтернативные_методы]].}} | ||
Line 35: | Line 35: | ||
If you do use these commands, transformations and other such parameters applied to <code>$basetexture / $bumpmap</code> will also apply to the specular mask. | If you do use these commands, transformations and other such parameters applied to <code>$basetexture / $bumpmap</code> will also apply to the specular mask. | ||
{{MatParam|$basealphaenvmapmask|bool|Use the alpha channel of the <code>$basetexture</code> as the specular mask. {{note | {{MatParam|$basealphaenvmapmask|bool|Use the alpha channel of the <code>$basetexture</code> as the specular mask. {{note|Alpha channels embedded in <code>$basetexture</code> work in reverse. Transparent areas are reflective, opaque areas are matte. This is because, say, a window texture's alpha mask would be mostly black to allow for transparency -- yet that black part of the mask would also be the most reflective part. To avoid having to duplicate a texture file simply to invert the alpha mask, you can use this material parameter instead.}} | ||
: {{note | : {{note|The alpha channel '''''isn't''''' inverted in the Source 2007 engine for models, but the alpha channel '''''is''''' inverted for brushes!}}}} | ||
: {{bug | : {{bug| In CSGO, this parameter breaks materials using $translucent, limiting its usefulness. Use $envmapmask instead.}} | ||
{{MatParam|$normalmapalphaenvmapmask|bool|Use the alpha channel of the <code>$bumpmap</code> as the specular mask. | {{MatParam|$normalmapalphaenvmapmask|bool|Use the alpha channel of the <code>$bumpmap</code> as the specular mask. | ||
: {{note | : {{note|Will not work if <code>[[$phong|$basemapalphaphongmask]]</code> or <code>[[$phong|$basemapluminancephongmask]]</code> are used.}}}} | ||
{{MatParam|$selfillum_envmapmask_alpha|float|Use the alpha channel of the <code>$envmapmask</code> as the {{ent|$selfillum}} mask instead of <code>$basetexture</code>'s alpha. In this event this command replaces <code>$selfillum</code> - do not use both.}} | {{MatParam|$selfillum_envmapmask_alpha|float|Use the alpha channel of the <code>$envmapmask</code> as the {{ent|$selfillum}} mask instead of <code>$basetexture</code>'s alpha. In this event this command replaces <code>$selfillum</code> - do not use both.}} | ||
{{MatParam|$envmapmaskintintmasktexture|bool|Use the red channel of the {{ent|$tintmasktexture}} as the specular mask.|only={{csgo}}|shaders=VertexLitGeneric}} | {{MatParam|$envmapmaskintintmasktexture|bool|Use the red channel of the {{ent|$tintmasktexture}} as the specular mask.|only={{csgo}}|shaders=VertexLitGeneric}} |
Revision as of 14:32, 17 July 2023
Template:Shaderparam Этот параметр определяет зеркальную маску [Specular mask], которая влияет на то, насколько сильно каждый пиксель материала отражает свет от$envmap. Маска должна быть изображением в градациях серого, в котором полностью отражающие области являются белыми, а полностью матовые области - черными. Для отражения диффузного типа, которое не зависит от$envmap,
см.$phong.
Template:ModernBug
Template:ModernWarning
Пример синтаксиса VMT
$envmapmask <текстура>
VertexLitGeneric { $envmap env_cubemap $envmapmask "props/tvscreen_test" }
Дополнительные параметры

$envmapmasktransform
$envmapmaskscale
$envmapmaskframe
CS:GO WorldVertexTransition Parameters
$envmapmask2
$envmapmasktransform2
$envmapframe2
Альтернативные методы
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.
Баг: In CSGO, this parameter breaks materials using $translucent, limiting its usefulness. Use $envmapmask instead. [нужно проверить в ?]
$normalmapalphaenvmapmask
$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+.
Также посмотрите
- $basetexture - основная текстура
- $envmap - карта окружения
- $phong - диффузное отражение
- $selfillum - самосвечение