Моделирование жука / Хабрахабр. Как то я слушал подкаст, в котором вскользь говорилось о написании шейдера для жука (2. Я посмотрел этого персонажа и мне захотелось написать свой шейдер, но имитирующий более реальную поверхность хитина, о нем я расскажу в следующей статье. Однако возникла проблема — у меня не было подходящей модели жука. Сначала я поискал модели в интернете, но у бесплатных не устраивало качество, а у платных была слишком высокая цена (~5. В общем я решил сделать своего жука, поэтому опишу тот пайплайн, который я составил для себя. Поиск референсов. Моделирование high poly модели. Ретопология в low poly. Создание текстурных координат (развертка)Запекание нормалей. Low - poly (от английского low — низко и polygon — полигон) 3d models . Моделирование high poly модели Ретопология в low poly AO просчитывал в Maya рендер-движком Mental Ray (в 3D Max с ним были какие. Рейтинг 3D модели : (голосов: 355). Набор lowpoly 3d моделей автомобилей . Краткое описание: Набор lowpoly 3d моделей Запекание ambient occlusion. Добавление карты смещений для определения цвета в шейдере (об этом позже). Разумеется пайплайны могут быть разными, например, в этом могли бы присутствовать такие пункты, как «создание концепта» или «риггинг персонажа». Их нет, потому что в роли концепта у меня были рефы реальных жуков и модель не планировалась быть анимированной. В более серьезных моделях так же бывает промежуточная ретопология high poly моделей. Для разных задач в разных компаниях используется свой пайплайн. Референсы. Из всех жуков мне больше всего понравилась своим окрасом хризолина, а точнее подвид chrysolina herbacea. Этот жук имеет красивую, яркую радужную окраску, посмотрите сами: Поэтому я нагуглил как можно больше картинок и слил их все в одну. Так же для лучшего понимания строения могут пригодиться модели других жуков. В итоге получилась такая картинка, которая маячила на втором мониторе почти все время создания жука (кликабельно): Моделирование high poly модели. В основном скульптинг я производил в ZBrush, начал с панцирей, каждый объект вылепливал из сферы: В процессе скульптинга можно столкнуться с одной проблемой — вдавливая участок на поверхности — она выдавливается с другой стороны, что иногда бывает неудобно или вообще не нужно, чтобы этого не происходило нужно включить опцию Backface. Mask в подменю Auto Masking меню Brush. Так же может быть полезна опция Lazy Mouse в меню Stroke — если ее включить, трекинг кисти будет усредняться, что позволит избежать ненужного дрожания и проводить более сглаженные линии. Параметр Lazy. Radius меняет степень сглаживания. В ZBrush есть одна классная опция, которая помогает избежать некоторых проблем с сеткой — Dyna. Mesh. По сути она перестраивает измененный участок сетки, адаптируя ее под геометрию. Некоторые недолюбливают ее, из- за того что после применения этого модификатора, сетка получается некрасивой, иногда она слегка ломает геометрию, но для моих нужд она мне подошла весьма кстати. Альтернативный вариант этой опции — постепенно повышать сабдивы модели и изредка производить ретопологию. Backface. Mask, Lazy Mouse и Dyna. Mesh. Постепенно добавлялись новые части и повышалась детализация: Отдельно стоит рассказать про глаза. У жуков фасеточные глаза, они состоят из множества полусфер, можно заметить, что располагаются они как бы по гексагональной сетке: Мне показалось, что проще всего их будет смоделить в 3. D Max, делал их я примерно так: сначала нужно создать Geo. Sphere, задать нужное количество сегментов и конвертировать в редактируемую полигональную сетку: далее выделяем все ребра и нажимаем на кнопку Chamfer, а точнее на кнопку рядом с ней — откроются поля с настройками. Подбираем параметры, чтобы получилось примерно как на скриншоте ниже: теперь выделяем все вершины и выбираем Weld, настраиваем так, чтобы все вершины в узловых точках слились в одну: выделяем все полигоны и применяем Bevel, выдавить их нужно примерно на высоту равную размеру ячейки, и чуть- чуть расширить: один раз нажимаем на кнопку Tesselate, чтобы добавить полигонов: и наконец, применяем модификатор Turbo. Smooth, мне хватило двух итераций, чтобы получить более- менее сглаженный вариант: На самом сетка получилась не совсем гексагональной, есть сегменты, состоящие не из шести, а из пяти ребер. Это обусловлено спецификой построения данного вида сферы. Но для жука сойдет. Ретопология в low poly. Несмотря на то, что в ZBrush есть свои инструменты для ретопологии, ее я проводил в Topo. Gun, так как по мне там ее проводить удобнее на порядок. Там есть очень удобный инструмент для сглаживания — можно сделать довольно крупную сетку, потом применить его. Эта сетка разобьется на заданное количество сабдивов, причем новые вершины будут располагаться на высокополигональной модели: Опять же отдельно глаза — так как это по сути сферы, то в качестве лоу поли сетки я взял обыкновенные сферы и обрезал у них невидимую часть. В результате ретопологии получилась модель в 6. Это, конечно, не совсем лоу поли, но для сцены состоящей только из одного объекта нормально. На этой странице вы можете посмотреть и скачать бесплатно онлайн 3д модель Low - Poly Darth Vader, которая находится в категории Игрушки для 3d принтера в nergal Металлический вертолет; Машина поддержки пехоты.
Создание текстурных координат. Развертку я делал в UVLayout — довольно удобная программа, основанная на хоткеях, работает быстро и наглядно, особенно нравится то, как она показывает цветом растяжение/сжатие полигонов. Нарезая модель следует делать как можно меньше швов, но в тоже время стараться слишком не растягивать полигоны. Так как у меня не будет диффузной текстуры, швы могут проявиться только в рельефе (при нормал маппинге), на карте смещений и окклюжена они будут не заметны. Меня больше заботило отсутствие перекосов полигонов, поэтому швов получилось довольно много. Когда для всех моделей была готова развертка, я импортировал их в 3. D Max, чтобы отрегулировать относительный размер развертки. Это довольно важный шаг, так как позволяет повысить детализацию особо важных участков без увеличения текстуры. Так, например, развертку пуза жука я намеренно уменьшил, а головы — наоборот увеличил. В конечном итоге я воспользовался стандартным упаковщиком модификатора Unwrap UVW, и получил вот такую развертку всей модели: Упаковщик упаковывает не очень оптимально, к тому же я оставил довольно большой паддинг, чтобы соседние сегменты не мешали друг другу на маленьких мипах. Запекание нормалей. Карту нормалей составлял в x. Normal — довольно своеобразная программа с «интересным» интерфейсом. Оффтопик, вообще, если честно удивляет то, что все программы связанные с графикой имеют свой неповторимый интерфейс, разобраться в котором порой сложно даже с инструкцией, которую еще попробуй найди. Хотя если какое то время попользоваться ею, то привыкаешь и кажется даже удобно. Но это лишь мое мнение. Так как модель состоит из нескольких частей — запекать пришлось каждую отдельно, если попробовать просчитать их все разом — могут возникнуть артефакты. Размер текстуры выбрал 4. Запекание ambient occlusion. AO просчитывал в Maya рендер- движком Mental Ray (в 3. D Max с ним были какие то проблемы, а x. Normal с полным списком моделей немного косячил, считал довольно долго и сам по себе имеет мало настроек): Добавление карты смещений. Если присмотреться, то заметно, что у настоящего жука есть места, которые отличаются цветом, нечто вроде пятен на голове и панцире: Чтобы обозначить эти места, я вручную нарисовал в Mud. Box на отдельном слое черно- белые пятна. В последствии их я буду использовать в шейдере, чтобы смещать одну из составляющих цвета: В итоге получилось три карты, все их можно упаковать в одну текстуру следующим образом: Красный и зеленый каналы — карта нормалей. Синий канал — ambient occlusion. Альфа канал — карта смещений. Итоговая карта стала выглядеть так: В следующей статье я расскажу как применить эту карту к модели. Кстати, вот предыдущая. Моделька получилась довольно корявенькая, сетка не очень красивая, но с другой стороны я не моделлер и не художник, я только учусь, следующие модели надеюсь будут лучше. Надеюсь услышать критику в комментариях от настоящих моделлеров. Но в общем суть статьи не в том, чтобы показать как надо моделить, а какие существуют для этого инструменты, как мог бы выглядеть процесс сосздания статичной модели и подготовить для использования в игровом движке, думаю программисту в геймдеве это полезно знать.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |