Making of: Последняя битва

Идея

Я хотел создать по настоящему реалистичное лицо (позже оно стало лицом рыцаря), которое можно будет использовать в анимации, с материалом кожи, правильно реагирующим на любые настройки света, без дополнительной настройки. Я не хотел делать сложную композицию. Я хотел создать ощущение что вы стоите рядом с этим человеком и смотрите прямо ему в лицо.

Модель

Уже в тёмный период средневековья, когда ещё не было ZBrush, я не не сомневался, что displacement mapping ожидает большое будущее в 3D. Я пробовал использовать его при переформировании (reshaping) и детализации низкополигональных объектов совместно c инструментом blend shapes или разными оснастками (rigs) для анимации.

Модель

На случай, если среди вас вас затесались аниматоры: если вы считаете, что в модели маловато полигонов (недостаточно для создания некоторых складок или лицевой оснастки), вы можете применить skin it и затем увеличить уровень сглаживания (smooth level) к примеру на 1. Это пригодится для настройки некоторых лицевых мышц, взаимодействия кожи с глазами и для чего угодно ещё.

Кожа

Шейдер «misss_fast_simple_maya» для mentalray стал для меня приятным сюрпризом, во-первых из-за его замечательных эффектов, а во-вторых его псевдо-SSS, быстрое и понятное пользователю. Все благодарности к Master-Zap.com.

Для настройки шейдера в Maya рекомендую ознакомиться с некоторыми замечаниями Francescaluce и Master Zap, а так же изучить lamrug.org.

Там несколько великолепных шейдеров и утилит от Pixero и Francescaluce, которые могут быть использованы вместе с шейдером misss (misss shader). Ищите их на cgtalk → maya → rendering section. Для этого проекта я самостоятельно правил почти все параметры шейдера.

Настройки для кожи

Подкину несколько подсказок по использованию misss_fast_simple_maya:

Если ваша модель выглядит странно при первом применении к ней шейдера, причина может быть в следующем:

  • неправильно настроет Lightmap;
  • некоторые нормали модели направлены не в ту сторону;
  • эффект SSS слишком велик — увеличте параметр Scale Conversion number;
  • ваша модель действительно какая-то не такая, поправьте её :)

При настройке шейдера не используйте GI/FG, только белый Spot. В этом случае вы сможете увидеть чистую величину SSS и неискажённые оттенки цветов. Если позже вы всё таки собираетесь использовать GI/FG, проверьте параметр «Include Indirect Lighting» в Lightmap. Обращайте внимание на величины в слотах Bump Shader, когда вы временно (для ускорения визуализации) отсоединяете bump-карту (например при работе над оттенками кожи) — они должны быть выставлены в 0.000.

Настройка света

Псевдо - HDRI

Для окружения я использовал shortcut (появился в Maya 6) the Image Based Lighting в настройках визуализации mentalray, который автоматически создаёт световую сферу и несколько «белых плоскостей».

С тех пор, как mentalray подерживает формат HDRI, его очень просто использовать. Однако несмотря на относительную простоту в освоении, HDRI всё же редактируется сложнее, чем простой jpeg. Для того, чтобы сделать ваш jpeg «излучающим как HDRI», сделайте дополнительную маску и определите несколько цветов со значением более 1.000 (в HSV). Таким способом конечно не получится создать правильный HDRI, но результат будет действительно хорош.

Позже большинство объектов в моей сцене получили размытые отражения. Для освещения сферы я выбрал очень-очень размытое изображение — рамповую текстуру (ramp texture, градиент).

Если вы хотите, чтобы некоторые объекты сцены отражали «чётко» или просто отражали окружение, вы всегда можете использовать другое изображение d Environment Shader для отдельных объектов. Оно будет отражать окружающие объекты вашей сцены.

Освещение сцены

Волосы

Для волос я использовал Maya fur, поскольку он визуализируется в mentalray и это всё, что я могу о нём сказать. Просто отрегулировал несколько параметров, такие, как Baldness, Length, Polar и Clumping — ничего сверхестественного.

Кольчуга

Кольчуга

После нескольких попыток использовать динамику и констрейнты (constrains) мне пришлось отказаться от создания одежды с независимыми кольцами. Я написал скрипт, который распределяет и случайным образом вращает отдельные кольца на одежде и связывает (parents) их с распределёнными вспомогательными объектами, которые привязаны к одежде как «кнопки». Кольчуга полностью динамическая. Я не соеденил кольца напрямую во-первых по причине «некоторых проблем» с выравниванием кнопочных констрейнтов (button constraints), а во-вторых, по началу я хотел использовать независимый геометрический гео шейдер (instanced geometry geo shader) на этих маленьких треугольниках, но у меня не получилось добиться его стабильной работы.

Ссылка на ветку "Max Kor’s «Final Battle» форума CGTalk.

Финальное изображение (кликабельно):

Итоговый рендер

Поделиться в: Опубликовать в twitter Опубликовать в своем блоге livejournal.com