Динамические морщины при анимировании в Blender

Решил попробовать в анимацию и занесло немного в строну захвата движений.


Для тех кто хочет попробовать что нибудь похожее - публикую результаты с небольшим гайдом. Во первых понадобится замечательный плагин для Блендера - "Revised Mesh Tension Add-on" с BlenderArtists. Он вовзвращает утерянную с захоронением Blender Internal фичу с окрашиванием вертексов в красный и зеленый цвета при сокращении или растягивании этих самых полигонов, на основе чего и будет происходить динамическое появление той или иной морщины в зоне сокращения или растягивания кожи.


Сама моделька, над которой проводились эксперименты:

Динамические морщины при анимировании в Blender 3D анимация, Анимация, Мокап, Blender, Персонажи, Блендер, Видео, Длиннопост

Довольно простой PBR материал. AO текстура просто комбинирована с цветом, SSS - обычным значением (~0.012).

Динамические морщины при анимировании в Blender 3D анимация, Анимация, Мокап, Blender, Персонажи, Блендер, Видео, Длиннопост

Дальше в zBrush были сделаны 4 бюста (на основе уже развернутого низкополигонального меша!), с которых будут запекаться карты нормалей для морщин при деформациях. Можно использовать и блендер.

Динамические морщины при анимировании в Blender 3D анимация, Анимация, Мокап, Blender, Персонажи, Блендер, Видео, Длиннопост

По хорошему, нужно всего два скульпта с морщинами - в состоянии удивления и злости (см. левый и правый), но я чего то разошелся, по этому пришлось запечь 4 карты нормалей и объединить их в две. Сделать это можно в фотошопе просто наложением второй текстуры сверху в режиме overlay. Это хоть и не совсем идеальный метод, но сторонние приложения или плагины по скрещиванию текстур нормалей кошерным способом у меня не установились.


Дальше все просто - кидайте две новых текстуры в материал (как non-color), через MixRGB соеденяйте Normal Map с деталями вашей модели и первую Normal Map с морщинами "удивления" через overlay (как в фотошопе), и в Fac подсоединяйте красный канал Vertex Col, который генерируется аддоном (используйте Split RGB нод, чтоб получить красный и зеленый каналы раздельно).

Потом результат MixRGB соединяете с еще одним MixRGB, но уже со второй текстурой морщин (так же в overlay) и в Fac подключайте зеленый выход Vertex Col для растягивающихся морщин. Подключайте последний MixRGB в Colour нода Normal Map как делаете с обычной текстурой.

Для корректной работы аддона нужно включить "Lock interface" в меню рендера (слева в верху). Это заблокирует интерфейс блендера при рендерах, так что не удивляйтесь если будет казаться что все зависло, если будете рендерить анимацию.


Чуть ниже результат старого доброго мокапа дедовским способом - с точками на лице, которые отслеживались и привязывались к ригу для контроля костей.

По центру - рендер в Eevee, там уже подчищенная анимация, так что она по плавней выглядит.

Хотелось бы найти способ по эффективнее и без привязки к какому либо конкретному ригу.

На этот 50-секундный ролик ушло где то два дня в целом, с отслеживанием точек, привязкой анимированных треков к ригу, и т.п.


Если кто пробовал лицевой мокап в бледнере: есть какие нибудь адекватные альтернативы этому способу?

Blender RU

993 поста3.5K подписчика

Добавить пост