Дополнение к статье "Фейковый туман (fog volume) в Unreal Engine 4"

Я писал в статье:

У объёма нет сторон. Хотя это можно обойти с помощью кубов и немного другого кода, пример этот я рассматривать не буду. Хотя если нужно (например, сделать стену из тумана, как в Silent Hill) - дайте знать, запилю

Я

Что ж, просили - выполняю обещание.

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

Дополнение к статье "Фейковый туман (fog volume) в Unreal Engine 4"

Если же нужна какая-то зона, окутанная "туманом" - то можно вместо плейнов использовать кубы или сферы - в общем, любые объёмные меши. Выглядеть это будет как-то так:

Как видите, в целом — неплохо, но по краям сильно заметно расслоение. Скорее всего, это можно исправить, но я не уверен, как именно :)

Нужно будет внести несколько изменений в блупринт:

  • Добавить новую переменную SpawnScale типа float. Значение подберите сами, я брал 0.5.
  • Заменить в InstancedStaticMesh компоненте плейн на любой объёмный меш, который вам нужен (я брал сферу)
  • Поменять Construction Script, чтобы он стал выглядеть вот так:
​Если плейны мы располагали друг над другом, то у объёмных мешей просто увеличиваем масштаб
​Если плейны мы располагали друг над другом, то у объёмных мешей просто увеличиваем масштаб

Ну и, конечно, нужно будет поиграться с параметрами экземпляра материала.

1414
Начать дискуссию