Создание и использование LODs в Unreal Engine 4

1
478
Создание и использование LODs UE4

Когда игрок находится рядом со Статик Мешью, которую вы разместили на своем уровне, вы захотите, чтобы меш выглядела очень подробно. Однако вам не нужна очень подробная и сложная меш, когда игрок перемещается далеко от нее. Нет смысла иметь очень сложную и детальную меш, если она занимает всего несколько пикселей на экране, и игрок едва может ее увидеть. Тем не менее, меш должна быть детализирована, когда игрок находится рядом с мешью и может ее четко видеть. В UE4 вы можете поместить меш на своем уровне, которая переключается на менее сложную меш, когда игрок уходит от нее, чтобы ваш уровень лучше работал. Вы можете сделать это, используя Уровень детализации или LODs. Данное руководство по использованию покажет вам, как вы можете импортировать менее подробную версию меши в UE4, и ваша меш легко поменяется местами с одной меши на другую, когда игрок движется все ближе или дальше.

Настройка

Данное руководство требует, чтобы у вас уже была какая-то меш, сохраненная в формате .FBX, которую вы можете импортировать в UE4. В этом примере мы будем использовать простую многоугольную сферу, сделанную в Maya. Обратите внимание: вы также можете использовать собственный актив, созданный в другом приложении.

Как только вы экспортируете свою меш, запустите UE4. Если у вас есть проект, с которым вы хотели бы работать, не стесняйтесь использовать его для этого руководства. В противном случае перейдите на вкладку New Project (Новый проект) и выберите шаблон Blueprint First Person, чтобы убедиться, что включен Starter Content. Если это не так, у вас может не быть некоторых активов, которые мы будем использовать позже, и за этим может трудно следовать.

Новый Проект Со Стартовым Контентом UE4

После того, как вы это сделали, дайте проекту название и местоположение и нажмите кнопку Create Project (Создать проект).

Создание LOD

После загрузки вашего проекта перейдите в папку Meshes (Меши) внутри Контент браузера и найдите актив с именем FirstPersonCube_Rounded.

Куб В Браузере Контента UE4

После того, как вы нашли этот актив, откройте его внутри Редактора Статик меши либо двойным щелчком мышки, либо щелчком правой кнопкой мышки, а затем выберите Edit (Редактировать) в появившемся контекстном меню. Теперь у вас должно быть что-то похожее на изображение, показанное ниже.

Куб В Редакторе Статической Сетки UE4

После открытия актива в Редакторе Статик меши найдите панель Details. По умолчанию он находится в верхнем правом углу. Как только вы его найдете, он должен выглядеть так, как показано ниже:

Детали LOD 0 UE4

Верхняя секция обозначается LOD0. LOD – это система на основе нуля, поэтому LOD0 будет первой записью, LOD1 будет второй и так далее. LOD0 является базовым LOD меши и будет единственным, который будет использоваться, если меш имеет только 1 LOD, которые эта меш делает прямо сейчас. Затем мы это изменим.

Раздел непосредственно под этим называется LOD Settings (настройки). В этом разделе есть несколько вариантов, которые мы рассмотрим. Первый – Количество LODs. Он по умолчанию равен 1 и будет увеличиваться при импорте LOD. Это значение также может быть доступно для редактирования, если доступно автоматическое сокращение меши. Однако, чтобы использовать эту функцию, вы должны сначала получить лицензию от Simplygon.

Следующий вариант, который мы рассмотрим, – LOD Import. Этот параметр даст вам выпадающее меню, подобное этому:Импорт журнала Уровень 1 UE4Выберите Import LOD Level 1 (Импортировать LOD уровень 1). Это должно открыть окно, которое позволит вам перейти к файлу .FBX, упомянутому ранее в этом руководстве. Просмотр и выбор файла .FBX импортирует меш LOD1 или второго LOD. Как только вы это сделаете, вы увидите всплывающее уведомление в правом нижнем углу экрана, которое должно выглядеть примерно так:

успешный импорт UE4

В этом примере мы импортируем только 1 LOD, который даст нам всего 2, но вы можете импортировать больше, если хотите. Для этого просто нажмите на раскрывающееся меню для Импорта LOD и выберите Import LOD Level X, где X равен порядковому числу следующего LOD, который вы хотели бы импортировать. Вы также можете повторно импортировать любой LOD, который вы уже импортировали. Если вы хотите импортировать другую меш для LOD1 вместо той, которую вы уже импортировали, просто нажмите на раскрывающееся меню для импорта LOD и выберите Reimport LOD Level 1. Если вы сейчас щелкнете по выпадающему меню, ваши варианты будут выглядеть так:

Импорт журнала Уровень 2 UE4

 

 

Теперь, когда меш для LOD1 была импортирована, мы будем корректировать несколько значений, чтобы продемонстрировать мощность LOD. Первый вариант в разделе настроек LOD Settings на панели Details, который мы рассмотрим, это Auto Compute LOD Distance (автоподсчет расстояния LOD). Этот параметр говорит, когда нужно переключаться с одного LOD на другой, одинаково разделяя процент размера экрана на количество LOD. Например, в этом случае у нас есть два LOD, поэтому, когда меш занимает 50 или более процентов экрана, появится LOD0. Когда меш занимает менее 50 процентов экрана, появится LOD1. Если есть три LOD, тогда LOD0 появится, когда меш будет занимать 66,7 процента экрана или больше, LOD1 появится между этим значением и 33,3 процентами, а LOD2 появится, если меш займет менее 33,3 процента экрана. Это не очень нам поможет в этом случае, разве что меш, которую мы используем, будет чаще всего занимать менее 50 процентов экрана. Однако мы можем вручную изменить эти значения, сняв флажок Auto Compute LOD Distance и вручную отрегулировать значение Screen Size для отдельных LOD.

Автоматическое вычисление расстояния LOD UE4

Для целей этой демонстрации мы собираемся снять флажок с Auto Compute LOD Distance. После того, как вы это сделали, найдите значение Screen Size (размера экрана) под LOD1 и измените его на 0,01. Это означает, что когда кубическая меш, которую мы имеем на нашем уровне, занимает менее 1 процента от размера экрана, наш куб переключается на меш, которую вы импортировали как LOD1 (в этом примере – сфера). Мы также можем изменить материал для каждого LOD. Чтобы еще раз продемонстрировать силу и полезность LOD, мы изменим материал LOD1 на M_Metal_Gold.

Изменить Материал UE4

Столкновение

Вы можете установить Static Mesh для использования Complex Collision (сложного столкновения) (как треугольник) из любого импортированного вами LODЭто необходимо для оптимизации физических характеристик, особенно если у вас много сложных столкновений со Статик Мешами или (трейсами сложных столкновений). Тем не менее, во время работы между Сложным столкновением при смене LOD нет переключения, и выбранный LOD будет использоваться для всех Сложных столкновений против меши.

Смотрите раздел Как установить столкновение с LOD для получения информации об установке этого параметра.

Использование LODs

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

LOD далеко UE4LOD близко UE4
LOD далекоLOD близко

Обратите внимание, что когда мы продвигались дальше, один только куб на переднем плане занимал более 1% экрана, поэтому он все еще находился на LOD0 или просто  в кубе. Тем не менее, меши позади стали меньше по мере того, как мы отошли и, следовательно, заняли менее 1 процента, и переключились на LOD1 (или на золотые сферы в этом примере). Также обратите внимание, что LOD масштабируются с размером экрана, поэтому, если вы отсоедините Viewport и измените его размер, процент того, что покрывает меш, будет масштабироваться с размером вьюпорта и, соответственно, изменяет LODs тоже.

Очевидно, что изменение куба в сфере не является наиболее практичным использованием LODs, но этот пример иллюстрирует, как работают LODs. Теперь вы готовы применять LODs к мешам на вашем уровне, чтобы они хорошо смотрелись, и были оптимизированы для производительности, когда они находятся дальше.

1 КОММЕНТАРИЙ

  1. Благодарю за статью! Очень помогла!

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите свой комментарий!
Пожалуйста, введите ваше имя: