![](https://habrastorage.org/files/e08/6a3/74d/e086a374da9c4412a6e25207b87b302d.jpg)
Недавно закончил серию девушек. Не слишком страшных решил сохранить, c одной опишу этапы. На мой взгляд, получился косплей на Pin Up. Для рендера бюста использовал KeyShot. Финал рендерил в Marmoset(программа для реал тайм ингейм привью). Все текстуры готовил под PBR шейдер.
По ссылке можно подробно почитать описание PBR-рендера и его тонкости.
![](https://habrastorage.org/files/0be/7f3/74d/0be7f374d45e4d5ea312ae9dc0b3840b.jpg)
![](https://habrastorage.org/files/40b/e34/230/40be34230aa549e2bb357b03471d76a5.jpg)
Мне было интересно работать с волосами. Так как у меня это бывает не часто, я попробовал несколько способов. Опишу понравившийся.
В начале делается набросок формы в Zbrush c объемами, которые указывают направление локонов, но перед этим необходимо подготовить несколько плоскостей-локонов с разверткой и текстурой. После чего остается только скопировать локоны и изогнуть под форму болванки. В modo присутствует инструмент Linear, им не трудно изгибать поверхности (Edit > Falloff>Linear ):
![](https://habrastorage.org/files/80f/a0d/6ec/80fa0d6ec1584708a65a842610ae0ffe.gif)
Подготовленные локоны, которые я использовал:
![](https://habrastorage.org/files/e59/f23/e86/e59f23e86b2e444e91abf387c146945b.gif)
Одежда
Одежду настраивал в MarvelousDesigner. К слову, о нем. Очень легко получить ощущение от складок, которые больше напоминают брезент или толстый полиэтилен. Мне кажется, это относится к большинству моделей, сделанных в этой программе.
![](https://habrastorage.org/files/556/de3/652/556de36521ab417187e67752506db530.gif)
Для хайреза модель из marvelous не подходит, поэтому сделал ре-топологию в zbrush, через zremesher и накинул пару сабдивов.
![](https://habrastorage.org/files/6a5/c04/091/6a5c040913974c629dbd28f556ff4a45.gif)
Заметка
К слову, о хайполи. Немаловажно удалять с хайреза в zbrush все лишнее, например, uv, SDiv,Morph Target, так как это может значительно увеличить время запекания. При возможности можно сделать Decimation в 20% от изначальной суммы полигонов. Это может уменьшить .obj хайполи от 1GB до 250MB. После чего важно изловчится и назначить на получившийся хайрез Smooth group в 180%, чтобы поверхность была равномерной. Из-за треугольников она может быть не идеальная:
![](https://habrastorage.org/files/3d6/f87/f81/3d6f87f817da4324b5900e9813805ad4.gif)
![](https://habrastorage.org/files/65b/023/2f2/65b0232f2451470aa3affa2e484cdefc.gif)
Скининг
Добавлю о скиннинге. Не так давно нашел ресурс www.mixamo.com, на котором можно получить автоскининг персонажа. Ресурс тут же был опробован и, на мой взгляд, он справился куда лучше, чем я рассчитывал. Это занятие заняло у меня не больше 15 минут. Зашел на сайт, зарегистрировался, загрузил fbx и в своем акаунте расставил маркеры на суставы у модели. Далее останется сгенерировать скелет и скачать обновленный fbx.
Ниже видно, что на модели имеется усредненный vertex paint, с которым уже можно работать. Лично для меня это освобождение от абсолютно ненавистной мною работы!
![](https://habrastorage.org/files/8c8/c3f/3f7/8c8c3f3f7705453783977de18353ac87.gif)
На ресурсе присутствует большое количество анимации, на которых можно затестить лоурез на наличие косяков. Лоуполи изготавливал в ручном режиме. Так как генерация лоуполи, которая получилась в Zbrush меня абсолютно не устроила. Очень часто бывает так, что руками сделать ре-топологию выходит быстрее, чем попытки найти и применить кнопку, которая все сделает за тебя. Smooth group на всю модель одна, вместо того, чтобы раскидывать Smooth group, я вновь нарезал эйджи по краях и на швах развертки. Мне чертовски нравится такой способ и я хотел бы совсем отказаться от разбивки модели на Smooth group.
У персонажа три uv-развертки, соответственно и три разные текстуры. Одна для тела, вторая на одежду, третья для волос. Сумма полигонов — 64K.
![](https://habrastorage.org/files/cb9/af7/e34/cb9af7e343534db6a8b7d084ce6da042.jpg)
![](https://habrastorage.org/files/572/6a0/9b9/5726a09b9db54030b9ed32d000552f69.gif)
Текстура
Запекания у меня основательно перешло в substance designer. Для удобства я сделал сцену с пред-настроенными нодами, которыми пользуюсь каждый раз. В таком случае требуется только переуказать папку с ресурсами, в следствии чего ноды пересоберутся сами. Например, у меня есть блок, в котором будет лежать цветная маска, из нее берутся цвета, соответствующие будущим материалам или тайлу, который и будет добавляться в этот заранее настроенный цвет. Для выполнения этого условия требуется на хайполи делать vertex paint одними и теми же цветами. Или назначать соответствующие ID Material. В идеале я планирую нарастить этот файл и создать преднастроенный ресурс отдельно для техники, тряпочных персонажей, солдат и sci-fi с собственными наборами тайлов и царапин.
![](https://habrastorage.org/files/6a0/618/10f/6a061810f2ae45e28c621077aef91488.jpg)
Размер текстур тела и одежды 4K x 4K, такой размер позволил мне сделать одежду полностью не симметричной на развертке.
![](https://habrastorage.org/files/859/2d9/4b9/8592d94b97c445aa8181045b7235871a.gif)
![](https://habrastorage.org/files/373/ecc/6e1/373ecc6e16e44cf999feeab539285180.jpg)
Свет
В любой непонятной ситуации с освещением выставлял еще один легкий точечный источник света противоположного цвета, но в основном это был голубоватый. Не понимаю людей, которые любят выставить физически «правильное» освещение и фанатично отказываются использовать дополнительные источники света.
![](https://habrastorage.org/files/755/d75/49d/755d7549d7cb4ef4bcfe072946fa93b5.gif)
Весь силуэт персонажа старался отбивать светом. Так как вся текстура у модели состоит из теплого цвета, то освещению суждено было стать холодным.
Настройки материалов
Скриншот настроек материалов ткани и кожи в Marmoset:
![](https://habrastorage.org/files/84b/8e1/0b7/84b8e10b7acd4cfd83fdce42ce90033b.jpg)
Хайполи
![](https://habrastorage.org/files/830/204/f22/830204f2238d491da3ff2a60284e3692.jpg)
![](https://habrastorage.org/files/7cb/6ab/b5d/7cb6abb5d0e64eb4b91b16e2b3458fcc.jpg)
![](https://habrastorage.org/files/43f/0c5/1ae/43f0c51ae00b4560b7e8192312c0c6a2.jpg)
![](https://habrastorage.org/files/0ed/940/3d2/0ed9403d2e874f8485fb9b3d2ad619d2.jpg)