Создание карты глазами 3D моделера.
Привет, Гамин, я Алексей Архипов – 3D моделер в компании Kraken Games, и я расскажу вам о том, как делаются карты для Warside глазами 3D моделера.
Сразу скажу, процесс этот не особо тривиальный и достаточно многогранный, но обо всем по порядку.
Представим себе, что геймдизайнер уже поломал голову над схемой уровня, продумал геймплей, утвердил его с командой Warside, а художник Максим, или как мы его зовем, “Макс-2D” (специфическая шутка 3дешников) нарисовал концепты.
В этот момент встает один человек и дикторским голосом обозначает: “карта пошла на моделинг!”, а ребята начинают беспокойно перешептываться “ну началось…” Из соседней комнаты тяжелыми шагами доблестного рыцаря, весь переливающийся в солнечных лучах бликующими стразами входит он, – 3D Моделер. Шутка :)
На самом деле все немного иначе: Все ликуют и радуются еще на этапе, когда Макс нарисует концепты. Порадуются и с чувством выполненного долга разбредаются по своим рабочим местам. А что спрашивается делать с этими красивыми картинками дальше?
И тут, весь переливаясь в лучах…, ну ладно… просто в дело скромно вступает моделер. Впереди его ждут несколько недель, а то и месяцев упрорной работы, и точнее не его одного, а “их”!
Да, нас трое! Я в офисе и еще двое на аутсорсе. Каждый отвечает за отдельные задачи во время строительства карты.
Итак, кто за что отвечает:
- 3D моделер-текстурщик Алексей Егоров занимается пропсами (всякого рода объектами на карте – терминалы, техника, мебель и другое) и специфическими текстурами для карт.
-3D моделер Дмитрий Безрукин – на все руки мастер J Он создает первоначальную основу всего уровня, а также выполняет финальный, наиболее сложный в технологическом плане этап “запекания” карты, о котором я позже расскажу поподробнее.
Чем же, спросите вы, занимаюсь я? Да всем, что перечислено выше, а также освещением и текстурированием основы уровня.
Создание карты проходит следующим образом:
1) Физика карты – основа, по которой происходит передвижения по карте. Ее делает Дмитрий по схеме геймдизайнера. На этом же этапе происходит окончательная корректировка физики.
2) Этап “набора массы”. Поднимаются общие мажорные объемы карты, выстраиваются пропорции. Казалось бы, что сложного сделать объемы большими полигонами, однако тут возникает больше всего вопросов, касательно дизайна карты, и некоторые элементы, заложенные геймдизайнером и художником, могут подвергнуться переработке. Отчасти для этого и требуется этот этап, но не только. Важным моментом является правильная структура сетки меша. От этого зависит эффективность моделинга и текстурирования карты на дальнейших этапах. Этим в основном занимается Дмитрий.
3) Этап “Детали”. На этом этапе происходит детализация мешей карты, а также наполнение карты пропсами, которые делает для карты Алексей. По завершении работ над моделингом все выглядит очень круто – серое и невзрачное как сделанное из бетона, но все равно круто! :)
4) Этап “Четыре”. Все моделеры садятся на стулья спиной к спине, топают ногами, и гудят что-то вроде “только бы не я, – карта не моя!”. Ведущий достает большой меч-каратель из поролона и со всей дури стукает рандомного-гудящего! от чего он со словами «почему я?!» срочно становится текстурщиком карты!
Если серьезно, на этом этапе делаются развертки полигонов, для правильного проецирования текстур и рисование самих текстур. Стараемся, чтоб к этому моменту все вопросы с моделингом карты были решены, потому иначе это бы означало повторное текстурирование переделанных участков модели.
5) Наступает, очень важный момент «Предфинальная оценка новой карты», карта замоделена и затекстурена! Ее мы экспортируем в движок для тестирования.
Наступает момент волнительного ожидания, – все шушукаются и что-то обсуждают, отдельные восклики доносятся из толпы: «все не так как мы хотели! Макс нарисовал по-другому! Я думал, что будут музы с миниганами! Да нет, Макс тоже не так нарисовал! ЭТО КТО ЭТО НЕ ТАК НАРИСОВАЛ!? – начинается хаос.
Мир, создаваемый столько времени начинает рушиться, и на глазах разбирается на запчасти до фундамента! В этот момент хочется взять поролоновый меч и покарать всех!
Но вскоре наступает момент здравого мышления, переоценка случившегося (а случается всегда, ибо у нас индии-студия, где у каждого есть свое мнение). Странно, что мы до сих пор не поубивали друг друга.
Мнения сортируются, редактируются и приходят к общему консенсусу и составляют ряд правок по карте. Эти правки считаются финальными, после которых карта переходит в следующий этап.
6) Освещение, – с виду простой и быстрый этап, – поставить лампочки: где темно или где нужно что-то специально осветить, однако, все не так просто. В первую очередь важно помнить, что свет моделирует пространство и если этого не учитывать, то можно все откровенно испортить.
Так как игровые движки диктуют свои правила и устанавливают рамки, то мои возможности также частично ограничены. Но! Касательно освещения статичного окружения (чем и является в общей массе своей карта) мои руки развязаны! Все дело в том, что у нас реализована возможность проектирования освещения в графическом редакторе, поэтому мы можем использовать в освещение, так называемое GI(Global Illumination), – вторичный отскок света. Но об этом чуть позже.
Сейчас об освещении: кроме того, что свет моделирует пространство, он также является средством выразительности. Им можно выстраивать различные состояния для местности – атмосферы, напряжения, спокойствия , активности, пассивности, угнетения и позитива. Собственно в этом и заключается работа, – балансировать между различными параметрами света (цвет, интенсивность, резкость, длина затухания), для формирования гармоничного пространства. Базовое настроение освещение – задает концепт-художник Макс, я в свою очередь стараюсь как можно ближе повторить это настроение, и решить ряд возникающих композиционных задач.
Вот так это выглядит рендер карты со светом:
7) “Запекание”. Освещение настроено, и теперь его нужно перенести в движок. Конечно, можно было бы экспортировать светильники с редактора в движок, однако мы тогда потеряем ряд характеристик света и вторичный отскок света GI – это не наш путь! Мы хотим перенести физически достоверное освещение в движок. Единственный на сегодня доступный способ, это «запечь» свет в текстуру.
Слово «пекарь» отныне у нас в фирме имеет другое значение J Как же происходит этот процесс? Очень просто! Сцена модели карты, адаптируется специальным образом под отдельные группы света и считается в текстуры (называют lightmap или просто лайтмапа). При этом у нас не одна лайтмапа, а две. Не свет и тень, как это обычно бывает, а прямой свет (Direct Illumination) и вторичный отскок (Global Illumination) на каждую группу мешей. Этими процессами занимается Дмитрий и периодически я. Больше всего мы любим нажимать кнопку «печь все!» и наслаждаться тем, как доступные у нас 4 машины трудятся примерно сутки.
Взял пример с другой карты, потому как для этой еще запекание не производилось (первичное и вторичное освещение соответственно):
8) И это еще не все! Необходимо прописать материалы с лайтмапами, отбаговать возникшие ошибки, настроить свет в движке, работающий на динамические объекты и добавить атмосферные эффекты. Параллельно с этим, ставятся отмоделенные и уже заанимированные специальные интерактивные или динамические объекты с анимацией.
На этом наша работа над картой заканчивается, и мы можем переходить к следующей, а эстафету принимает геймдизайнер, – ему еще предстоит настроить спавнеры и отбалансировать ботов, прежде чем карту смогут увидеть игроки тестеры.
Если вам понравилась статья о создании карты в Warside, вы можете поддержать проект на Steam Greenlight, мы находимся на стадии сбора голосов.
Терпения Вам, да прибудет с вами Йода!
- 05 мая 2014, 14:36
- 015
весело там у вас)
Ни дня без драмы, на самом деле =)
например: раз в год паролоновый меч становится настоящим?)
Тут как повезет :D
Спасибо, очень интересно) Удачи с проектом.
Спасибо!
Спасибо, любопытно заглянуть на кухню, а так же пост ответил на вопрос, в чём тут заключается 2D. Это таки 3D, но с частично запечённым светом. И подход этот мне нравится, ибо экономит ресурсы, улучшая внешность. И вообще работа с атмосферой даже для стрелялки — эт хорошо.
Да, я ответил на Ваш комментарий по поводу того, что 2,5 имеется в виду в геймплейном плане в предыдущем посте, правда не сразу.
Спасибо, постараемся в будущем еще что-нибудь интересное в рабочем процессе осветить =)
Пост навёл меня на мысль, что интересным может оказаться материал, освещающий пересечение специальностей и сфер работы, когда специалист начинает переходить в смежную со своей область и с какими трудностями и любопытностями он сталкивается. В частности это важно для решения той самой проблемы «то как получилось — совсем не то, как задумано» и идей по реализации либо так, как задумано, либо иначе, но по аналогии, эквивалентно. Часто наблюдал, как игры или фильмы теряют атмосферу или геймплей при переходе от концептов к практической реализации и сие печально. Или задуманный геймплей оказывается скучным/нереализуемым/непробалансированным.
Я предложу коллегам подумать о статье на подобную тему.
Ну это одно моё мнение. Собирайте ещё :)
Просто навожу на мысль, что здесь многие без команд работают, самоделкины, и интересным оказаться может и взаимодействие специальностей и всякие специфичные тонкости.
Я вот хоть не программист, но, помнится, с удовольствием прочёл о том, как разрабатывался продвинутый алгоритм динамического поиска пути, интересовала сама логика.
У нас геймдиз как раз поведением ботов в PvE сейчас занимается. Возможно, смогу его раскрутить на подробный рассказ =)
Хм, вопросы AI вообще интересная вещь. Особенно отладка по-моему, потому что вроде бы понятный и логичный алгоритм в цикле даёт порой неадекватное поведение. Мне-то ещё далеко до этого, как до Луны ползком, но наверняка тут найдутся спецы, которые этим уже занимаются.
Геймдиз вроде согласился, так что как только статья будет написана, выложим сразу =)
А почему "делали"? Бросили?
Сделали, полагаю :)
Такой вариант даже в голову мне не пришел.
Делали-делали и доделали). Карта уже запечена и находится на финальной стадии шлифовки. Также как и представленная в статье зимняя ПВЕ карта.
А я бы хотел узнать больше о вашем инструментарии, об используемых плагинах и т.д.
теперь я хочу паралоновый меч)). чуть шаг в сторону от диздока, сразу сикир башка
Честно говоря, проект у вас интересный, очень познавательно было узнать как у вас там все происходит на самом деле.
А можете вы рассказать о том кто делает у вас анимацию? Просто лично мне, после того как я поиграл в вашу игру, захотелось именно аниматору надавать по голове, и вот только поролонового меча под рукой нет. Меня только модельки персонажей и их топорная анимация смутила в вашем проекте. Желаю удачи в дальнейшем развитии проекта!