Полезное
Мы Вконтакте
Discord канал
Volumes (далее Зоны) являются 3х-мерными областями, которые имеют определенную цель. Некоторые из этих целей:
Есть много типов зон, которые выполняют различные задачи. В этом документе будет описано создание зон на Ваших уровнях и будет дано описание каждому типу зоны, доступных в Unreal Engine 4.
Самое главное, что нужно знать дизайнерам уровней о зонах:
Поскольку зоны невидимы, игроки, как правило, не знают, что они находятся в ней, поэтому дизайнер уровня должен немного помочь игроку. Зоны, как правило, следует рассматривать как компонент большего эффекта, где другой элемент уровня выступает в качестве визуального эффекта, дающий понять, что находится перед игроком.
Возьмем, например Pain Causing Volume (применяет повреждение к чему — либо внутри зоны). Если поставить эту зону посередине уровня…
Размещение зоны |
Что увидит игрок |
Так игрок не поймет, почему персонажу стало вдруг больно, когда он вошел в область. Но если добавить огненный эффект частиц в середину зоны…
Размещение зоны |
Что увидит игрок |
Теперь игрок будет понимать, почему стоять там больно!
Для создания зоны ее нужно выбрать из вкладки Volumes меню Modes и перетащить на уровень.
После того, как зона была помещена на уровень, Вы можете изменить размер и (или) переместить её.
Blocking Volume служит поверхностью коллизии, за которую не могут пройти объекты. Регулируя каналы коллизий зоны (на рисунке ниже), Вы можете контролировать, каким типам объектов можно пройти, а каким будет вызвано событие перекрытия
(overlap event), когда они подойдут к зоне. Смотрите Collision Documentation для получения более подробной информации.
Blocking Volume могут быть использованы в качестве коллизии для статического меша (Static Mesh), особенно, в случае стен здания.
При таком использовании зон, обычно имеется несколько преимуществ в сравнении с коллизией самого меша. Во-первых, ее легче вычислить, чем более сложные модели столкновений. Во-вторых, по природе зоны, которая знает, какие объекты находятся в ее пределах, она может быть более полезной при столкновении с физическими высокоскоростными объектами (может избавить от бага, когда объекты пролетают сквозь стены).
Camera Blocking Volumes аналогична по своей природе Blocking Volume тем, что она используются для определения места, куда нельзя пройти актеру камеры. Например, в перспективе от третьего лица, чтобы держать камеру у Вашего игрока в границах игрового пространства, не позволяя камере видеть обратную сторону игрового мира.
Свойства Camera Blocking Volume можно регулировать таким же образом, как у Blocking Volume — изменять каналы коллизий.
Trigger Volumes используются для вызова события, когда игрок или другой объект входит или выходит из неё. Они могут быть использованы с Level Blueprint, для проверки событий, геймплея или другого функционала без использования дополнительного Blueprint.
Например: Вы можете разместить TriggerVolume на Вашем уровне, и связать его с Level Blueprint, создав overlap event для этой зоны, которое запустит SoundCue, кат-сцену или откроет британским ученым дверь.
Nav Mesh Bounds Volumes используются для определения зоны расчета Nav Mesh на уровне. Nav Mesh используются для вычисления навигационных путей для Искусственного Интеллекта.
В данной зоне, Nav Mesh строится на всех поверхностях с углом, по которому можно передвигаться. Вы можете создавать области в определенных местах на уровне, чтобы создать нужную навигационную геометрию.
Для построения навигационных путей, просто создайте один (или более) Volume Nav Mesh Bounds, который будет пересекаться с землей уровня и навигационная геометрия будет построена автоматически.
Для визуализации Nav Mesh в окне просмотра, нажмите кнопку P.
Пожалуйста, посмотрите примеры в Content Examples и Документацию по Nav Mesh для получения более подробной информации.
Physics Volumes — зоны, в которых устанавливаются физические параметры, которые влияют на персонажей и другие физические. Обычно используются для создания воды, в которой игрок будет плавать. Но Вы могли бы так же легко использовать его, чтобы создать область с низкой или нулевой гравитацией и повлиять на предельную скорость (terminal velocity) объектов, проходящих через него.
Ниже описаны свойства данной зоны, настроить которые можно на панели Details.
Параметр | Описание |
Terminal Velocity | Определяет конечную скорость Pawn‘ов с использованием CharacterMovement при падении (falling). |
Priority | Определяет, какой из PhysicsVolume будет воздействовать, если они перекрывают друг друга. |
Fluid Friction | Определяет величину трения во время перемещения Pawn’а через зону, с использованием CharacterMovement. Чем выше это значение, тем труднее передвигаться через зону. |
Water Volume | Делает зону с жидкостью, например с водой. |
Physics on Contact | Применяет эффекты зоны при прикосновении к ней (по умолчанию, актер должен быть внутри зоны, чтобы применились эффекты). |
Pain Causing Volumes по сути Physics Volume с дополнительной способностью наносить ущерб игрокам. Обычно размещается в таких областях уровня, где игрок не должен пройти, например, лава, облако токсичного газа, и так далее.
Наряду со свойствами, которые могут быть назначены для Physics Volume, Pain Causing Volume имеет свой собственный набор специфических свойств, описанных ниже.
Параметр | Описание |
Pain Causing | Включает повреждающее воздействие зоны. |
Damage Per Sec | Количество урона в секунду актерам, находящимся в зоне, если Pain Causing параметр включен. Количество урона вычисляется как Damage = Damage Per Sec * Pain Interval |
Damage Type Определяет тип повреждения, наносимого Актерам. | |
Pain Interval | Временной интервал, в секундах, между повреждающими воздействиями, если Pain Causing параметр включен. |
Entry Pain | Если включено, то наносит повреждение сразу при входе в зону, если Pain Causing параметр включен, иначе повреждение применяется после времени Pain Interval |
Kill Z Volume или «Kill-Brush» по существу уничтожает любой актер, который попал в эту зону (включая персонажей). Используется эта зона под уровнем, на случай, если игрок каким-то образом выпал из игровой зоны, или под высокой скалой, чтобы наверняка убить игрока или актера, который упадает с нее.
Level Streaming Volumes используются в процессе Level Streaming (пожгрузка уровня). Они «объединяют» часть уровня и контролируют его загрузку и выгрузку из памяти, если игрок входит или выходит из зоны.
Вы можете настроить, обработку уровня Volume Level Streaming обрабатывает уровень потоковой передачи путем корректировки свойств на Details панели, изображенной ниже.
Параметр | Описание |
Streaming Levels | Отображает пути уровней, зависящих от зоны. |
Editor Pre Vis Only | Является ли streaming volume только для просмотра подгружаемого уровня в редакторе (без подгрузки его в игре). |
Disabled | Если включено, streaming volume игнорируется кодом streaming volume code. Также используется для отключения Level Streaming Volume без разъединения его с уровнем, для переключения управления подгрузкой уровня между Blueprint и Streaming Volume. |
Streaming Usage | Определяет, как используется зона, например, следует ли контролировать подгрузку, подгрузку и видимость, или только видимость (остановка при подгрузке уровня). |
Cull Distance Volumes являются инструментом оптимизации, который заставляет движок не обрабатывать объекты — не отображать их на экране, которые меньше определенного размера, основываясь на расстоянии от этого объекта до камеры. Это может помочь оптимизировать сцену, не отрисовывая объекты заданного размера. Размер рассчитывается по самой большой стороне bound box.
Настройки Cull Distance Volume зависят от Cull Distances параметра, в Details панели.
На изображении выше, показаны свойства, определяющие следующее поведение:
Настройка начинается с добавления нового массива Cull Distances, который можно добавить нажатием кнопки . Далее, заполняем размер объекта и требуемое расстояние, на котором Вам нужно скрыть объекты меньшего размера. Эти свойства должны быть созданы в определенном порядке.
Audio Volumes позволяют контролировать и применять различные звуки на Вашем уровне, а также обеспечивает зоны слышимости, где Вы можете настраивать, что слышно внутри, а что снаружи зоны. Благодаря использованию аудио зон, Вы можете создавать переходы громкости между звуками и управлять параметрами Ambient Zone внутри самой зоны.
Некоторые свойства можно изменить на панели Details этой зоны, показанной ниже.
Параметр | Описание |
Priority | В случае пересечения зон, будет работать зона с наибольшим приоритетом. Порядок будет не определен, если две или более пересекающихся зоны имеют одинаковый приоритет. |
Apply Reverb | Включает параметры реверберации. |
Reverb Effect | Ассет реверберации для использовании в зоне. |
Volume | Общий уровень громкости эффекта реверберации. |
Fade Time | Время (в секундах), чтобы перейти от текущих настроек реверберации к параметрам зоны. Enabled Определяет, включена ли в настоящее время зона и способна ли влиять на звуки. |
Ambient Zone определяют, как Sound Actors, расположенные внутри связанного с ним Audio Volume будет изменены в зависимости от местоположение игрока. Настройки Ambient Zone настраиваются в Details панели.
Параметр | Описание |
Exterior Volume | Уровень громкости внешних звуков (звуков, находящихся вне зоны, а точнее настроенных как внешние), когда игрок находится внутри зоны. |
Exterior Time | Время, затухания (перехода) к новому уровню громкости внешних звуков в секундах. |
Exterior LPF | Множитель низкочастотного фильтра, применяемого к внешним звукам зоны, когда игрок внутри (1.0 – максимальный фильтр НЧ). |
Exterior LPFTime | Время, перехода к новому уровню фильтра низких частот в секундах. |
Interior Volume | Громкость внутренних звуков, когда игрок находится вне зоны. |
Interior Time | Время, перехода до нового уровня громкости внутренних звуков в секундах. |
Interior LPF | Множитель низкочастотного фильтра, применяемого к внутренним звукам зоны, когда игрок находится вне зоны (1.0 – максимальный фильтр НЧ). |
Interior LPFTime | Время, перехода к новому уровню фильтра низких частот в секундах. |
Post Process Volume представляет собой зону, в которой переопределяются параметры пост обработки, применяемые к камере, на параметры из Details панели.
Для получения дополнительной информации по пост обработке, прочтите Документацию по Post Processing.
Lightmass Importance Volume используется для оптимизации объема обработки, при создании предварительного рассчитанного света на уровне. Lightmass Importance Volume должна покрывать область уровня с геометрией, где необходимо рассчитать Lightmass, игнорируя остальное за его пределами. Lightmass является предварительно рассчитанным освещением и глобальной системой освещения использующейся в Unreal Engine 4.
Для получения дополнительной информации по Lightmass и Lightmass Importance Volume, обратитесь к Документации по Lightmass.
Lightmass Character Indirect Detail Volume похож на Lightmass Importance Volume и генерирует indirect light samples (зоны отраженного света, для их просмотра в окне редактора включите Show – Visualize – Volume Lighting Samples) по всей зоне, а не только на высоту игрока над геометрией. Хорошим примером использования этой зоны будет шахта лифта, в которой персонаж будет достоверно освещаться по всей длине шахты.
Precomputed Visibility Volume используются прежде всего для оптимизации производительности. Эти зоны хранят видимость Актеров при их расположении на сцене. Эти зоны должны быть размещены только в тех областях, куда игрок может добраться.
Precomputed Visibility Override Volume позволяют вручную изменить видимость актеров для своего места в мире, если не удовлетворяет автоматический результат Precomputed Visibilty Volume. Они также используются для оптимизации производительности и должны быть размещены только в тех областях, куда игрок может добраться.