Материалы
11 лет назад
3D-Skybox
Создание 3D-скайбокса. Настройки sky_camera
Что же такое 3D-скайбокс? Это отдельное пространство на карте, куда помещаются браши и энтити-объекты, которые должны отображаться за пределами карты, в небе. Чтобы оно работало, в середине этого пространства создается энтити-объект sky_camera. Рассмотрим это на примере:
Карта в редакторе. Вид сбоку. Красная зона - игровое пространство, где зеленая точка - центр карты (координаты 0, 0, 0). Синяя зона - 3D-скайбокс, где желтая точка - энтити-объект sky_camera, а белый прямоугольник - здание, которое должно отображаться за пределами карты в скайбоксе. Вот что получится в игре:
Таким образом визуально размер карты увеличится, игрок увидит большой, но далеко расположенный объект, что создаст иилюзию, что карта очень большая и вся она хорошо просматривается. Такой скайбокс пригодится на картах с горным сюжетом или с небокскребами. Совать все в скайбокс, конечно, не стоит, так как небо всегда прорисовывается и это скажется на производительности вашей карты. Но в некоторых случаях скайбокс может оптимизировать карту. Например, посмотрим на такую карту:
Переместим верх небоскребов в скайбокс и вот что получится (конечно, скайбокс можно и нужно уменьшить согласно настройкам sky_camera):
Вы уже, скорее всего, догадались, как это поможет с оптимизацией. Визуально ничего не поменяется, но на самом деле верх будет ограничен "невидимой стеной", что сделает пространство карты более закрытым, а значит, более оптимизированным. Вместо всех зданий на игровом пространстве будут отрисовываться только те, которые видны игроку. Теперь о настройках энтити sky_camera. Нас интересует только параметр 3D Skybox Scale. Его значение и показывает, насколько будет увеличен скайбокс. Остальные параметры настраивают туман, ведь env_fog_controller создает туман только в игровом пространстве, а не в скайбоксе.
Где вообще может это пригодится? Может, у меня лабиринт или канализация? Тогда да, тут скайбокс к чертям не нужен. Но давайте рассмотрим такой пример. Пусть карта задумывается как крыша небоскреба, то есть действие происходит только на крыше, прыгать с него нельзя, зона геймплея - только эта крыша. Но просто крыша будет нереалистично выглядеть, так как нужны соседние небоскребы, другие дома, улицы и т.д. - то есть город вокруг. Всё это делать только ради красивого вида с крыши запарно плюс скажется на производительности и времени компиляции, поэтому все соседние небоскребы (улицы, дома, горы, деревья, океаны или что там у Вас) уменьшают в некоторое число раз (обычно в 16) и запихивают в другое место карты. Туда же ставят энтити sky_camera согласно расчётам. В результате в игре выглядит так, как задумано - небоскребы вокруг и всё хорошо видно и красивый вид. И не лагает, и автор карты не парился над детализацией (в 16 раз же всё уменьшаем!), и компилируется быстро
На этом со скайбоксом все, удачи
Комментарии пользователей сайта:
Если Вам понравилась эта страница, Вы можете разместить где-нибудь ссылку на неё: