Визуальный и технический подходы к созданию 3D-сцен с юнитами в Terminator Genisys: Future War. Часть 2

Ранее мы опубликовали первую часть статьи, посвященную визуальному подходу к созданию 3D-сцен с юнитами. В этой части вы узнаете о технической стороне процесса и о том, как направить ограниченные ресурсы мобильных устройств только на необходимые эффекты и получить наилучший результат.


Уже на начальном этапе работы следует учитывать, что объемные модели очень сильно нагружают девайс и чем больше размер объектов, которые нужно закрасить, тем хуже качество финальной картинки. Поэтому мы обрезали бэк (back), невидимый для игрока, чтобы на нем было изображено только то, что попадает в обзор камеры. Таким образом нам удалось загрузить качественные 3D-сцены, приняв во внимание ограничение по текстурам, которое накладывают пользовательские устройства.

Кроме того, мы избавились от скрытых со всех ракурсов полигонов (polygon), удалив те, что направлены в противоположную сторону от камеры.

Также нам удалось проработать поверхности, обращенные к камере, но перекрытые другими объектами. Вычислить их помог один нестандартный метод. Мы закрасили весь меш (mesh) черным цветом, а проверяемый полигон — красным, затем посчитали его экранные координаты и для каждого из выбранных положений камеры получили прямоугольник, в котором следовало искать полигон. Это значительно ускорило работу и избавило нас от необходимости проверять весь экран. Если в прямоугольнике обнаруживался красный пиксель, мы понимали, что полигон удалять нельзя, в противном случае продолжали проверять другие точки обзора камеры. Для такого метода было выбрано разрешение текстур 4K, что позволило получить наиболее точный результат.

Обрезав около 50% полигонов и уменьшив текстуру на 10–20%, мы не остановились на достигнутом и ввели дополнительный процесс. Для всех моделей переразложили и перезапекли текстурную развертку, чтобы повысить качество финальной графики и сэкономить память, благодаря чему удалось воспроизвести игру даже на слабых устройствах и ускорить открытие 3D-сцен с юнитами.

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

На этом наши маневры с камерой не закончились. Появилась идея придать стоп-кадрам еще больше сходства с кинофрагментом. Просто меняя угол обзора (field of view), не двигая саму камеру, мы получили плановое отдаление объектов: передний план практически не меняется, а задний оказывается очень далеко. В таком случае, если камера отодвигается, угол обзора уменьшается, а если приближается, то увеличивается. Это также позволило оптимизировать затраты ресурсов и не создавать дополнительный контент, рассчитанный на разные зоны наблюдения.

Еще один интересный момент, связанный с камерой, — это сочетание двух ее видов: анимированной и управляемой в ручном режиме. Так было сделано потому, что аудитория других ранее выпущенных студией Plarium Krasnodar проектов (Vikings: War of Clans, Throne: Kingdom at War) привыкла к юнитам в формате 2D. Применение автоматической плавающей камеры помогло заинтересовать игрока, дать ему визуальную подсказку, открыть перед ним настоящий 3D-мир. К тому же мы добились плавного переключения между этими режимами.

Немаловажной особенностью разработки 3D-сцен с юнитами была настройка освещения. Так как у нас только статические объекты, мы смогли применить метод запекания освещения в лайтмапы (карта освещения, lightmap). На мощных компьютерах заранее просчитывались все данные, а результаты записывались в текстуру. Такой метод хорошо работает в паре с рефлекшен-пробой (Reflection Probe), которая позволяет добавить бликов в сцену и оживить картинку. Для экономии текстурного пространства стеклянные объекты в наших сценах (кабины пилотов, очки) подкрашены цветом.

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

Описанные методы и приемы помогли нам создать действительно крутые 3D-сцены, которые по своему визуальному исполнению достигают уровня полноценной компьютерной графики. Мы всегда рады делиться опытом и можем с уверенностью говорить, что амбициозные проекты — это не сложно. Это интересно.


498 0 850 3
0
RENDER.RU