Search
Write a publication
Pull to refresh

Создаём оптимизированные модели внутри Unreal Engine одним плагином

Level of difficultyEasy

Вам нравится, когда игры мало весят, а крутая графика не отнимает слишком много времени у процессора? Мне тоже :)

Процедурная генерация в играх может применяться не только для создания однотипных данжей и квестов. Пример .kkrieger показывает, что сгенерировать можно буквально весь визуал полноценной 3D(!) игры.

Не так уж плохо для 100 килобайт, да?
Не так уж плохо для 100 килобайт, да?

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


Благо, в Unreal Engine давно существует более компромиссный подход. Имя ему Instanced Static Mesh. С ISM можно хранить на диске условный ассет кирпича, смоделированный традиционными способами, из которого в теории можно построить бесконечное количество зданий. Вместе с этим мы получаем оптимизацию вызовов отрисовки, ибо после создания дубликатов, процессор может говорить видеокарте о единственном экземпляре, а со всем остальным супом она там сама разберётся.

Естественно, все инструменты UE даст, а камень не даст все удобства для их использования нужно сделать самому.

И узнать в процессе страшное магическое слово
И узнать в процессе страшное магическое слово

Идея плагина была в том, чтобы создать нечто похожее на модификатор Array в Blender. Только по умолчанию блендер никаких оптимизированных моделей не делает, и паттерн генерации дубликатов просто так из него не вытащишь. Здесь же создаются и сохраняются именно шаблоны. Все координаты генерируются на лету.

Также, для придания "естественности" и объёма можно настроить рандомизацию прямо во время моделирования.

В отличии от карт нормалей в "честной" модели ощущение объёмности не теряется под любым углом
В отличии от карт нормалей в "честной" модели ощущение объёмности не теряется под любым углом

Собственно, вот гайд, как с этой штукой работать:

И ссылка на маркетплейсе, где плагин можно приобрести и встроить в ваш движок:


Пы.Сы. Конечно, не стоит забывать, что это не панацея. И сгенерированный таким образом некстген неизбежно будет что-то кушать, а конкретно ресурсы видеокарты. И если игрок не сможет слишком близко разглядывать ваши стены, деревья, трубы или космические врата, то хуже ему от фейкового объёма, сделанного картами нормалей, не будет.

Плоские стены с нормал мапами выглядят вполне сносно, если смотреть на них под правильным углом
Плоские стены с нормал мапами выглядят вполне сносно, если смотреть на них под правильным углом

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.