Содержание:
1 Skybox
2 Очистка сетки
3 Cubemaps/Lightprobes
3 Cubemaps/Lightprobes

3.2 Избегать разрывов между томами!
3.3 Отладка Lightprobes
3.4 Отладка cubemaps
3.5 Наложение Cubemap

Skybox​

В CS:GO 3D Skybox часто строились в пределах основной карты, тогда как в Counter-Strike 2 они выделены в отдельную карту 3D Skybox. Импортер карт попытается обнаружить геометрию skybox и отделить ее автоматически, но это работает только в том случае, если геометрия skybox в оригинальном VMF находится в собственном instance/prefab.

Чаще всего это не так, поэтому если вы открываете только что импортированную карту в Hammer и не видите рендеринга 3D Skybox, скорее всего, импортирование не удалось, и она была объединена в основную карту. Однако процесс его выделения на самом деле довольно прост;

Сначала найдите свой 3D Skybox, он должен находиться в закрытом пространстве где-то за пределами основной области карты:
1688908287002.png

Следующим шагом будет захват skybox geo и всех сущностей внутри него и нажатие Ctrl+x, затем создайте новую карту с помощью File>New и сохраните ее под соответствующим именем, т.е. de_mymap_skybox, и когда новая карта будет сохранена, нажмите Ctrl+ Shift+V, чтобы сделать специальную вставку, убедившись, что выбран Start at center of original, прежде чем нажать OK.

1688908300849.png

Как только geo будет помещено в новую карту, нам нужно будет сообщить Hammer, что это карта 3D Skybox. Для этого просто перейдите в Map>Map Properties и в выпадающем списке Map Type выберите 3D Skybox:.

1688908306883.png


После этого вернитесь на основную карту и добавьте entity skybox_reference, которая будет ссылаться на ваш skybox .vmap. Наконец, установите skybox_reference на 0,0,0 в разделе Transform свойств:

1688908343049.png

Если все прошло гладко, вы должны увидеть рендеринг skybox во viewport Hammer!
Последнее, что осталось сделать, это скопировать (не перемещать) entity light_environment и env_sky в карту 3D Skybox, чтобы обеспечить наличие освещения и неба.



Очистка сетки
1688908352653.png
1688908358109.png
1688908374555.png
Cubemaps/Lightprobes

Импортер попытается преобразовать старые cubemaps в стиле csgo в новые комбинированные cubemap/lightprobe в Counter-Strike 2, однако этот шаг часто бывает неудачным, и рекомендуется потратить некоторое время, чтобы исправить их вручную. Ниже приведены некоторые советы по выполнению этого действия:


Light probe разрешение
Для игровых областей рекомендуется использовать высокое разрешение voxel для лучшего качества освещения динамических объектов/игроков. В других областях можно использовать более низкие разрешения по своему усмотрению.

1688908384310.png

Избегать разрывов между томами!
Если у вас есть пробелы между томами, это, скорее всего, приведет к тому, что игроки или динамический реквизит будут светиться неправильно (то черным, то ярким). Например:

1688908394480.png

Это можно исправить, закрыв зазор - перекрытие объемов совершенно нормально и необходимо при использовании функции Edge Blend.

1688908413811.png

Вы можете использовать систему приоритетов для устранения любых проблем, если у вас есть том внутри тома.

1688908431032.png

Отладка Lightprobes
Чтобы визуализировать световые зонды в ваших томах, вы можете просто нажать эту кнопку, которая визуализирует плотность и запеченное освещение выбранного в данный момент тома светового зонда:

1688908439966.png

Чтобы увидеть это в игре, просто введите r_light_probe_volume_debug_grid 1 в VConsole. Это полезно, если вы видите необычное освещение на динамических объектах:

1688908451067.png
лучше всего использовать в сочетании с режимом визуализации диффузного освещения в Hammer или mat_fullbright 2 в игре.

Отладка cubemaps
Если вы хотите посмотреть, что происходит с cubemaps, в Hammer есть представление для этого здесь:

1688908475501.png

Это визуализирует cubemaps на поверхностях:

1688908485206.png
Это полезно для проверки правильности/отсутствия пробелов в cubemaps, а также для проверки настроек наложения между томами cubemaps.

Наложение Cubemap
Эта функция обеспечивает плавные переходы между объемами cubemap и может быть настроена с помощью параметра Edge Fade Dist:

1688908498846.png

Эти значения управляют количеством смешивания краев вдоль X,Y,Z в дюймах.
Здесь мы видим X,Y,Z, установленные на 0. Обратите внимание на жесткую границу, где заканчивается объем cubemap.

1688908508771.pngЗдесь X,Y,Z установлены на 32, обратите внимание на затухание краев объема кубической карты

1688908517191.png

И с X на 32, а YZ на 0. Обратите внимание на смешивание по одной оси.

1688908528242.png

cubemaps с наложением краев могут стать дорогостоящими! Самый большой удар по производительности приходится на затухающую краевую область cubemaps; эта затухающая область всегда должна затухать в другой cubemaps, а при больших смешиваниях и нескольких перекрывающихся cubemaps эти пиксели могут становиться экспоненциально дороже, поскольку они просматривают несколько cubemaps.

Хороший способ диагностировать это - использовать режим просмотра Reflection Complexity в Hammer, или mat_fullbright 8 в игре через vconsole.

В этом примере есть три перекрывающихся тома cubemap с затуханием краев 32 по X и Y.

1688908554716.png


Вы можете видеть, что по мере того, как все больше объемов перекрывается в областях затухания краев, цвет меняется от синего>зеленого>желтого в зависимости от того, насколько дорогостоящими являются эти пиксели (желтый - наиболее дорогостоящий).