Ru/Lightmap: Difference between revisions
m (obsolete language category) |
(Add content from english page and update translate.) |
||
Line 1: | Line 1: | ||
{{ | {{LanguageBar|title=Карта освещения}} | ||
{{tabsBar|main=gs2|base=Lightmap}} | |||
{{toc-right}} | |||
'''Карта освещения''' - это сгенерированная {{L|texture|текстура}}, {{W|ru:Аддитивное смешение цветов|аддитивно}} наложенная на поверхность {{L|LightmappedGeneric}} {{L|brush|элемента карты}}, чтобы имитировать освещение. Цветовые значения поверхностей {{L|albedo|альбедо}} умножаются на значения цвета их карты освещения. | |||
{{ | Карты освещения создаются {{L|VRAD}} во время компиляции карты. Они статичны и неизменны, хотя возможно переключать 'страницы' освещённости между вкл и выкл (см. {{L|Naming Lights}}). | ||
In November 16, 2024, with the release of the {{Hl2|1}} 20th anniversary update, {{tf2|1}}'s February 18, 2025 patch (also includes {{css}}, {{dods}}, {{hl2dm}} and {{hldms}}), and later May 20, 2025 update for {{portal|1}}, lightmaps are now Bicubic filtered if the player set the video options to "Very High". This can be toggled independently with the {{cmd|r_lightmap_bicubic}} [[cvar]]. | |||
{{note|{{src13mp|4.1}}, the {{tf2branch|nt=0|4.1}}, and {{gmod|4.1}} also support lightmaps on [[MDL]] props using [[VertexLitGeneric]].<br>Prop lightmaps are capable of being higher resolution than brush or displacement lightmaps, but come with their own share of complications; see {{ent|$lightmap}} and {{ent|prop_static}} for specifics.}} | |||
{{bug|tested={{hl2dm}} {{dods}}|{{src}} Lightmap seams can sometimes occur at brush face subdivisions when [[MSAA]] is enabled. As subdivision size ([[chop]]ping) is affected by luxel scale, this is more noticeable at lower luxel scales (higher-resolution lightmaps). Engine modifications and a modified VBSP are required to reduce face subdivisions at lower luxel scales.}} | |||
== Масштаб == | == Масштаб == | ||
'''Масштаб карты освещения''' - это её разрешение. По умолчанию, оно составляет 16 пикселей (" | '''Масштаб карты освещения''' - это её разрешение. По умолчанию, оно составляет 16 пикселей ("люкселей"), т.е. 16 {{L|unit|единиц}}, соответственно, масштаб 1 равняется одной единице. Это значение изменяется в {{L|Hammer Face Edit Dialog}}. | ||
Уменьшение масштаба делает тени чёткими, но увеличивает размер файла карты, слегка замедляет отображение и экспоненциально замедляет компиляцию (на ''очень'' низких масштабах приводит к большому использованию системной памяти). | |||
<div style="text-align:center; margin:auto; width:608px; background:F9F9F9; border:1px solid #CCCCCC; padding:.3em"> | <div style="text-align:center; margin:auto; width:608px; background:F9F9F9; border:1px solid #CCCCCC; padding:.3em"> | ||
Line 17: | Line 22: | ||
</div> | </div> | ||
Во время | Во время генерации карт освещения, VRAD не создаёт {{L|w:Umbra|полутеней}}. Тем не менее, эффект можно имитировать увеличением масштаба освещения (поэтому, по умолчанию используется относительно большое значение 16). | ||
{{Note|Каждый скомпилированный полигон {{L|brush|элементов карты}} максимально размещает 31x31 люкселей. При необходимости {{L|VBSP}} делит поверхности для получения дополнительных люкселей. | |||
* This limit is 124x124 luxels on displacements, which can't be automatically chopped by VBSP; see {{L|Displacement Luxel Density}}. | |||
* The limit for brushes is increased to 127x127 luxels in {{mcv}}{{strata}}. | |||
* Too many brush faces with low luxel scales will result in {{L|VBSP}} failing with [[Too many unique verts]].}} | |||
{{ | {{Tip| | ||
*{{L|Dust, Fog, & Smoke|Туман}} дополнительно рассеивает тени, делая их ещё более размытыми. Look at {{ent|light_environment}}'s sun spread angle | |||
*{{src}} Luxel scale does not need to be a power of two; it does not directly correspond to lightmap resolution. Any integer value can be used, but even scales are preferred to avoid seams; odd values may be also more prone to [[Engine Hunk Overflow]]{{confirm}}. | |||
}} | |||
{{important|Faces which have lightmap scale set to 0 are treated as being set to 16 by {{L|VBSP}}, but [[Hammer]] rounds up the value of such faces to 1 instead when applying any changes to the brush face. This affects {{L|VMF}}s which are exported from [[Jack]].}} | |||
<div style="text-align:center;margin:auto;width:502px;background:F9F9F9;border:1px solid #CCCCCC;padding:.3em;"> | |||
<div>[[File:Lightmap.PNG|500px|Масштабы и эффекты.]]</div> | |||
<div style="font-size:.75em;">Масштабы и эффекты [[Lights.rad#Lights files|light textures]].</div> | |||
</div> | |||
== Оптимизация == | == Оптимизация == | ||
Line 31: | Line 48: | ||
== Вид в Hammer == | == Вид в Hammer == | ||
Щелкните по ''camera'' в левом верхнем углу 3D-вида | Щелкните по ''camera'' в левом верхнем углу 3D-вида Hammer и выберите параметр "3D Lightmap Grid"(Световая сеть). В этом режиме все текстуры поверхностей элементов карты будут заменены сеткой, отображающей масштаб их освещения (о чём рассказано в предыдущем разделе). | ||
В этом режиме функциональные элементы карты, покрытые служебными текстурами, отображаются как и обычные, но их можно скрыть отключив соответствующие авто-{{L|Grouping and VisGrouping|видовые группы}} (в {{hammer++|1}}, используйте значок [[File:Hammer++_show_tool_textures_icon.png|15px|link=|Показать служебные текстуры]] отображения служебных текстур). | |||
<div style="text-align:center;margin:auto;width:768px;background:F9F9F9;border:1px solid #CCCCCC;padding:.3em;"> | |||
<div>[[File:3D_lightmap_grid_4.png|128px|Масштаб карты освещения 4 (отображается красным цветом, если масштаб <7)]] [[File:3D_lightmap_grid_8.png|128px|Масштаб карты освещения 8 (отображается жёлтым цветом, если масштаб 8-15)]] [[File:3D_lightmap_grid_16.png|128px|Масштаб карты освещения 16 (отображается белым цветом)]] [[File:3D_lightmap_grid_32.png|128px|Масштаб карты освещения 32 (отображается голубым цветом, если масштаб 17-63)]] [[File:3D_lightmap_grid_64.png|128px|Масштаб карты освещения 64 (отображается зелёным цветом, если масштаб >64)]]</div> | |||
<div style="font-size:.75em;">Масштабы карты освещения 4, 8, 16, 32, и 64 в режиме 3D-вида Световая сеть.</div> | |||
</div> | |||
== Бикубические карты освещения == | |||
{{hl2|2}}, {{hls|2}}, {{portal|2}}, and the {{tf2branch|2}} include the "Very High" shader detail option, which also enables bicubic filtering on lightmaps, smoothing out the aliasing ("stair-stepping") at the cost of reduction of thinner details and more prominent seams. This can be also toggled independently with the {{cmd|r_lightmap_bicubic}} {{L|cvar}}. Bicubic lightmaps require {{dx9}}. Так как она реализована посредством оттенения, она влияет только на {{L|LightmappedGeneric}} и {{L|WorldVertexTransition}} материалы. | |||
На изображениях ниже представлено сравнение отключенного и включенного режимов для демонстрации преимуществ и недостатков. Нажмите на изображения, чтобы увидеть их в полном размере. | |||
<div style="text-align:center;margin:auto;width:400px;background:F9F9F9;padding:.3em;"> | |||
<div>[[File:Bicubic_lightmaps_comparison.jpg|400px|Сравнение бикубических карт освещения — с отключенным и включенным режимом.]]</div> | |||
<div style="font-size:.75em;">Сравнение бикубических карт освещения — с отключенным и включенным режимом.</div> | |||
</div> | |||
<div style="text-align:center"><gallery mode=nolines widths=480 heights=270> | |||
anzio high res bicubic lightmap example - off.jpg|Стандартные билинейные карты освещения на элементах карты с масштабом люкселей 2. | |||
anzio high res bicubic lightmap example - on.jpg|Та же сцена, но с использованием бикубических карт освещения. Note how the fence shadow is fainter and the static prop lightmap on the wall is unaffected. | |||
</gallery></div> | |||
<div style="text-align:center"><gallery mode=nolines widths=480 heights=270> | |||
TF2_Bicubic_lightmap_comparison_-_Off.jpg|Стандартные билинейные карты освещения. | |||
TF2_Bicubic_lightmap_comparison_-_On.jpg|Та же сцена с бикубическими картами освещения в Team Fortress 2. | |||
</gallery></div> | |||
<div style="text-align:center"><gallery mode=nolines widths=270 heights=270> | |||
bicubic lightmap seams - off.jpg|Стандартные билинейные карты освещения. | |||
bicubic lightmap seams - on.jpg|Та же сцена, но с использованием бикубических карт освещения. Note how the lightmaps' UV seams are much more prominent | |||
</gallery></div> | |||
== Консольные команды == | == Консольные команды == | ||
Далее перечислены все {{L|sv_cheats|читы}}: | Далее перечислены все {{L|sv_cheats|читы}}, кроме {{code|r_lightmap_bicubic}}: | ||
[[File:Mat fullbright 2.jpg|thumb|<code>mat_fullbright 2</code>]] | [[File:Mat fullbright 2.jpg|thumb|<code>mat_fullbright 2</code>]] | ||
Line 43: | Line 89: | ||
: Заменяет все {{L|albedo|альбедо}} серым тоном, оставляя лишь информацию о свете. | : Заменяет все {{L|albedo|альбедо}} серым тоном, оставляя лишь информацию о свете. | ||
; <code>mat_luxels <{{L| | ; <code>mat_luxels <{{L|boolean}}></code> | ||
: Показывает | : Показывает {{L|luxel|люксели}} на поверхностях всех элементов карты и реквизит-объектах покрытых lightmaps. {{note|Разрывается на {{L|Displacement|деформированных поверхностях}}, это не баг.}} | ||
: {{bug|tested={{tf2branch}}, {{gmod}}, {{srcmp}} (via {{gmod}} 13 Beta),{{hl2}} 20th, {{hl2}} 2012 build|This command is broken in {{src09}}, {{srcmp}} and {{src13sp|2}} and doesn't display correctly, due to missing shaders (see [https://github.com/ValveSoftware/Source-1-Games/issues/3803 GitHub issues #3803]). This issue is not affected in {{tf2branch|1}} games ({{css}}, {{dods}}, {{hldms}}, {{hl2dm}}, {{tf2}}), most {{src13mp|1}} games and both legacy and 2025 version of {{srcsdk13|1}}.</br>Remains unfixed on {{hl2|1}} (20th anniversary). <br> Fixed in {{gmod|1}} </br> |since=src09|fixed=l4dbranch}} | |||
: {{bug|tested={{dods}}|Lightmaps show up incorrectly on displacements when this command is used.}} | |||
; mat_filterlightmaps < | ; <code>mat_filterlightmaps <{{L|boolean}}></code> | ||
: Контролирует, сглаживаются ли | : Контролирует, сглаживаются ли люксели таким же образом, как и {{L|texel|тексели}}. | ||
; <code>r_avglightmap < | ; <code>r_avglightmap <{{L|boolean}}></code> | ||
: | : Режим "Doom"! Средние значения карты освещения на всех полигонах. | ||
; <code>mat_showlightmappage <{{L| | ; <code>mat_showlightmappage <{{L|integer}}></code> | ||
: Разворачивает каждую карту освещения в маленьком окне в верхнем левом углу экрана. Ужасно не полезно для моддеров. | : Разворачивает каждую карту освещения в маленьком окне в верхнем левом углу экрана. Ужасно не полезно для моддеров. | ||
: {{tip|You can see all lightmaps by opening [[mat_texture_list]] and clicking '''Render Targets and Special Textures'''.}} | |||
; <code>r_lightmap < | ; <code>r_lightmap <{{L|integer}}></code> | ||
: Specifies the light style index to compute and display the lightmap for. If set to <tt>-1</tt> (default), computes for all light styles. Primarily used for debugging and inspecting specific light styles' effects on the lightmap. | |||
: {{Todo|Не очевидный эффект.}} | : {{Todo|Не очевидный эффект.}} | ||
; <code>r_unloadlightmaps < | ; <code>r_unloadlightmaps <{{L|boolean}}></code> | ||
: Controls whether lightmap data is unloaded from memory after being updated. When set to <tt>1</tt>, the engine unloads lightmap data to save memory. Useful for debugging or when frequent changes to lighting occur. | |||
: {{Todo|Неизвестно. Возможен ли способ очищать данные карты освещенности между загрузками карты?}} | : {{Todo|Неизвестно. Возможен ли способ очищать данные карты освещенности между загрузками карты?}} | ||
== | ; {{code|r_lightmap_bicubic <{{L|boolean}}>|preset=0}} {{only|{{hl2}} {{hls}} {{portal}} {{tf2branch}}}} | ||
: Enable [[#Bicubic lightmaps|bicubic lightmap sampling]]. Only available in {{hl2|2}} and {{hls|2}} since Half-Life 2 20th Anniversary, {{portal|2}} (May 20, 2025 update), and {{tf2branch|2}} since the February 18, 2025 patch. | |||
== Manual lightmap edition == | |||
The lightmap samples are not stored as an embedded texture but rather as raw samples. It is possible to preview, export and import lightmaps for selected or all faces using {{bspentspy|4.1}}. | |||
[[File:Bspentspy lightmap.jpg|thumb|right|500px|Lightmaps being preview in BSPEntSpy v1.67.]] | |||
== Смотреть также == | |||
* {{L|LightmappedGeneric}} | * {{L|LightmappedGeneric}} | ||
* {{L|Displacement Luxel Density}} | * {{L|Displacement Luxel Density}} |
Revision as of 07:38, 20 September 2025

You can help by updating the translation.
Also, please make sure the article complies with the alternate languages guide.
This notice is put here by LanguageBar template and if you want to remove it after updating the translation you can do so on this page.
Карта освещения - это сгенерированная текстура , аддитивно наложенная на поверхность LightmappedGeneric элемента карты , чтобы имитировать освещение. Цветовые значения поверхностей альбедо умножаются на значения цвета их карты освещения.
Карты освещения создаются VRAD во время компиляции карты. Они статичны и неизменны, хотя возможно переключать 'страницы' освещённости между вкл и выкл (см. Naming Lights ).
In November 16, 2024, with the release of the Half-Life 2 20th anniversary update, Team Fortress 2's February 18, 2025 patch (also includes ,
,
and
), and later May 20, 2025 update for Portal, lightmaps are now Bicubic filtered if the player set the video options to "Very High". This can be toggled independently with the r_lightmap_bicubic cvar.




Prop lightmaps are capable of being higher resolution than brush or displacement lightmaps, but come with their own share of complications; see $lightmap and prop_static for specifics.




Масштаб
Масштаб карты освещения - это её разрешение. По умолчанию, оно составляет 16 пикселей ("люкселей"), т.е. 16 единиц , соответственно, масштаб 1 равняется одной единице. Это значение изменяется в Hammer Face Edit Dialog .
Уменьшение масштаба делает тени чёткими, но увеличивает размер файла карты, слегка замедляет отображение и экспоненциально замедляет компиляцию (на очень низких масштабах приводит к большому использованию системной памяти).
Во время генерации карт освещения, VRAD не создаёт полутеней . Тем не менее, эффект можно имитировать увеличением масштаба освещения (поэтому, по умолчанию используется относительно большое значение 16).

- This limit is 124x124 luxels on displacements, which can't be automatically chopped by VBSP; see Displacement Luxel Density .
- The limit for brushes is increased to 127x127 luxels in
.
- Too many brush faces with low luxel scales will result in VBSP failing with Too many unique verts.

- Туман дополнительно рассеивает тени, делая их ещё более размытыми. Look at light_environment's sun spread angle
Luxel scale does not need to be a power of two; it does not directly correspond to lightmap resolution. Any integer value can be used, but even scales are preferred to avoid seams; odd values may be also more prone to Engine Hunk Overflow[подтвердить].

Оптимизация
Оптимизация карты освещения делается на глазок после компилирования карты: на гранях с низким контрастом освещения масштаб нужно увеличивать, и наоборот, уменьшать его на гранях с высоким контрастом. Но будьте осторожны с большими масштабами, потому что они могут привести к 'пятну' света, не сочетающемся с соседями (чтобы заметить это, используйте команду mat_fullbright 2
).
Не забывайте также учитывать размер грани. Смещение огромной грани вверх или вниз на одну точку может иметь большие последствия. Не бойтесь разделять грань или убирать некоторые детали на огромных гранях полов и стен.
Вид в Hammer
Щелкните по camera в левом верхнем углу 3D-вида Hammer и выберите параметр "3D Lightmap Grid"(Световая сеть). В этом режиме все текстуры поверхностей элементов карты будут заменены сеткой, отображающей масштаб их освещения (о чём рассказано в предыдущем разделе).
В этом режиме функциональные элементы карты, покрытые служебными текстурами, отображаются как и обычные, но их можно скрыть отключив соответствующие авто-видовые группы (в Hammer++, используйте значок отображения служебных текстур).
Бикубические карты освещения
Half-Life 2,
Half-Life: Source,
Portal, and the
Ветвь Team Fortress 2 include the "Very High" shader detail option, which also enables bicubic filtering on lightmaps, smoothing out the aliasing ("stair-stepping") at the cost of reduction of thinner details and more prominent seams. This can be also toggled independently with the r_lightmap_bicubic cvar . Bicubic lightmaps require (DX9 SM2). Так как она реализована посредством оттенения, она влияет только на LightmappedGeneric и WorldVertexTransition материалы.
На изображениях ниже представлено сравнение отключенного и включенного режимов для демонстрации преимуществ и недостатков. Нажмите на изображения, чтобы увидеть их в полном размере.
Консольные команды
Далее перечислены все читы , кроме r_lightmap_bicubic:
mat_fullbright 2
- Заменяет все альбедо серым тоном, оставляя лишь информацию о свете.
mat_luxels <boolean >
- Показывает люксели на поверхностях всех элементов карты и реквизит-объектах покрытых lightmaps.
Примечание:Разрывается на деформированных поверхностях , это не баг.
Баг:This command is broken in
,
and
Source 2013 Singleplayer and doesn't display correctly, due to missing shaders (see GitHub issues #3803). This issue is not affected in Ветвь Team Fortress 2 games (
,
,
,
,
), most Source 2013 Multiplayer games and both legacy and 2025 version of Source SDK Base 2013.
Remains unfixed on Half-Life 2 (20th anniversary).
Fixed in Garry's Mod
(подтверждено в:,
,
(via
13 Beta),
20th,
2012 build)
mat_filterlightmaps <boolean >
- Контролирует, сглаживаются ли люксели таким же образом, как и тексели .
r_avglightmap <boolean >
- Режим "Doom"! Средние значения карты освещения на всех полигонах.
mat_showlightmappage <integer >
- Разворачивает каждую карту освещения в маленьком окне в верхнем левом углу экрана. Ужасно не полезно для моддеров.
Совет:You can see all lightmaps by opening mat_texture_list and clicking Render Targets and Special Textures.
r_lightmap <integer >
- Specifies the light style index to compute and display the lightmap for. If set to -1 (default), computes for all light styles. Primarily used for debugging and inspecting specific light styles' effects on the lightmap.
- Нужно сделать: Не очевидный эффект.
r_unloadlightmaps <boolean >
- Controls whether lightmap data is unloaded from memory after being updated. When set to 1, the engine unloads lightmap data to save memory. Useful for debugging or when frequent changes to lighting occur.
- Нужно сделать: Неизвестно. Возможен ли способ очищать данные карты освещенности между загрузками карты?
- r_lightmap_bicubic <boolean > (только в
)
- Enable bicubic lightmap sampling. Only available in
Half-Life 2 and
Half-Life: Source since Half-Life 2 20th Anniversary,
Portal (May 20, 2025 update), and
Ветвь Team Fortress 2 since the February 18, 2025 patch.
Manual lightmap edition
The lightmap samples are not stored as an embedded texture but rather as raw samples. It is possible to preview, export and import lightmaps for selected or all faces using BSPEntSpy.
Смотреть также

You can help by updating the translation.
Also, please make sure the article complies with the alternate languages guide.