Динамические морщины при анимировании в Blender
Решил попробовать в анимацию и занесло немного в строну захвата движений.
Для тех кто хочет попробовать что нибудь похожее - публикую результаты с небольшим гайдом. Во первых понадобится замечательный плагин для Блендера - "Revised Mesh Tension Add-on" с BlenderArtists. Он вовзвращает утерянную с захоронением Blender Internal фичу с окрашиванием вертексов в красный и зеленый цвета при сокращении или растягивании этих самых полигонов, на основе чего и будет происходить динамическое появление той или иной морщины в зоне сокращения или растягивания кожи.
Сама моделька, над которой проводились эксперименты:
Довольно простой PBR материал. AO текстура просто комбинирована с цветом, SSS - обычным значением (~0.012).
Дальше в zBrush были сделаны 4 бюста (на основе уже развернутого низкополигонального меша!), с которых будут запекаться карты нормалей для морщин при деформациях. Можно использовать и блендер.
По хорошему, нужно всего два скульпта с морщинами - в состоянии удивления и злости (см. левый и правый), но я чего то разошелся, по этому пришлось запечь 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 подписчика