Эта статья документации для всего, что использует платформу Source. Нажмите для получения дополнительной информации.

Ru/$basetexture: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
m ({{langsp}})
No edit summary
 
(11 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{langsp}}
{{LanguageBar}}


Команда [[Material:ru|VMT]] '''$basetexture''' определяет [[albedo:ru|альбедо]] текстуры. Очень редко [[material|материал]] не использует этот параметр; если он не был назначен, некоторые [[shader|шейдеры]] будут использовать [[texture|текстуры]] по умолчанию.
 
{{this is a|shader parameter|name=$basetexture}} Команда {{L|Material|VMT}} '''$basetexture''' определяет {{L|albedo|альбедо}} текстуры. Очень редко {{L|material|материал}} не использует этот параметр; если он не был назначен, некоторые {{L|shader|отттенения}} будут использовать {{L|texture|текстуры}} по умолчанию.


==Синтаксис VMT==
==Синтаксис VMT==
$basetexture <текстура без расширения, относительный путь к <game>\materials\>


  $basetexture <текстура без расширения, по отношению к <game>\materials\>
  {{L|LightmappedGeneric}}
 
[[LightmappedGeneric]]
  {
  {
  $basetexture brick\brickwall031b
  $basetexture brick\brickwall031b
Line 14: Line 14:
==Дополнительные параметры==
==Дополнительные параметры==


; <code>$basetexturetransform <matrix></code>
<span id="$basetexturetransform"></span>
: Преобразует текстуры перед использованием в материале. Требует DirectX 9 .
{{MatParamDef|$basetexturetransform|matrix| Преобразует текстуры перед использованием в материале. Требует DirectX 9.This does not affect {{L|lightmap}}s on the surface.
: Параметры по умолчанию: "center .5 .5 scale 1 1 rotate 0 translate 0 0".
{{note|This ''does'' affect shader parameters such as {{ent|$detail}} and {{ent|$bumpmap}}.{{modernConfirm|Does it affect {{ent|$lightmap}}? If so, the note about not affecting lightmaps should be reworded.}} }}
# <code>center</code> задает точку вращения. Полезно только в случае использования <code>rotate</code>.
{{VMT UVtransform|suf=:ru}} }}
# <code>scale</code> вписывает текстуры(масштабирует) в материал заданное число раз. '2 1' - это 50% масштаба по оси X.
# <code>rotate</code> поворачивает текстуру ''против'' часовой стрелки. Принимает любые значения, включая отрицательные.
# <code>translate</code> смещает текстуру заданное количество раз по высоте/ширине. '.5' сдвинет на половину.
{{note|''Должны быть включены все значения!''}}
{{Bug|Масштабирование текстуры может вызывать странную проблему, когда инструмент Хаммера Texture Lock на самом деле не фиксирует текстуру.}}
{{Bug|Если текстура используется на браше, вращение будет выполнено вокруг центра карты. Решение - указать центр текстуры в VMT}}


; <code>$basetextureoffset <[[normal]]></code>
; <code>$basetextureoffset <{{L|normal}}></code>
: {{todo|DX8 версия <code>translate</code>?}}
: {{todo|DX8 версия <code>translate</code>?}}
; <code>$basetexturescale <normal></code>
; <code>$basetexturescale <normal></code>
Line 32: Line 26:
{{todo|Объяснить, какие используются значения "поворота".}}
{{todo|Объяснить, какие используются значения "поворота".}}


==$basetexture2==
<span id="$frame"></span>
{{MatParamDef|$frame|int| Отображаемый кадр многокадровой тестуры. This is normally set by the {{Code|[[List Of Material Proxies#Texture manipulation|AnimatedTexture]]}} или {{[[List Of Material Proxies#Entity integration|TextureToggle]]}} proxies, but can be set manually. {{Warning|The value must be a valid index, or crashes might occur.}} }}
 
==<code>$basetexture2</code>==
 
Некоторые оттенения (особенно {{Code|{{L|WorldVertexTransition}}}}) позволяют использовать два альбедо. Вторая текстура обрабатывается аналогичным набором команд с числом '2' в имени:
 
{{MatParamDef|$basetexture2|texture}}
 
<span  id="$basetexturetransform2"></span>
{{MatParamDef|$basetexturetransform2|matrix|
 
{{Bugfix
| {{Code|$basetexturetransform2}} не существует в {{Code|{{L|WorldVertexTransition}}}} для версии DirectX 9, работает только с DX8. В DX9, {{Code|$basetexture2}} будет вместо этого перемещаться в соответсвии {{Code|$basetexturetransform}} синхронно с {{Code|$basetexture}}. Так ведёт себя {{src07|4}}, {{src13|4}} и {{as|4}}, остальные игры не проверялись.
| {{Mapbase|4}} добавляет поддержку {{Code|$basetexturetransform2}} в Source 2013. Необходимый код можно найта на [https://github.com/mapbase-source/source-sdk-2013 репозитории] в файлах {{Ent|LightmappedGeneric}} оттенения.
| code
}}
 
}}


Некоторые шейдеры (особенно [[WorldVertexTransition]]) позволяют использовать два альбедо. Вторая текстура обрабатывается зеркальным набором команд с '2' в имени:
* {{todo|'''<code>$basetextureoffset2 <normal></code>'''?}}
* {{todo|'''<code>$basetexturescale2 <normal></code>'''?}}


* '''<code>$basetexture2</code>'''
<span  id="$frame2"></span>
* '''<code>$basetexturetransform2</code>'''
{{MatParamDef|$frame2|int}}
{{bug|1=<code>$basetexturetransform2</code> похоже, не работает в Source 2007 [http://forums.steampowered.com/forums/showpost.php?p=7669785&postcount=4 source].}}
* {{todo:ru|'''<code>$basetextureoffset2 <normal></code>'''?}}
* {{todo:ru|'''<code>$basetexturescale2 <normal></code>'''?}}


Есть еще '2' команды применения различных шейдерных эффектов, каждая из которых описана в соответствующих статьях.
Есть ещё '2' команды применения различных эффектов оттенения, каждая из которых описана в соответствующих статьях.


==См. также==
==См. также==
* [[$envmapmask]] (зеркальная маска)
* {{L|$envmapmask}} (зеркальная маска)
* [[$envmap]] (карта окружения)
* {{L|$envmap}} (карта окружения)
* [[$phong]] (диффузное отражение)
* {{L|$phong}} (диффузное отражение)
* [[$selfillum]]
* {{L|$selfillum}}


[[Category:List of Shader Parameters:ru|B]]
__NOTOC__
__NOTOC__
{{ACategory|Shader parameters|b}}

Latest revision as of 11:46, 23 August 2025

English (en)Español (es)Русский (ru)Translate (Translate)


$basetexture - это материальный(en) параметр шейдера(en), доступно для всех игр на движке Source Source. Команда VMT(en) $basetexture определяет альбедо(en) текстуры. Очень редко материал(en) не использует этот параметр; если он не был назначен, некоторые отттенения(en) будут использовать текстуры(en) по умолчанию.

Синтаксис VMT

$basetexture	<текстура без расширения, относительный путь к <game>\materials\>
LightmappedGeneric(en)
{
	$basetexture	brick\brickwall031b
}

Дополнительные параметры

Преобразует текстуры перед использованием в материале. Требует DirectX 9.This does not affect lightmap(en)s on the surface.
Note.pngПримечание:This does affect shader parameters such as $detail and $bumpmap.
Подтвердить:Does it affect $lightmap? If so, the note about not affecting lightmaps should be reworded.
Позиция по умолчанию: center .5 .5 scale 1 1 rotate 0 translate 0 0.
  1. center определяет ценр вращения. Необходим только при использовании rotate.
  2. scale вставляет текстуру в материал заданное количество раз. 2 1 — это 50%-ый масштаб по оси X.
  3. rotate вращает текстуру "против часовой стрелки/по часовой стрелке" в градусах. Принимает любое число, включая негативы.
  4. translate сдвигает текстуру до заданных значений. Значение .5 сдвинет текстуру на 50%.
Note.pngПримечание:Все значения должны быть добавлены!
Icon-Bug.pngБаг:Масштабирование текстуры может вызвать странные проблемы, когда инструмент «Texture Lock» в Hammer фактически не фиксирует текстуру на месте.  [нужно проверить в ?]
Icon-Bug.pngБаг:Вращающиеся текстуры, примененные к брашам, будут вращаться вокруг начала координат карты. Чтобы исправить это, нужно изменить центральное положение в VMT на начало координат браша.  [нужно проверить в ?]
$basetextureoffset <normal(en)>
Нужно сделать: DX8 версия translate?
$basetexturescale <normal>
Нужно сделать: DX8 версия scale?
Нужно сделать: Объяснить, какие используются значения "поворота".

Отображаемый кадр многокадровой тестуры. This is normally set by the AnimatedTexture или {{TextureToggle}} proxies, but can be set manually.
Warning.pngПредупреждение:The value must be a valid index, or crashes might occur.

$basetexture2

Некоторые оттенения (особенно WorldVertexTransition(en)) позволяют использовать два альбедо. Вторая текстура обрабатывается аналогичным набором команд с числом '2' в имени:

Нужно сделать: This material shader parameter has not been described.

Icon-Bug.pngБаг: $basetexturetransform2 не существует в WorldVertexTransition(en) для версии DirectX 9, работает только с DX8. В DX9, $basetexture2 будет вместо этого перемещаться в соответсвии $basetexturetransform синхронно с $basetexture. Так ведёт себя Source 2007 Source 2007, Source 2013 Source 2013 и Alien Swarm Alien Swarm, остальные игры не проверялись.   [нужно проверить в ?]
Cpp.pngИсправление кода: Mapbase Mapbase добавляет поддержку $basetexturetransform2 в Source 2013. Необходимый код можно найта на репозитории в файлах LightmappedGeneric оттенения.
  • Нужно сделать: $basetextureoffset2 <normal>?
  • Нужно сделать: $basetexturescale2 <normal>?

Нужно сделать: This material shader parameter has not been described.

Есть ещё '2' команды применения различных эффектов оттенения, каждая из которых описана в соответствующих статьях.

См. также