$envmapmask
$envmapmask - это параметр материала шейдера, доступно для всех игр на движке
Source. Этот параметр определяет маску бликов, которая влияет на то, насколько сильно каждый пиксель материала отражает свет от $envmap. Маска должна быть изображением в градациях серого, в котором полностью отражающие области являются белыми, а полностью матовые области - черными. Для отражения диффузного типа, которое не зависит от$envmap,см.$phong.
$envmapmask, которая не хранится во вложенной подпапке, приведет к сбою загрузки текстуры в игре. [нужно проверить в ?]$envmapmask не будет работать с материалами, использующими $bumpmap. Смотреть #Альтернативные_методы.
- LightmappedReflective (использует $normalmap)
- (только в
) VertexLitGeneric - (только в
)LightmappedGeneric
$envmapmask не будет работать с материалами, использующими $phong. По умолчанию envmap будет использовать альфа-канал $basetexture для маскировки. Пример синтаксиса VMT
$envmapmask <текстура>
VertexLitGeneric { $envmap env_cubemap $envmapmask "props/tvscreen_test" }
Дополнительные параметры
- $envmapmasktransform <matrix> (DX9 SM2)
-
- Трансформирует текстуру маски бликов.
center .5 .5 scale 1 1 rotate 0 translate 0 0.centerопределяет центр вращения. Необходим только при использованииrotate.scaleвписывает текстуру в материал заданное количество раз.2 1- это 50%-ый масштаб по горизонтальной оси X, а размер по вертикальной оси Y остаётся исходным.rotateвращение текстуры против часовой стрелки в градусах. Возможны любые числовые значения, включая отрицательные.translateсдвиг текстуры на указанную величину. Значение.5сдвинет текстуру на 50% размера. Указание 1 сдвинет текстуру на её размер, что фактически ничего не изменит.
Примечание: Все значения должны быть указаны!
Баг:Масштабирование текстуры может вызвать странные проблемы, когда инструмент «Texture Lock» в Hammer фактически не фиксирует текстуру на месте. [нужно проверить в ?]
Баг:Вращение текстур, покрывающих элементы карты, отсчитывается относительно начала координат карты. Чтобы исправить это, нужно изменить положение центра в VMT на точку отсчёта элемента карты. [нужно проверить в ?]
- $envmapmaskscale <число с плавающей запятой> (DX8)
- Масштабирует маску бликов до заданного значения. Смотреть
$envmapmasktransform(выше).
- $envmapmaskframe <целое число>
- Кадр для начала анимированной маски бликов.
CS:GO WorldVertexTransition Parameters
- $envmapmask2 <texture> (только в
)
- Shader(s): WorldVertexTransition
- Маска бликов для второго слоя WorldVertexTransition.
- $envmapmasktransform2 <matrix> (только в
)
- Shader(s): WorldVertexTransition
- Трансформация текстуры для
$envmapmask2.
- $envmapframe2 <целое число> (только в
)
- Shader(s): WorldVertexTransition
- Кадр для начала анимации
$envmapmask2.
Альтернативные методы
Вместо создания новой полноценной текстуры для маски бликов, вы можете встроить её в альфа-канал $basetexture или $bumpmap. Материалы моделей с $bumpmap обязаны иметь маску бликов в альфа-канале. К сожалению, это не уменьшит использование памяти.
Если вы используете эти команды, то трансформации и другие похожие параметры, применённые к $basetexture / $bumpmap, также будут применяться к маске бликов.
- $basealphaenvmapmask <булева переменная>
- Использует альфа-канал
$basetextureкак маску бликов.
- Маска бликов, встроенная в альфа-канал
$basetextureработает наоборот. Прозрачные области являются отражающими, а непрозрачные области являются матовыми. Всё из-за того, что, скажем, альфа маска текстуры окна будет чёрной, по большей части, чтобы сделать её прозрачной, но эта же чёрная часть маски также будет наиболее отражающей частью. Вместо дублирования текстуры, чтобы просто инвертировать альфа маску, вы можете использовать этот параметр материала. - Альфа-канал не инвертирован в
Source 2007 и
Counter-Strike: Global Offensive для моделей, но альфа-канал инвертирован для объёмов!
автоматически включает этот параметр, если $envmap присутствует. Непрозрачные области являются отражающими, тогда как прозрачные являются матовыми. Установите значение на true, чтобы инвертировать альфа-канал $basetexture. Это позволяет$bumpmapиметь выделенную маску$phong, когда прозрачность материала не нужна.
- В
, этот параметр ломает материалы, использующие $translucent. Вместо него используйте $envmapmaskили$normalmapalphaenvmapmask.
- Во всех:




в шейдерах VertexLitGeneric (Без $phong), WorldVertexTransition и LightmappedGeneric, $basealphaenvmapmaskне может быть использован с $bumpmap.
- Во всех:




в шейдерах LightmappedGeneric и WorldVertexTransition, $basealphaenvmapmaskне может быть использован с $selfillum, $seamless_detail или $distancealpha.
- В
, в шейдерах LightmappedGeneric и WorldVertexTransition, $basealphaenvmapmaskне может быть использован с $detailblendmode "9" или $envmapanisotropy.
- В
, в шейдере Lightmapped_4WayBlend, $basealphaenvmapmaskне может быть использован с $selfillum. - Этот параметр не может быть использован вместе с $bumpmap в шейдере LightmappedGeneric
- $normalmapalphaenvmapmask <булева переменная>
- Использует альфа-канал
$bumpmapили$normalmapкак маску бликов.
Предупреждение: Using this in combination with $basemapalphaphongmaskor$basemapluminancephongmaskwill set the mask used for the $envmap to be those instead.
Существуют некоторые нюансы при использовании $phong. Смотреть его запись для получения дополнительной информации о возможных проблемах..
- Во всех:




в шейдере VertexLitGeneric (Без $phong), $normalmapalphaenvmapmaskне может быть использован вместе с $selfillumfresnel.
Примечание: При использовании $normalmapalphaenvmapmaskвместе с $phong и $selfillumfresnel имеются особые нюансы, которые следует учитывать. Смотреть $phong для большей информации.
- В
, в шейдерах LightmappedGeneric и WorldVertexTransition, $normalmapalphaenvmapmaskне может быть использован вместе с $detailblendmode "9" или $envmapanisotropy. [нужно проверить в ?]
- $selfillum_envmapmask_alpha <число с плавающей запятой>
- Использует альфа-канал
$envmapmaskкак маску $selfillum, вместо альфа-канала$basetexture.
Баг:Этот параметр заменяет $selfillum. Если используются оба параметра, то это приведёт к ошибке. Материал не отобразится. [нужно проверить в ?]
Предупреждение: Только в шейдере VertexLitGeneric - Учтите, что $envmapmaskне работает вместе с $bumpmap или $phong.
Нужно сделать: This is not an alternative method to$envmapmaskand in fact that parameter is required to use this.Move it to Additional Parametersand pray links on other pages don't break.
- $envmapmaskintintmasktexture <булева переменная> (только в
)
- Shader(s): VertexLitGeneric
- Использует красный канал $tintmasktexture как маску бликов.
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 - самосвечение