что такое hard surface моделирование
Hard-Surface моделирование и советы по материалам
Tomi Väisänen рассказывает о своих подходах к моделированию и текстурированию сложных механизмов и техники.
Перевод статьи с портала 80 level
Введение
Здравствуйте! Меня зовут Томи Вяйсянен, я 32-летний 3D-художник из Финляндии, живу в Хельсинки и в настоящее время работаю в Wargaming. За плечами семилетний опыт работы в отрасли над различными проектами – маркетинг промышленной робототехники, финская реклама, концепт-арты для различных зарубежных фильмов, работа в Ubisoft Redlynx.
Могу поспорить, что вы слышали одну и ту же историю несколько раз: ребенок играл в видеоигры и все время рисовал и т.д. Не будем останавливаться на этом. Все как у всех.
После обязательной годичной военной службы я поступил в Военную академию. А еще решил попробовать себя в художественной школе и посмотреть, пригоден ли я для гражданской жизни. В итоге я пошел в Институт дизайна Лахти и изучал мультимедийную отрасль. После трех лет обучения у меня была работа на полную ставку. Но школу дизайна я так и не закончил, так как считаю, что это бесполезно. В области 3D мало полезного образования. Я в основном самоучка в этом вопросе.
Стиль
Я всегда был очарован сложной и чрезмерно детализированной графикой. Еще в детстве я любил рисовать смехотворно детализированные изображения, что бы это ни было. Я мог легко потратить часы, просто чтобы убедиться, что я доволен мельчайшими подробностями. Это, конечно, напрямую отразилось на моем 3D-моделировании, потому что фреймворк уже готов. В связи с этим мой стиль как бы естественен. Конечно, он развивался годами, и я думаю, что в настоящее время я могу легко сосредоточиться на более важных вещах, таких как силуэты и макеты, а не просто вдаваться в детали.
Как начинается проект?
Обычно я начинаю с того, что делаю блокинг в 3ds Max, используя стандартные примитивы просто для расположения простых форм и размеров. После быстрого блокинка я могу сделать черновой оверпеинт в Photoshop на основе принтскрина. Если же я достаточно уверен для того, чтобы продолжить в 3D, оверпеинт не всегда требуется. Это очень черновой процесс.
Перед тем как нарисовать любой многоугольник или мазок я воображаю эту картинку или дизайн. Я редко начинаю делать что-то случайное, всегда стараюсь визуализировать идею в своих мыслях. Мне легче пару раз обдумать эту идею, прежде чем приступить к ней. Это может звучать странно, и, возможно, это так и сеть, но у меня есть постоянное желание знать, что я делаю, иначе я теряюсь.
Подходы к моделированию машин
Безусловно, самая большая хитрость в создании сложного механизма и машин в 3D заключается в том, чтобы понять: как переходят друг в друга формы, где детали, какая структура поддерживает что-то, где вес, какие соединения представлены и т. д. Я ни в коем случае не инженер, но я все еще хочу, чтобы иллюзия была правильной.
Хороший способ работы с hard-surface проектами – проанализировать, как собирается модель и как ее можно разобрать. Когда я делал маркетинговые видеоролики и печатные издания для компаний, производящих промышленных роботов, я довольно много узнал о том, как эти машины работают в реальной жизни.
В моделировании я более или менее перешел к CAD-моделированию на основе булевых операций. Когда вы думаете о геометрии с самого начала, это засоряет ваш мозг. В начале я делаю акцент на дизайне и, если необходимо, то позже делаю ретопологию. Что касается методов моделирования, я думаю, что в моем рабочем процессе нет ничего особенного, никаких причудливых сценариев или инструментов, просто стандартная грубая сила. Я всегда начинаю с блокинга и по ходу делаю уточнения.
Подход к материалам
Мой самый страшный секрет – я абсолютно ненавижу UV-мэппинг и запекание. Я стараюсь избегать этого любой ценой. Конечно, в случае с игровым артом это необходимо. Но когда я делаю свои персональные работы, то стараюсь “срезать углы”, избегать всего не креативного и просто сосредотачиваюсь на дизайне и искусстве. В 90%-х случаев я использую процедурное текстурирование с тайловыми текстурами и трипланарным мэппингом. У меня есть огромная библиотека самодельных процедурных гранжевых масок, различных текстур шумов, пресетов материалов. И мне всегда нравится немного экспериментировать, пробуя новые способы. Если трипланарный мэппинг вызывает некоторые ошибки в текстурировании, я просто перекрашиваю в Photoshop.
Даже если я постоянно слежу за референсами из реального мира, то все равно не так стремлюсь к достижению фотореалистичных результатов. Я просто чувствую, если результат «достаточно близок».
При рендеринге металлов следует думать о процессе «послойно». Есть нижний слой с блестящей металлической основой со всеми отметками, оставленными от производства. Далее идет слой краски со всеми повреждениями и деталями. Маскинг этого материала с помощью оклюжена создает впечатление износа. И, наконец, есть все остальное: ржавчина, вытекшее масло, грязь, собранная в углах и т.д. Большую часть времени я делаю эти слои также при помощи процедурного маскинга. Иногда необходимо выполнять работу вручную. Вертексная покраска – все еще действенный инструмент!
Правдоподобный hard-surface дизайн
Когда дело доходит до механического дизайна, мы обычно можем довольно далеко зайти, просто создавая впечатление, что что-то работает. Механизмы и хитрости могут быть совершенно безумными, но если они дают хотя бы небольшой намек на что-то реальное, легче “продать” дизайн. Например, в случае суставов персонажей у вас уже есть так называемые «жесткие пределы», и вы знаете, сколько и в каком направлении что-то можно согнуть. Эти знания влияют на дизайн и помогут достичь некоторого реализма.
Программы рендеринга
Corona стала моим любимым инструментом рендеринга пару лет назад. В то время я использовал в основном V-Ray для большинства проектов, и мне надоели все настройки и оптимизация. В то время рендеринг с помощью GPU не был популярен.
В конце концов, я обнаружил новый движок рендеринга под названием «Corona» и дал ему шанс. И, черт побери, он меня поразил. Впервые я смог увидеть, что происходит в интерактивном режиме рендеринга, когда я модифицировал свои материалы. Я просто не мог вынести метод «изменения настроек» и «тестового рендеринга». Мне так трудно отслеживать все тонкие изменения. Corona мне подходит, она легко и быстра в эксплуатации.
Сегодня существует множество различных движков рендеринга, поэтому сработает все, что вас устраивает и что легче выучить. Я застрял на Corona только потому, что я знаком с ней, и, возможно, потому, что мне лень изучать новый.
Совет для учеников
3D – обширная тема, и есть множество вещей, которые нужно изучить, и бесконечное количество ошибок, которые можно сделать. Я бы порекомендовал начинающим моделировать вещи, которые вам интересны или привлекательны. Ничто не убивает мотивацию быстрее, чем необходимость делать то, что вам не нравится. Кроме того, важно, чтобы ваши проекты сначала были небольшими, чтобы добиться небольших побед. 3D может быть довольно подавляющим, поэтому важно сосредотачиваться на определенных его аспектах.
Workflow 3D-художника. Как не утонуть в тонне информации. Часть 1
Всем привет, Хабр сообщество! Хочу сегодня рассказать Вам о workflow 3D-художников, как в это вникнуть и остаться со стабильной нервной системой. Статья нацелена на новичков в данной области, опытные акулы могут предаться ностальгии, вспомнить, как все начиналось.
В этой статье я опишу этапы создания моделей окружения. Так же в следующей части мы рассмотрим дополнительные этапы работ для художника по персонажам.
Расскажу Вам историю абстрактного персонажа Васи. Что-то в его жизни перевернулось, он решил забросить старое доброе рисование и податься в 3D. Вася, само собой, пошел смотреть, сколько же за данный труд молодым светилам платят и чего требуется. Открывает вакансию джуна, а там:
Вася закрыл вакансию и каждый вечер плакал от количества страшных слов и вопросов в его голове.
Дабы уменьшить количество сломанных судеб, я берусь все разъяснить.
И первое, что хотелось бы отметить – никогда не соглашайтесь работать за еду. Не нужно понижать стоимость работы коллег по цеху, но также не нужно, сделав одну работу, просить миллионы. Когда чувствуете, что уровень ваших работ достаточен, чтобы получать за это деньги читай: мама говорит, что хорошо, желательно найти опытного человека и спросить, что он думает. И только когда он скажет, что все более-менее, тогда и нужно выходить на охоту.
Но пока мы разберёмся с чего начинать.
Нужно понимать, что список требуемых работодателями программ довольно усредненный, при большом желании можно вообще все в одной сделать и получить ачивку «Этот парень смог, с ним шутки плохи». Но все же удобнее использовать специализированные программы, потому я буду указывать некоторые из них, подходящие определенному этапу работы.
И так, приступим.
Краткий план статьи:
Концепт
Первое, что должно быть у вас в голове – это концепт. Вы должны точно знать, что хотите получить в конце, считаю, что творческий полет себе может позволить только опытный человек (немного отходить от концепта позволительно).
Тут есть несколько вариантов: вы можете нарисовать концепт самостоятельно, дабы видеть, что в итоге получится, а можете воспользоваться готовым модельным листом, коих в интернете куча (только не забудьте получить разрешение автора, либо делайте для себя, никуда не публикуйте).
В основном модельный лист – это концепт персонажей (как людей, так и животных), но я встречала даже модельный лист камня (внезапно). Выглядит он почти всегда так:
Модельный лист персонажа
Тут нужно быть внимательным, существует их 2 вида: для аниматоров и для 3D-шников. Нам нужен тот лист, где фигура находится строго в A или T – pose или же так, как изображено в примере, есть несколько сторон (зад, перед, бок) и каждая из сторон совпадает с другой по линиям как на картинке ниже:
Его Величество Моделирование
И примерно с этого этапа начинаются расхождения. У каждого художника свой подход к работе и зависит от вида моделирования, конечной цели.
Так как чаще всего в суровом игровом производстве используется полигональное моделирование, будем рассматривать его. Существует low-/mid- и high–poly модели.
Слева направо: low-poly, mid-poly, high-poly
Разница, думаю, понятна – кол-во полигонов и уровень детализации. Теперь, когда мы понимаем, какую нам предстоит модель сделать и с каким полигонажем работать, решаем, к какому типу она относится – hard surface или organic?
Пример Hard surface:
Исходя из этого выбираем подход, потому как для hard surface удобнее использовать Subdivision modeling, а для органики – скульптинг. Но, как и в любом правиле, тут тоже есть исключения: в ZBrush можно изучить инструмент ZModeler и делать Subdiv или наоборот делать органические модели без использования скульптинга (последнее мне кажется нецелесообразным).
Что такое subdivision modeling?
Subdivision modeling являет собой метод представления гладкой поверхности посредством сглаживания более грубой полигональной сетки.
Фактически, вы строите сетку под сглаживание, а потом применяете модификатор Turbosmooth, который разбивает один полигон на четыре, переходит от примитива к гладкой и сложной форме. Вот как это выглядит:
Поэтапное сглаживание грубой формы
Что такое скульптинг?
Все знают, как работает скульптор. Здесь принцип тот же, только работать нужно в цифровой среде.
И если сравнивать скульптинг и Subdiv, то основное преимущество в том, что с его помощью создаются высокодетализированные объекты состоящие из миллионов полигонов, благодаря чему достигается фотореалистичное качество модели, и основная область его применения – это, конечно, создание органических моделей имеющих сложную форму и фактуру, копирование реальных, создание фантастических или сказочных персонажей, животных, растений, ландшафтов и даже мебели.
Создать такую детализацию с помощью Subdiv очень сложно, практически невозможно
Этапы для скульптинга и subdiv отличаются:
Retopology
Самый сложный этап для новичка – это ретопология. Это целая наука, которая имеет свои правила для анимации, кино, игр.
Сперва на текущем этапе было бы неплохо упорядочить части модели, возможно, некоторые слить, а другие оставить. Для игровой ретопологии обычно сливают подобные элементы по принципу «все, что можно отделить – отдельно».
Рассмотрим более наглядный пример:
Персонаж, разделенный на субтулы (выделены цветом)
Все, что обозначено одним цветом – один сабтул.
Существует несколько правил, которые следует соблюдать при создании ретопологии:
Если модель изначально имела Low-Poly версию, то вся ретопология состоит в том, чтобы найти способ из существующей сетки сделать сетку с еще меньшим кол-вом полигонов. Возможно, стоит удалить те части, которые не видно, к примеру, тело под одеждой.
Данную операцию можно выполнить как в софте, в котором вы моделировали, так и в специализированных программах, таких, как Topogun 2.
UV mapping
UV делают для того, чтобы текстура ложилась правильно, а не вот так:
Вот так выглядит растянутая текстура
«UVW развёртка» или просто «развёртка» – такое название приобрела эта операция путём обычного перевода с английского Unwrap UVW.
Требования к качественной развертке:
«Запечь» означает перенести некоторые характеристики материала или сетки модели на изображение карты. Тот же принцип использует художник, когда на плоском листе бумаги изображает объем, цвет и свет.
После того, как развертка сделана, мы можем посмотреть на результаты наших трудов:
Слева изображена развертка представленной модели
Зелёные полосы на модели человека – это те самые швы, по которым её разворачивают.
Сейчас каждая уважающая себя программа имеет возможность проделать такую операцию, есть так же специализированные, такие как UVlayout, RizomUV. Я всегда использовала возможности 3ds max, вполне хватало.
Прежде чем переходить к запеканию текстур, было бы неплохо сделать следующие действия:
1. Триангуляцию низкополигональной модели, то есть разбить многоугольники на треугольники, так как при неправильном автоматическом разбиении могут появится проблемы с нормалями (направлениями полигонов), что приведет к ненужным артефактам. Но я этого не делаю, потому что современные алгоритмы на мой взгляд хорошо с этим справляются и, если случаются подобные проблемы, я возвращаюсь с этому шагу и исправляю;
2.Создать Cage. Cage, простыми словами, – это версия низкополигональной модели, подогнанная таким образом, чтобы полностью перекрывать высокополигональную. При её построении у моделей должны быть одинаковые координаты;
Синяя решетка вокруг модели – cage, то пространство, которое будет захватывать детали из высокополигональной модели
3. Назначить каждой части модели (в ZBrush — сабтулы) свой материал, чтобы при импорте в Substance Painter они были так же разделены, а не слились воедино.
Переходим к текстурированию.
Текстурирование и запекание текстур
Запечь нужные текстуры Вы можете в той же программе, в которой моделировали, я же использую для этих целей Substance Painter – наглядно, удобно, чего еще нужно.
Запекание происходит автоматически, все, что Вам нужно – импортировать в программу Low-poly модель с разверткой (обязательно!), после выбрать соответствующую опцию, загрузить высокополигональную модель, выбрать разрешение карт, загрузить Cage или же выбрать отступы от модели и нажать кнопку Bike All Texture sets.
Самая распространенная технология текстурирования в играх PBR — Physically-Based Rendering, позволяет создать фотореалистичные текстуры с помощью набора карт.
Часто используемые карты:
Слева квадрат без карт нормалей, справа карта нормалей присутствует
В Substance Painter очень широкий функционал, который делает текстурирование гораздо легче: можно рисовать сразу по модели, использовать разнообразные альфы, готовые hard surface штампы, процедурные карты, фильтры, маски – в общем, полное раздолье для фантазии.
После Вы получите карты, которые можно экспортировать и отправлять сразу в любой игровой движок, здесь есть много шаблонов: под Unity 4/5, Unreal Engine, Dota 2, V-ray, Corona и тд.
Собственно на этом и заканчивается работа по окружению, последующие этапы, которые будут описаны в следующей статье, используются в основном при создании персонажей.
Благодарю за прочтение, may the force be with you!
Особенности hard-surface моделирования
Александр Галевский, преподаватель курса 3D-скульптинга в ZBrush. Art lead в компании IGG. До этого 3 года проработал в Wargaming.
Расскажите о себе. Как давно в индустрии? С чего начинали?
Свой путь в 3D я начал с рекламы для самолетов. Это было, если я не ошибаюсь, в 2009 году. Я учился в ХАИ и там же нашел заказ. В то время я уже работал для себя в 3Ds Max, а тут меня попросили сделать что-то интересное. Людям нужна была реклама самолетов для печати в журнале. C этого все началось.
Спустя пару лет, я переключился на архитектурную визуализацию. Это была студия Cube — первая большая компания в Харькове. Она занималась, собственно говоря, архитектурой. Там я проработал 2 года, а потом перешел в гейм индустрию. В компанию, которая занималась hidden object.
Там спектр обязанностей был намного шире. Это были все ассеты, с нуля и до конца. Мне давали скетч и я выстраивал по нему геометрию, low poly, high poly, текстуры, рендер. В этой компании я проработал около 2 лет и научился большому количеству инструментов для визуализации. Потом меня позвали в Wargaming в Минск.
С этого начинается мой более профессиональный путь. Пришел я туда на должность middle artist, а когда через три года увольнялся, был уже senior artist. Там я делал танки. Мне давали чертеж и я строил геометрию, опять же, low poly, high poly, запекание, текстуринг. Полный цикл до интеграции непосредственно в движок.
В Wargaming школа текстурирования на очень высоком уровне. Из всех компаний с которыми я сотрудничал, там самые высокие требования к текстурам. Очень много проверок. В том числе, проверки на историческую достоверность и качество текстур — не дай бог днище танка будет не так затекстурированно.
И насколько это возможно?
Скажем так, с ограничениями. Я и еще пара ребят — тоже серьезных 3d-шников — мы добились определенных результатов в этом плане. Я скажу, что по качеству танков и карт наша игра не уступает World of Tanks Blitz.
В каких проектах еще принимали участие?
Расскажите о своем пайплайне.
Я думаю, мой порядок действий вряд ли отличается от стандартного в мире. Если мы говорим про скетчинг или концептинг, где нет чертежа, сначала я делаю blockout. Быстрое построение модели самыми простыми формами. Просто, чтобы понимать как она выглядит в 3d. Потом я дорабатываю модель так, чтобы она смотрелась привлекательно, чтоб был какой-то силуэт и расположение основных элементов.
После этого я начинаю делать high poly модель. Болванку в 3Ds Max, а доведение, если мы говорим про технику: всякие фактуры, сколы, сварочные швы, штамповка — любые несовершенства поверхности, — это все в ZBrush.
После того как high poly модель готова, на ее базе я начинаю делать low poly. Тут все зависит от требований конкретной игры или компании. В каждой компании свои требования по полигонажу танков или другой техники. В зависимости от этого я выстраиваю свою модель.
Затем я приступаю к запеканию. Это перенос деталей high poly модели на low poly. Запекание я делаю в Maya. Так исторически сложилось, что сейчас мне очень нравится как она работает с нормалями. Она прощает больше всего ошибок, скажем так.
После запекания, когда я получил карту нормалей и ambient occlusion, я приступаю к текстурингу. Текстурирование я делаю в Substance Painter. На данный момент это самый лучший софт, который позволяет делать практически все, что нужно в плане текстур.
На выходе мы получаем low poly модель и набор текстур. Ну а дальше — это зависит от того, для чего делалась модель. Чаще всего, это интеграция в движок. Если я делаю что-то для себя, то загоняю это в Marmoset или в том же Substance Painter пытаюсь красиво отрендерить, выставляю свет, настраиваю материалы, шейдера. Ну и потом постобработка в Photoshop.
Это общий пайплайн для всего. Но, в зависимости от того, для каких целей нужна модель, в каких-то моментах он будет отличаться.
Например, для танков в игре World of Tanks сначала делается low poly, а затем high poly. Потому что Wargaming важно, чтобы все углы брони, все расстояния — все соответствовало историческим данным. Чтобы было один в один, с допуском в пару миллиметров. Это такой нюанс. У каждой компании есть свои нюансы.
Если мы говорим про окружение, сейчас есть очень много методик, как делать без high poly в принципе. Буквально все environment объекты (заборы, ящики, какую-то технику, балки, коридоры) можно делать с помощью одной текстуры, без запекания и high poly. Все это тоже свой отдельный pipeline.
Поэтому, повторюсь, все зависит от конкретных требований куда мы это делаем.
Какие еще есть особенности, на которые следует обратить внимание при моделировании?
Если мы предполагаем, что high poly модель будет запекаться, мы учитываем это и некоторые элементы строим по-другому. Если какая-то гайка или болт будут перенесены на карту нормалей, их процесс построения немного меняется. Они, например, сужаются к верху, чтобы получить хороший результат на карте нормалей.
Если мы говорим об UV развертке, нужно понимать, в каких местах ее разрезать, чтобы карта нормалей потом корректно запеклась и не было никаких артефактов.
В двух словах — прежде чем браться за модель, нужно четко понимать, зачем это делается. Если хочется просто сделать хорошую high poly модель, выложить ее на ArtStation и получить лайки, то можно на очень много вещей не обращать внимание. Можно забить на топологию, забить на некоторые углы.
Когда модель делается для себя, можно не обращать внимание на полигонаж. Если ты просто хочешь, чтобы модель смотрелась хорошо, ты можешь позволить себе добавить полигонов в каких-то местах и сделать там красивые круглые детали. Тебе за это ничего не будет. Зато модель будет выглядеть хорошо.
Когда же у тебя есть четкие требования вложиться в 40-50 тысяч полигонов, тут уже себе этого позволить нельзя. Нужно подходить к этому вопросу очень серьезно, потому что постоянно стоит выбор куда потратить полигоны: на закругление какой-то детали, или лучше где-то добавить еще деталь, которую предполагали запечь, чтобы силуэт был красивее. Все эти нюансы зависят от того, куда эта модель готовится.
Помогает ли в моделировании техники инженерное образование и можно ли без него?
Я по образованию конструктор самолетов и вертолетов. Инженерное образование помогает мне очень сильно. Особенно, когда мы говорим про какие-то концепты, то есть про что-то не существующее. Я уже насмотрелся на эти узлы и на то, как детали друг с другом стыкуются. После этого правильно выстраивать модель, безусловно, намного проще.
Честно говоря, когда открываешь работы концептеров, даже хороших, которые делают крутые вещи, можно очень сильно критиковать, в плане, как это может работать. Точнее, не может работать. Особенно летательные аппараты.
Безусловно, нужно иметь понимание. Если образования нет, помогает куча референсов. Я бы вообще рекомендовал первым делом собирать огромную доску референсов. Вплоть до узлов. Я бы даже сказал, что узлы — это самое важное. Общую форму можно выставить какую угодно, но конкретно как все друг с другом работает — это детали, на которые обращают внимание.
В мире есть очень много фотографий, которые можно смело использовать. Так что образование — это очень хорошо, оно помогает. Но если его нет, есть референсы.
Почему вы захотели преподавать?
Если очень просто сказать — я попробовал, мне понравилось. Был положительный фидбек от учеников. Вообще, в целом, это связано с обучением. На магистратуре у меня было много предметов связанных с тем, чтобы потом начать преподавать. Это была такая особенность магистратуры.
Сейчас уже их судеб не знаю, но в первое время после занятий все чего-то начали добиваться, чего-то хотеть. Мне нравится делиться знаниями, а если это получается и есть отличный фидбек, то почему бы и нет. Больше всего мне нравится очное обучение. Когда ты приходишь и общаешься в живую — это лучше всего.
Совет начинающим
Может быть мой совет послужит демотиватором, но, чтобы добиться каких-то вещей, чтобы делать крутые работы, нужно вложить в это очень много времени. Нужно пройти очень много неудачных работ. Что-то не так запекается, как-то странно себя ведет, не получаются текстуры. Нужно быть готовым к тому, что сразу все не получится и это своего рода работа. То, что кажется очень легким, легко только потому, что на это было потрачено очень много времени, усилий и бессонных ночей.
Я советую понимать это и не сдаваться при первых трудностях. Это тяжело, но очень интересно.
Повысьте свой уровень на продвинутом курсе 3D-скульптинга в ZBrush, чтобы ваши модели соответствовали высоким стандартам гейм индустрии. Онлайн занятия стартуют 30.11.19. Преподаватель: Александр Галевский.