Руководство по объемам в Unreal Engine 4

0
11
Руководство по объемам в Unreal Engine 4

Volumes (Объемы) являются трехмерными Актерами, используемыми для изменения поведения областей внутри уровней. Объемы могут использоваться для таких типов поведения, как:

  • Нанесение ущерба игроку или другим Актерам внутри Объема.
  • Блокировка некоторых Актеров с ввода Объема, действуя как поверхность столкновения.
  • Открытие двери, когда Актер входит в Объем.
  • Изменение способа подсчета уровня освещенности или видимости.

Создание и размещение объемов

Объемы можно создать, выбрав вкладку Volume на вкладке Volumes в меню Modes и перетащив ее в viewport уровня.

Создание и размещение объемов UE4После того, как Объем будет размещен на уровне, вы можете изменить его размер или изменить его по своему усмотрению. При размещении Объемов необходимо учитывать два важных момента:

  1. Объемы – это поддержка Актеров, обычно используемые для определения того, когда определенные типы Актеров вошли в определенную область и вызывают эффект в ответ.
  2. Объемы иногда имеют встроенные собственные эффекты (либо в коде, либо в Blueprints), но чаще всего они будут давать сигналы другим Актерам. Их обычно следует рассматривать как части большей системы с другим некоторым элементом, действующим как визуальный сигнал.

Например, Pain-Causing Volume (Объем, вызывающий боль), который приводит к повреждению чего-либо внутри Объема, может быть помещен на уровень таким образом:

Объем вызывающий боль в редакторе UE4Объем порождения боли без эффекта и объема UE4
В РедактореВ игре

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

Боль вызывающая объемный эффект ue4Боль вызывающая объемный эффект без объема ue4
В РедактореВ игре

В этом случае эффект частиц огня дает визуальное объяснение того, почему область опасна, в то время как The Pain Causing Volume поддерживает визуальные эффекты с эффектом геймплея, уменьшающим здоровье игрока во время воздействия огня.

Типы Объемов

Объемы столкновений и перекрытия

Блокирующий Объем

Блокирующий объем служит формой столкновения, через которую Актеры не собираются проходить. Регулируя каналы столкновения в Объеме (на фото ниже), вы можете контролировать, какие типы Актеров будут пропущены, а также какие из Актеров должны генерировать события перекрытия, когда они проходят через Объем.

Дополнительную информацию смотрите в Collision Documentation (документации по конфликтам).

 

Блокирующий Объем UE4Блокирующие объемы могут использоваться на месте столкновений на статик мешах, особенно в случае стенок в конструкциях. Это может привести к тому, что сцены будут работать более предсказуемо, поскольку физические объекты не будут взаимодействовать с небольшими деталями, такими как удары по полу и стенам. Это также может повысить производительность за счет снижения стоимости моделирования физики.

Объем блокировки камеры

Объемы блокировки камеры – это объемы с настройками их столкновений, предварительно сконфигурированными для блокировки только камер и игнорирования всего остального.Они предназначены для определения невидимых барьеров, которые препятствуют выходу камеры из плохих локаций. Примером этого может быть игра третьего лица, когда стены игровой площадки имеют декоративные покрытия, такие как лиственные лозы. В этих случаях тонкий Объем Блокировки Камеры может быть помещен на стену, чтобы камера не врезалась в лозы или шла позади листьев, оставляя ее плавно скользить и обеспечивая беспрепятственный обзор действий в комнате.

Объем Kill Z

Цель Kill Z Volume состоит в том, чтобы препятствовать тому, чтобы объекты выходили за пределы определенных типов игр, например, свалившись со скалы, или упав в яму в платформерной игре, или оставив космический корабль без костюма в научно-фантастической обстановке. Объем Kill Z вызывает функцию FellOutOfWorld для любого Актера, который войдет в него, и по умолчанию Актеры пройдут процедуру быстрой очистки, а затем уничтожат себя. Вы можете переопределить это поведение для любого из ваших типов Актера, если ваша игра требует чего-то другого. Например, если ключ или другой предмет, который игрок должен собрать для продолжения игры, попадает в яму лавы, ваша игра может захотеть телепортировать элемент обратно в область, которую игрок может достичь, а не уничтожить ее, или, по крайней мере, проинформировать игрока о том, что элемент был утерян, и перезагрузить последнюю контрольную точку, вместо того, чтобы оставить игру в нежелательном состоянии.

Объем, вызывающий боль

Объемы, вызывающие боль – это объемы Физики, способные нанести урон игрокам. Они нужны тогда, когда у вас есть очевидные области уровня, на которые не должен идти игрок, например яма лавы, облако токсичного газа и т.д.

Дополнительную информацию о конкретных свойствах объемов, вызывающих боль, смотрите на странице сведений.

Объем Физики

Объемы Физики – это объемы, в которых можно манипулировать настройками Физики, которая влияет на персонажи и другие объекты физики. Общим для них является создание водянистых сред, в которых игроку необходимо плавать. Эффекты объемов физики видимые и могут быть интерпретированы по желанию. Класс Компонента Character Movement (персонажа Движения) использует текущие поля, чтобы настроить то, как их владеющий Character перемещается через окружение. Если в вашей игре есть пользовательская физика, получение вашего собственного дочернего класса из APhysicsVolume поможет вам предоставить ее.

Дополнительную информацию о конкретных свойствах Объемов Физики смотрите на странице сведений.

Объем Триггера

Объемы Триггеров используются как способ вызвать события, когда игрок или другой объект входит или выходит из них. Их можно быстро использовать с помощью Уровня Blueprints для тестирования событий и игровых сценариев или функций без необходимости добавления дополнительных Blueprints.

Например, вы можете разместить TriggerVolume на своем уровне, а затем создать событие перекрытия для Volume вашего Уровня Blueprint, который может воспроизводить звук, открывать дверь или запускать кинематографическую сцену.

Не забудьте проверить настройки столкновений, чтобы убедиться, что ваш триггер будет реагировать на предполагаемых Актеров с настройкой ответа на столкновение с перекрытием.

Графические и аудио – Объемы

Объем Звука

Audio Volumes позволяют вам контролировать и применять различные звуки на вашем уровне, а также предоставлять возможность создавать секционированные звуковые зоны, где вы можете контролировать то, что слышно внутри и снаружи волюма. Благодаря использованию Audio Volumes вы можете генерировать аудио переходы через затухание и управлять настройками Ambient Zone в самих Объемах.

Дополнительную информацию о конкретных свойствах Объемов звука смотрите на странице сведений.

Объем Cull Distance

Объемы Cull Distance – это инструменты оптимизации, которые позволяют отбирать объекты (не нарисованные на экране), исходя из расстояния этого объекта от камеры и ее размера. Это может помочь оптимизировать вашу сцену, не рисуя объекты, когда они достаточно малы, чтобы считаться несущественными. Размер рассчитывается по ограничительной рамке по ее самому длинному размеру, а выбранная дистанция выбирается по самой близкой к этому размеру.

Настройка Объема Cull Distance зависит от свойства Cull Distances, показанного на панели Details ниже.

Настройка Объема Cull Distance UE4На изображении выше свойства определяют следующее поведение:

  • Объекты в пределах Объема, которые имеют размер, ближайший к 50 единицам (расстояние равное или меньше 85 единиц), будут забракованы (исчезать), когда они находятся на расстоянии 500 единиц от камеры или дальше.
  • Объекты в пределах Объема, которые имеют размер, ближайший к 120 единицам (расстояние между 85 единицами и 210 единицами), будут забракованы (исчезать), когда они находятся на расстоянии 1000 единиц от камеры или дальше.
  • Объекты в пределах Объема, которые имеют размер, ближайший к 300 единицам (расстояние, равное или превышающее 210 единиц), никогда не будут забракованы, так как значение 0 (ноль) в этом случае рассматривается как бесконечность, а это означает, что камера никогда не сможет пройти достаточно далеко.

Установка начинается с добавления новой записи в массив Cull Distances, которая выполняется щелчком кнопкиРуководство по объемам в Unreal Engine 4.  Затем просто введите размер данного объекта и требуемое расстояние, на котором вы хотите, чтобы объекты такого размера или же меньшего были отбракованы. Эти свойства не должны создаваться в определенном порядке.

Иерархический Объем LOD

Иерархические Объемы LOD не имеют специальных свойств, но используются системой HLOD для группировки Актеров в один кластер HLOD. При создании кластеров Unreal Engine переопределит нормальный процесс генерации в отношении к размещенным вручную объемам.

Объем Lightmass Character Indirect Detail

Объем Lightmass Character Indirect Detail (объем персонажа косвенного освещения) похож на Volume Lightmass Importance и генерирует непрямые образцы света не только на высоте Игрока над землей, но и во всем Объеме. Примером использования этого типа объема было бы размещение Объема в шахте лифта, гарантируя, что косвенное освещение будет правильным по всей длине вдоль вала, а не только внизу.

Объем Lightmass Importance

Объемы Lightmass Importance (значимости освещения) используются для фокусировки вычислений Lightmass. Lightmass – это предустановленное освещение и глобальная система освещения, используемая в Unreal Engine 4. Чтобы минимизировать объем обработки, необходимый для генерации предварительно просчитанных огней на уровне, LightMass Value Volumes используются для прикрытия областей геометрии уровня. Lightmass будет вычислять только в этих областях, пропуская что-либо за их пределами.

Дополнительную информацию об объемах  Lightmass и Lightmass Importance смотрите в документации Lightmass documentation.

Объем Mesh Merge Culling

Объемы Mesh Merge Culling (слияния Merge меши) отмечают те объекты меши, которые они сами содержат, чтобы эти объекты были объединены в одну меш. Это может повысить производительность за счет того, что происходит коллекция небольших мешей в замкнутой области вместе в виде одной меши или путем генерации HLOD для более оптимальной геометрии.

Объем Post Process

Объем Post Process (пост обработки) – это пространство, в котором параметры Post Process, применяемые для камеры, можно переопределить, настроив свойства на панели Details.

Для получения дополнительной информации о Post Processing смотрите документацию Post Processing Documentation.

 

Объем Precomputed Visibility

Объем Precomputed Visibility (вычисляемой Видимости) используются прежде всего для оптимизации производительности. Эти объемы хранят видимость Актеров для их локации в мире. Они должны размещаться только в тех областях, к которым Игрок может получать доступ.

Объем Precomputed Visibility Override

Объемы Precomputed Visibility Override (превышение вычисляемой Видимости) переопределения видимости позволяют вам вручную переопределять видимость Актеров для их локации в мире, если результат автоматически генерируемого результата для  объема Precomputed Visibilty получился нежелательным. Они также используются для оптимизации производительности и должны размещаться только в тех областях, к которым Игрок может получить доступ.

Уровень и Объемы AI

Объемы Уровня потоковой передачи

Объемы Уровня потоковой передачи используются для содействия процессу уровня потоковой передачи. Они обеспечивают простой способ инкапсулировать уровень, а также контролировать, когда он поступает внутрь и из памяти на основе того, когда Игрок входит или выходит из Объема.

Объемы Nav Mesh Bounds (границ Nav мешей) используются как способ управления, где Nav Meshes будут построены на уровне. Nav Meshes используются для расчета маршрутов навигации по всем областям уровня.

Внутри Объема Nav Mesh построена на всех поверхностях под соответствующим углом. Вы можете перекрывать меш столько, сколько вам нужно, чтобы создать желаемую Nav Mesh.

Чтобы использовать Объем Nav Mesh Bounds, просто создайте один (или более) объем, который охватывает навигационные области вашего уровня. Nav Mesh будет построена автоматически.

Вы можете нажать кнопку P в любое время в окне просмотра, чтобы визуализировать Nav Mesh.
Более подробную информацию и примеры смотрите в примерах контента и Nav Mesh Documentation.