Создание 3d приборов для игры
Всем, Ку!
Прежде всего хочется сказать огромное спасибо всем кто проявил интерес к прошлому выпуску. Честно говоря, это было неожиданно и крайне радостно! Спасибо за сообщения и общение, сейчас это очень ценно и придает силы)
Стартуем
Пройдя самый ранний этап этой истории, о котором я рассказывал, мы оказались на старте. Инвестор есть, договоренности в силе, работаем.
Первым делом решили создать все, что необходимо для капсулы Steam. Вникая в этот вопрос, пришли к выводу, что ролик, картинки и хорошее описание - наш вариант. Ничего в этом плане придумывать не стоит, все уже придумано.) Забегая вперед, скажу, что Steam меня поразил удобством, хотя на первый взгляд - глаза разбегались, но со временем появилось понимание принципов интерфейса и то, что это очень удобно.
Важное решение
Как я писал ранее, я не один десяток лет проработал в области компьютерной графики, решая задачи создания видео. Очевидно, что на этом этапе у нас было два пути:
Создать ролик-иллюзию не привязанный к игровому движку, используя различные производственные решения вплоть до ИИ. А уже после разбираться с тем как приблизить визуализацию к тому, что показали.
Собирать ровно столько игры, сколько позволит на этом этапе создать этот самый ролик и получить его с игрового движка.
С одной стороны первый вариант позволяет в более сжатые сроки получить капсулу и "глянцевый ролик", с другой- сама концепция имитации нам оказалась идеологически не близка. Более того, с точки зрения производства было понятно, что первый вариант это работа над роликом и только потом мы приступим к игре.
Решение было принято. Мы на этапе создания ролика уже создаем игру, разрабатывая 3д объекты и окружение.
Один из главных героев - прибор питания. В документации на первой странице крупно распечатан телефон пожарной службы.
Главный герой
Одна из фундаментальных игровых механик это работа с приборами. Настройка, создание цепей, использование и обслуживание. Фактически мы взаимодействуем с внешним миром через приборные цепи и позже получаем ответ извне, ну или сразу (смотря, что игрок решит выкинуть). Именно с разработки приборов мы стартовали.
Тех.процесс
Тестируя различные варианты в течение недели пришли вот к такому процессу:
blender - моделирование.
rizomuv - создание развертки.
3d painter - создание текстур.
Весь процесс в ускоренном варианте на примере микшера:
Позже к этому списку мы добавим plasticity, позволяющий очень быстро работать с формой.
Кстати и rizomuv и plasticity имеют "бриджи" для blender, что делает работу значительно удобнее.
На первый прибор потратили около трех дней (без учета поиска), позже вышли на прибор - день.
Оптимизация
В blender'е есть хороший инструментарий для создания библиотек объектов. После первой пары приборов стало понятно, что есть ряд элементов, которые точно будут повторяться. Болты, заклепки, элементы серий и пр. Для ускорения процесса и удобства, начали собирать небольшую библиотеку из собственных объектов.
Касательно части текстур в 3d painter'е создали шаблон для выгона текстурных карт. Опять же методами тестирования пришли к тому, что жмем в jpg все кроме нормалей (тут без вариантов).
Так же решили на раннем этапе работать с оптимизацией, и не тащить на движок мегабайты) Прямо в самом 3d painter'е можно порезать форматы того, что явно не нуждается в 2к.
Тут, конечно, можно много рассуждать на тему текстурных атласов, но поскольку финальная сборка приборов происходит на движке (ручки, переключатели и пр. отдельные классы), мы решили не зашивать целый прибор в одну текстуру, так как есть возможность пере-использования элементов, что может дать прирост производительности.
Средний размер объекта с текстурами получился от 10 до 30 Мб. в зависимости от прибора.
Заключение
Вот такой процесс нашли по созданию приборов, сейчас он немного меняется от прибора к прибору, но фундамент остается крепким)
Пишите, кому интересно, буду рад обсудить и пообщаться!
На финишной, перед роликом протестировали VR на rtx 3060ti. Было интересно посмотреть на нагрузку и оказаться в том мире, что создаем. Нагрузка показала, что вариант более, чем рабочий, а погружение- что с объемами все как надо.
Steam:








