подготовка персонажа к анимации
Живи по совести, раскладывай по слоям
Творческий подход к проекту не равен беспорядку в файлах. Генерирование идей, выражение авторского «Я» и стильная иллюстрация — это всё, разумеется, большой плюс в карму.
Но оценивать твою работу будут не только по результату, но и по процессу, который состоит из множества важных организационных моментов.
Например, насколько грамотно соблюдены дедлайны, все ли правки были осмыслены и, конечно, правильно ли ты подготовил иллюстрации для дальнейшей анимации.
Работая над созданием анимационного ролика, нужно понимать, что моушн-дизайнер, получивший божественной красоты картинки, не придёт в должный восторг, если не сможет их анимировать.
Получить итоговую иллюстрацию, которая нарисована одним слоём — значит не получить ничего.
Чтобы тебе было проще подготовить иллюстрации к последующей анимации (или если ты никогда этого не делал), мы собрали краткую инструкцию.
Слои — наше всё
Чтобы качественно подготовить своё творение под анимацию, тебе нужно будет разложить составляющие по слоям. К этому процессу тебе, дорогой иллюстратор, нужно подойти осознанно и ответственно. Если по задумке в сценах ролика летит птица, то у неё будут двигаться два крыла, голова и ноги — и это как минимум. Скорее всего такая птица будет немного напоминать робота или калеку. Поэтому твоя задача — передать на анимацию хорошую, здоровую птицу.
Избыточное разложение (это если у тебя каждое перо птицы на отдельном слое) тоже не самый лучший подход — моушену будет попросту сложно работать с таким исходником и искать «свет в конце туннеля» в ста присланных слоях. Но излишняя детализация всё равно лучше, чем недоразложенная иллюстрация.
Допустим, ты уже определил, что нужно разложить по слоям, а что — нет. Теперь важно не ударить в грязь лицом, наделав мелких ошибок, которые приведут к большим проблемам. Вот тебе краткий чек-лист:
Но подробно разложить иллюстрацию по слоям — это пол дела, не забудь также о:
1. Цветовом пространстве
Никакого CMYK, только RGB!
2. Здоровых конечностях
Когда ты будешь рисовать сцену в офисе (например), то в ней наверняка появится сидящий за столом сотрудник. Ноги персонажа будут спрятаны за столом и, когда моушн-дизайнер захочет «поднять» героя, то получит инвалида. Вывод: все, что не видно на стилшоте, все равно должно быть нарисовано.
3. Закруглениях конечностей персонажей
Иллюстратор вроде бы разложил плечи, предплечья, кисти рук по отдельным слоям. Но забыл про закругления конечностей. Или сделал их не идеальными кругами, а «как получится». Ниже ты увидишь картинку, как это будет выглядеть на анимации, и ужаснёшься. Так делать не стоит.
О подготовке персонажей под анимацию рассказать можно очень многое, поэтому в следующей статье мы сконцентрируемся именно на этом вопросе.
4. Масках (Clipping Mask)
Этот пункт логически вытекает из прошлого. Маски скрывают часть объекта, которая не должна быть видна на стилшоте. Но в анимации эта часть может появиться в следующем кадре. Если оставить маски из иллюстратора, то в AE эти части объекта пропадут навсегда. Поэтому маски нужно убирать. А ещё лучше шейп (который подразумевается как маска) закинуть на отдельный слой и сделать его контрастного дикого цвета. И назвать mask.
5. Масштабе сцены
При импорте в AE все элементы за пределами артборда режутся (соответственно, они не видны). Если сцена большая, то артборд нужно увеличивать, чтобы все элементы оказались внутри него.
Также не стоит раскладывать 10 артбордов на одну сцену. AE увидит всё равно только один. Поэтому следуй правилу: один файл = один артборд.
6. Шрифтах
Не забудь отправить шрифт, которым ты пользовался. Вылезет ошибка в тексте, появится клиентская правка или что-то другое — нужно всегда иметь возможность исправить.
7. Текстурах
Их нужно накладывать отдельно на каждый объект, а не на всю сцену. Стоит предугадать возможные проблемы и рисовать текстуры не по контуру, а с запасом.
8. Include linked files
Если внутри иллюстратора есть растровые картинки (например, фотографии) то при сохранении нужно обязательно нажимать галочку include linked files.
9. Правильном сохранение
Идеальный формат файла для After Effects — это файл Adobe Illustrator (ai). Избегай файлов EPS или SVG, так как они не будут импортированы в виде композиции со многими слоями. Сохрани векторное изображение, выбрав «File > Save As > Format: Adobe Illustrator (ai)» (Файл> Сохранить как> Формат: Adobe Illustrator (ai)).
Когда тебе будет предложено указать дополнительные параметры, поставь флажок «Create PDF Compatible File», иначе файл не будет правильно импортирован в After Effects. Если ты работаешь в более старой версии программы, можно сохранить файл как устаревшую версию Illustrator в верхней части окошка с опциями. Если же программа анимации новая, то настройки автоматически верные.
Следуя этой инструкции, ты станешь самым желанным иллюстратором. Клиенты всегда ценят качество выполненной работы. Но только структурированный подход, аккуратность и желание максимально комфортно выстроить процессы помогут раз за разом получать самые креативные и денежные проекты.
Как делать энергичную анимацию. Советы и техники от аниматора Skullgirls
Skullgirls – 2D файтинг, в котором каждый кадр анимации нарисован вручную.
Основные принципы и техники
Настольная книга аниматоров прошлого и современности – «Иллюзия жизни: анимация Диснея», выпущенная в 1981 году. Мультипликаторы студии Дисней Томас Фрэнк и Олли Джонстон изложили в ней «12 базовых принципов анимации», которые актуальны до сих пор. Мариэль делает акцент на некоторых из них.
В анимации самая важная задача силуэта – показать действие. Если персонаж атакует – зритель должен видеть его кулаки или занесенный меч. Если боец прикрывается от ударов – в силуэте должна прослеживаться защитная стойка. Читаемость особенно важна в динамичном файтинге, где игроку нужно мгновенно реагировать на происходящее.
Хотя персонажи Skullgirls дерутся немного непривычными способами, по силуэту легко определить, что они делают.
Упреждение
Многим простым движениям предшествует подготовительное действие, которое в анимации называется упреждением. К примеру: перед ударом по мячу футболист заносит ногу; тренер набирает полную грудь воздуха, чтобы дунуть в свисток.
Упреждение привлекает внимание зрителя к следующему движению персонажа. Этот прием создает контраст между статичной и атакующей позой, позволяет почувствовать вес и силу и удара.
Змей перед укусом раскрывает пасть. Всего один кадр упреждения улучшает читаемость движения.
В файтингах у персонажей разная длительность упреждения. Боец под контролем игрока должен быть более отзывчивым: мгновенно реагировать на нажатия клавиш и двигаться быстрее соперников. Упреждение для игрового персонажа длится меньше, чем анимация перед атаками оппонента. Игроку нужно иметь чуть больше времени для ответной реакции – защиты, бегства или контратаки.
Акцент на ключевых кадрах
Ключевые кадры или ключи показывают положение персонажа в начале и в конце действия. Они служат важным ориентиром в работе.
Анимация всех бойцов в Skullgirls построена вокруг ключевых кадров. Сначала рисовали позы персонажей для ключей, а затем добавляли промежуточные кадры. Этот метод позволяет сделать гладкий переход между позами, поскольку аниматор заранее знает, как будет выглядеть персонаж в крайних точках любого действия.
От качественного исполнения рисунков для ключевых кадров зависит читаемость движения. Поэтому силуэты персонажей на них должны быть максимально выразительными.
В анимации резких движений можно обойтись без использования промежуточных кадров. На примере выше между двумя ключевыми позами расположен лишь один кадр упреждения.
Сквозное движение
Это принцип работает на гармоничное восприятие картинки. Он применяется в анимации сложных объектов, чтобы показать способность различных частей персонажа двигаться с разной скоростью.
Принцип положительно влияет на читаемость действия, поскольку части уже остановившегося объекта – волосы, одежды, украшения – продолжают показывать вектор движения. Это помогает наладить связь между текущей и предыдущей позой персонажа, создать плавный переход и сделать интервалы между ключевыми кадрами интереснее.
Сквозное движение в некоторых ситуациях позволяет использовать меньше кадров для анимации действия. Аниматор может пропустить упреждение и сразу перейти к ключевому кадру. Сквозное движение дает понять зрителю о направлении движения.
Мазок и размытие
Эти приемы используются, чтобы показать быстроту и скорость. Они позаимствованы на заре анимации из комиксов и используются в 2D анимации до сих пор.
Рисунок с размытием занимает мало кадров, но в то же время содержит много информации для зрителя. Удачный мазок на рисунке позволяет определить характер выполняемого действия и позу персонажа в начале и в конце удара.
Пара мазков показывает скорость и направление движения, а их прорисовка не требует больших трудозатрат.
Художники по-разному изображают быстрое действие. Оно может быть представлено в виде полосы света, оставшейся от взмаха мечом, размытой или вытянутой конечности или многократного повторения движущихся частей.
На стоп-кадре этот момент выглядит забавно, а в движении — очень динамично.
Проскок
Эту технику аниматоры используют, чтобы показать резкое и энергичное действие с короткой амплитудой движения. Движущаяся часть тела «проскакивает» ключевую позу, а затем возвращается в нее, слегка напоминая маятник. Проскок можно сочетать с размытием и сквозным движением.
На примере проскок комбинирован с размытием.
А вот проскок в анимации удара бойца из Street Fighter 3.
Тут проскок дополнен сквозным движением рукава.
Аниматоры файтингов охотно используют этот прием, потому что он позволяет придать атаке визуальную силу. Анимация проскока при попадании слегка «залезает» на персонажа противника. Это усиливает ощущение воздействия, а у игрока не остается сомнений, что оппонент получил по заслугам.
Искажение анатомии
«Задача аниматора – передать эффект движения. Нет нужды делать каждый кадр отдельным произведением искусства. Не нужно бояться преувеличивать или утрировать, искажать привычную анатомию, если это может улучшить читаемость движения»
Мариэль Картрайт, ведущий аниматор Skullgirls.
Неестественно вывернутые суставы допустимы в промежуточных кадрах, если они работают на читаемость движения.
Эти позы физически невозможны, но они отлично передают динамику движения.
Даже идеально отрисованные кадры не сделают анимацию живой и привлекательной без правильной настройки длительности тайминга и спейсинга.
Чересчур быстрые движения бойцов не позволят игроку уловить происходящее на экране, у него не останется времени на ответную реакцию. Если действия слишком вялые – внимание зрителя будет рассеянным, он утратит интерес.
От тайминга зависит время перехода от одного ключа к другому, а от спейсинга – скорость этого перехода. Эти моменты проще уловить на наглядном примере.
Скорость и реалистичность перехода от одной ключевой позы к другой зависит от настройки спейсинга
Сравните две шкалы, показывающие динамику движения мячиков. Оба шарика перемещаются по шкале времени и совершают свой путь вверх и вниз за одинаковое время, но с разной скоростью.
Больше времени для ключей!
При работе над Skullgirls аниматоры заметили, что одинаковые интервалы между кадрами не всегда позволяют получить желаемую картинку. При сохранении равных интервалов между кадрами движения хуже считывались зрителем, и на их прорисовку требовалось большее время.
Разработчики могли экспериментировать и настраивать длительность каждого кадра отдельно, поскольку анимация в игре создавалась вручную. Решить проблему удалось благодаря выдерживанию небольших пауз на ключевых позах. Движения стали выразительнее, а трудозатраты художников – уменьшились.
В анимации слева между кадрами установлены одинаковые интервалы, и на секунду действия приходится 20 различных изображений. После настройки тайминга и спейсинга (справа) персонаж быстрее замахивается кулаком и чуть дольше задерживается в ключевой позе.
Хитстоп для весомости ударов
«Вы не сделаете чертовски хорошую игру без хитстопа»
Майк Займонт, ведущий дизайнер Skullgirls
Наблюдательный игрок в файтинги мог заметить, что персонаж игрока и его противник, получив повреждение, застывают на месте на доли секунды. Этот прием называется хитстоп и используется в большинстве 2D файтингов, чтобы сделать удары ощутимыми.
Длительность хитстопа зависит от силы атаки – чем она мощнее, тем дольше персонажи остаются застывшими.
Получая повреждение, персонажи ненадолго замирают в ключевых позах, чтобы игрок прочувствовал силу удара и обратил внимание на попадание.
Реакция на команды
Когда персонаж бездействует, он принимает позу ожидания. Она не статична – боец может переминаться с ноги на ногу, сжимать и разжимать кулаки. Переход из позы ожидания к действию и обратно – едва уловимый, но важный момент, на который стоит обратить внимание при создании анимации.
Персонаж не замирает, как статуя, даже когда игрок не трогает клавиши.
Как уже говорилось ранее, многим движениям в реальности предшествует подготовка или некоторая задержка. К примеру: бегущий человек не сразу набирает максимальную скорость и не сразу останавливается; перед прыжком нужно согнуть ноги и оттолкнуться от земли.
Если действовать в рамках законов физики, то движения в анимации будут очень реалистичны. Однако, стоит помнить об особенностях создаваемого продукта. В играх порой приходится жертвовать реализмом в угоду геймплея.
Игрок ожидает мгновенной реакции персонажа на команды, поэтому переход от состояния спокойствия к действию должен быть быстрым. Для этого аниматоры настраивают спейсинг – увеличивают интервалы между кадрами перед ключами действия и спокойствия.
Чему научились аниматоры, работая над Skullgirls?
Работа над файтингом продолжалась 4 года. За это время разработчики набивали шишки и учились на своих ошибках. Какие советы они дают начинающим и опытным аниматорам?
Тестируйте анимацию с самого начала
Уже на этапе эскиза персонажи Skullgirls получали анимацию ударов и спецприемов и были полностью играбельны. После тестовых боев аниматору передавали заметки и предложения по улучшению анимации. Художники продолжали работу параллельно с настройкой всех параметров. К концу правок персонаж был полностью отрисован и готов к финальным тестам.
Пайплайн разработчиков Skullgirls: грубый набросок, его анимация и тестирование, чистовой лайн, финальная анимация с учетом правок.
Разбивай движение на составные части
Аниматоры Skullgirls выработали собственный подход к анимации движений, позволяющий сохранить энергичность и плавность анимации, обойтись наименьшим числом кадров. Они разделяют каждое движение на 4 части:
· упреждение;
· размытие;
· атакующий ключ;
· возврат.
Атаку персонажа удалось уместить всего в 4 кадра.
Больше – не значит лучше
В погоне за супер-плавной картинкой можно нагромоздить излишнее количество деталей и кадров. Детали отвлекут внимание зрителя от самого действия, а лишние кадры сделают движение однообразным и скучным.
Анимация падения занимает 21 кадр, что очень много для Skullgirls. Движение слишком размеренное и содержит много ненужных деталей.
Фикс от аниматоров (немного на скорую руку).
Финальная версия стала короче на 6 кадров. Персонаж дольше задерживается в ключевых позах, уменьшено число промежуточных кадров. Благодаря этому движение выглядит эффектнее.
Движение содержит 45 кадров и занимает 12 мегабайт памяти. Оно “тяжелое”, ему не хватает энергичности и скорости.
Когда анимация удара стала короче на 16 кадров, ее вес уменьшился в три раза без ущерба для читаемости движений.
Аниматор, помни!
1. Даже самая крутая анимация не в силах надолго удержать интерес игрока, если у игры скучный геймплей.
2. Анимация должна соответствовать требованиям и ограничениям, накладываемым игрой. Работайте совместно с гейм-дизайнером.
3. Ключевые позы и силуэт – основа читаемых движений. Создавайте анимацию, отталкиваясь от ключей.
4. Каждое движение следует раскладывать на составные части.
Не знаете, что за игра Skullgirls? Мы писали о том, как разрабатывались игра и персонажи, какие принципы исповедовали создатели и что пошло не так на этапе релиза.
Аниматор, помни!
1. Даже самая крутая анимация не в силах надолго удержать интерес игрока, если у игры скучный геймплей.
Общая концепция персонажной анимации
Зовут меня Поклонов Максим Александрович, в сети могу встретиться как MaxGoodwin. Мне 30 лет, живу в Казахстане в городе Усть-Каменогорске. Занимаюсь графикой около 10 лет, профессионально последние года три или четыре. Работал в основном в видео рекламе, в последний раз, в небольшой анимационной студии. Сейчас нахожусь в свободном полете, занимаюсь бизнесом и фрилансом. Наконец-то волен делать такую графику, которую я хочу. Не утратил веру сказку, чего и вам желаю.
Об уроке
Всем привет, с вами снова я. На этот раз хочу рассказать об общей концепции сборки персонажа для анимации. Компания Axysoft любезно разрешила использовать персонажа агента, разработанного мной специально для мультфильма одной из игр, в качестве наглядного примера оснастки персонажа. Урок посвящается искателям, которые никогда не останавливаются на достигнутом. Я покажу вам общую картину. Не буду особо углубляться в детали. Те, кто действительно хочет стать профессиональным аниматором, смогут почерпнуть из этого урока очень многое. Я дам только принцип, иначе если разложить все на отдельные действия, то пришлось написать бы об этом книгу. Однако постараюсь донести информацию наиболее понятно, чтобы урок был максимально полезен.
Введение
Общая концепция оснастки персонажа
Модель
Для того чтобы сделать модель требуется скетч или по-нашему набросок.
Глядя на набросок, создаем модель. При создании модели надо обязательно представлять как будут изгибаться конечности, где будут располагаться суставы и тд. Модель делается в низко полигональном исполнении, но каждая линия, каждый полигон должен быть четко обоснованным необходимостью. Вообще, к слову сказать, низко полигональное моделирование целое отдельное искусство в своем роде. После создания модели делаем Unwrap UVW всех необходимых частей, для правильного текстурирования.
После этого любые преобразования драйвера будут отражаться на модели.
Collision object
Для хорошей и легкой анимации ткани, помимо низко полигонального драйвера ткани необходимо учесть еще один не мало важный момент. Объект столкновения тоже должен быть заранее специально подготовлен для этого. Причем его форма может отличаться от оригинала в случае необходимости.
Если указать всю модель в качестве Collision object, то соответственно расчет будет происходить несравнимо дольше, да и к тому же наверняка с ошибками.
Hair driver
Анимация волос на сегодняшний день представляет громадную проблему для обычного пользователя. Ни одно средство для создания волос не предлагает нормального безглючного законченного инструмента для задания нормальной динамики волос. Однако для этого буквально на «ура» пригождается все тот же симулятор ткани Cloth FX. Он обладает всеми необходимыми возможностями для этого. Принцип этого способа вкратце опишу ниже.
Хочу отдельно поблагодарить Комарову Заряну, за участие в разработке этого способа, и за поиск наиболее оптимальных настроек ткани для симуляции волосяной динамики.
Запомните правильное размещение джоинтов (суставов) это ключ к правильному риггингу.
Скальп
Таким душераздирающим словом называется объект, из которого растут волосы. Его форма полностью зависит от формы роста волос на голове персонажа.
Практические моменты
Для начала разберем несколько практических примеров, которые будут использоваться при оснастке персонажа. Дело в том, что здесь будут применяться не совсем привычные или стандартные подходы и соответственно придется пояснить, как это реализовано иначе повествование потеряет смысл.
Attachment Controller
В данном случае мы будем активно использовать Attachment Controller. Он позволит нам привязать к модели такие не маловажные детали как пуговицы, шляпы, очки, а также при создании вспомогательных объектов. Для этого можно создать Point Helper, назначить на него Attachment Controller и указать позицию размещения на объекте.
Вообще эта процедура требует сделать довольно много движений, и разместить хотя бы с десяток точек на модели доставит не мало возни. Для этой процедуры я использую скрипт Create Point on Surface из бесплатного пакета Пола Хоримса TiM-Scripts www.hyperent.com.
Эти скрипты я назначил себе в Quad Menu наряду с остальными полезными скриптами.
Face Attached to Surface
Для анимации мимики будем делать еще один интересный прием. Поскольку анимация мимики будет делаться не костями, а передаваться с меш-анимации лицевого драйвера, то надо к чему-то привязывать нижнюю челюсть. Что к чему, об этом позже, сейчас разберем суть самого приема.
Нужно сделать объект, а внутри него полигон, привязанный к стенкам этого объекта. Этот полигон будет имитировать челюстную кость.
Принцип построения следующий: строим модель и отдельно от нее полигон. Точки полигона размещаем, как нам надо внутри модели на полигонах или точках и применяем модификатор Skin Wrap. В качестве деформера указываем модель, и теперь при любых деформациях модели, точки полигона будут, как бы привязаны к стенкам модели.
К полигону применяем Mesh Smooth и прилепляем к нему точку на Attachment Controller. А к этой точке уже можно линковать нижнюю челюсть.
Данный прием также легко делается с помощью скрипта Create Face Attached to Surface из пакета TiM-Scripts.
Часть 1. Подготовка модели
Модель
Итак, создаем модель и размещаем ее в нулевой точке.
При создании модели желательно использовать модификатор Symmetry, чтобы все симметричные объекты можно было разместить идеально в нулевой точке. Это здорово облегчит риггинг и скининг, особенно при работе с пальцами, тогда можно будет скопировать вес точек с одной половины на другую, в противном случае придется настраивать всю модель.
При скининге совсем не обязательно копировать Skin на каждый элемент путем Paste Instanced, потому, что каждый элемент может иметь собственные настройки Skin-а, а так же содержать только необходимые кости.
После того как модель создана и размещена, надо бы сделать Reset X-Form каждого элемента (находится в панели Utilities) и конвертировать обратно в Editable Poly. Эта процедура обнулит все внутренние трансформации объектов. Так же нужно переместить Pivot всех объектов в нулевую точку и проследить чтобы он был в нулевой точке, иначе опять же при скине могут возникнуть проблемы с Mirror Plane (копированием весов точек).
Более простой и надежный способ приготовить меш к риггингу это воспользоваться скриптом Collapse Selected to Poly at Origin из пакета TiM-Scripts. Он сбросит все скрытые трансформации и переместит Pivot всех выделенных объектов в нулевую точку. Еще раз замечу, модель перед этим нужно разместить идеально в начале координат.
По-хорошему бы, не полениться и хорошенько сделать Unwrap UVW для всех элементов.
Еще одна деталь. Чтобы не путаться при нацеливании глаз, будем использовать глазные хелперы. Просто создаем два Point Helper-а, и к ним уже линкуем модели глаз. А хелперы нацеливаем на таргеты при помощи Look At. Как управляться с Look At контроллерами смотрите здесь.
Чтобы было удобнее работать с Look At таргетами, я их не линкую напрямую, а назначаю на родительский таргет, контроллер Link Constraint и в качестве целей могу указывать разные объекты. Например, сначала он у меня прилинкован к головной кости скелета (или лучше всего к точке приаттаченой к макушке), потом я на какое-то время линкую его к предмету в сцене, а потом опять к голове. Это дает мне возможность управлять взглядом персонажа, как мне надо.
Face Driver
Потом надо подготовить дополнительные элементы. Это так называемые драйвера. С помощью драйверов мы будем передавать анимацию на декорации. Сначала сделаем драйвер для лица. В данном случае я просто скопировал модель головы.
Cloth Driver
Потом я скопировал те части пальто, которые будут раскачиваться при ходьбе. Сделал Detach, получился драйвер для ткани.
Collision Object
Из рук модели я делаю Collision Object. Причем форма объекта столкновения может быть такой, чтобы обеспечить нужные коллизии. В данном случае в месте кистей Collision Object расширяется в виде воронки.
Скальп
Выделив полигоны на голове надо скопировать и отделить их. После некоторой доработки получится объект, имеющий форму роста волос. Позже мы прилепим его на Skin Wrap к драйверу головы и пустим из него волосы.
Когда все драйвера готовы, начинаем оснащать модель.
Часть 2. Оснастка модели
Скелет.
Строим скелет и размещаем его в нулевой точке. Высоту сразу настраиваем так, чтобы тазовая кость разместилась на высоте таза персонажа. Потом настраиваем грудную клетку, голову, конечности и пальцы на одной половине. Если модель построена симметрично, то настроенные кости с одной половины можно скопировать на другую половину, благо многие костные системы позволяют это делать.
Самое главное это правильно разместить джоинты (суставы). Для того чтобы увидеть джоинты я выделяю весь скелет, перевожу его в Box Mode (отображение только габаритного контейнера) это можно сделать через свойства, и во вкладке Display, в самом нижнем свитке Link Display включаю галку Display Links.
Еще один момент по ригу. Ступни. Я работаю с CAT и там есть такая штука Foot Platform и, в общем-то, везде пишут, что Foot Platform должен занимать всю ступню целиком. Но тут есть одно но, в зависимости от системы, в которой вы работаете, размещение Foot Platform должно позволять изгибаться пальцам ноги. В моем случае Foot Platform идет от пятки до пальцев. Если все оставить как есть, то пальцы будут проваливаться в пол, ну а если поднастроить CAT motion (редактор походки в CAT) то пальцы будут двигаться как надо.
В общем, в чем бы вы не работали, учитывайте положение ступни и пальцев скелета.
Обязательно перед скином сделайте тестовую анимацию скелета, лучше всего цикл ходьбы. Обычно на этом этапе вылезают ошибки построения скелета. Очень обидно бывает, когда скин настроен, начинаем делать анимацию, а скелет двигается неправильно. Удаляем скин, переделываем Rig и начинаем по новой скинить.
Скин.
По скину особых замечаний, наверное, не будет. Делается все как обычно. Единственное что стоит учесть это тканные элементы, они будут скинится отдельно и те места, которые будут мягкими желательно продумать заранее. Их не надо скинить на все подряд кости. Например, пола пальто не скинится к ногам она будет просто болтаться тканью. Если модель симметричная, то настраиваем сначала одну половину, потом входим в Mirror Mode и перекидываем настройки костей и веса точек на другую половину.
При работе со скином или с тканью некоторые сомнительные участки можно смягчить, применив к ним Mesh Select и Relax.
Прискиненый персонаж должен двигаться правильно. Для этого нужно сделать тестовую анимацию и все тщательно проверить и поднастроить. В CAT я для этого обычно просто задаю цикл походки. Драйвера и скальпы, и прочие дополнительные причиндалы пока не трогаем. Ими мы займемся отдельно.
Ткань.
Сначала нужно прискинить драйвера. Для этого прямо в стеке модификаторов, через контекстное меню копируем модификатор Skin с модели и вставляем его (Paste) в стек драйвера ткани и объекта столкновения, если помните, это у нас измененная копия рук. Теперь Cloth Driver и Collision Object будут двигаться вместе с руками. Подстройте Skin, если требуется.
При назначении Skin Wrap-а происходит инициализация геометрии драйвера, поэтому в этот момент модель и драйвер должны находиться в одном положении. Но иногда случается такой глюк, в процессе настройки других модификаторов, Skin Wrap самостоятельно преринициалицируется при несовмещеных позициях. Для того чтобы исправить положение нужно поотключать все модификаторы в стеке обоих моделей (кроме Skin Wrap естественно), и запустить реинициализацию нажатием кнопки Reset в модификаторе Skin Wrap. (При изменении меша драйвера или модели, бывает, реинициализация не помогает, приходится удалять Skin Wrap и назначать его по-новой).
Создаем первую группу. Для этого выделяем те точки драйвера, на которых будет «висеть» ткань. Группу создали, назвали ее, например «Coat HARD» и нажали кнопку Preserve. Это значит, что данные точки будут попадать под действие предыдущих модификаторов, то есть останутся под действием Skin-а.
Так же создаем вторую группу, чтобы закрепить рукава. Называем ее как-нибудь типа «Hands HARD» и тоже делаем Preserve.
Мне не нужно, чтобы ткань болталась слишком интенсивно, для этого я теперь делаю мягкие группы. Делаем выделение, как и в первой группе (можно прямо кликнуть на первой группе в списке и точки выделятся сами), создаем новую группу и называем ее «Coat SOFT». На эту группу не назначаем никакого действия. Но в настройках активируем галку Soft Selection, настраиваем его как надо и настраиваем свойства такни этой группы. Нам нужно сделать ткань в этом месте жестче, в этом здорово помогают настройки Bend и Shear. Bend выкручиваем до 100, а Shear аж до 1000. С этими параметрами можно спокойно экспериментировать, достигая нужного результата. Ставим галку Use These Properties, иначе эти свойства не будут включены.
То же самое проделываем с рукавами. Создаем группу, называем «Hands SOFT», но на нее я назначаю действие Preserve. Это нужно для того, чтобы рукав плавно выходил из под действия скина и переходил в ткань. Так я смогу сделать ткань не то, чтобы жестче, но типа того. Для того чтобы эта настройка повлияла на Preserve, нужно активировать галку Soft. Настройки Bend и Shear делаем такие же, как у пальто, и ставим галку Use These Properties. Выходим из режима подобъекта.
Вот теперь запускаем просчет. Сначала нажимаем кнопку Simulate Local, чтобы ткань обвисла на Collision Object, потом запускаем Simulate.
Теперь, если все правильно, то модель пальто будет повиноваться драйверу.
Вкратце, работает он так: выделяем кости, и применяем скрипт. После этого на каждом джоинте появится хелпер, при помощи которого можно управлять костями. Внимание: кости надо выделять двойным кликом по первой кости в иерархии, тогда выделится вся цепочка костей как надо. Если кости выделять вручную, скрипт не сработает. Кости я «рисую» прямо по модели головы включив привязку к полигонам.
Но вернемся к нашей модели. Принцип передачи анимации с драйвера на голову такой же, как при анимации ткани, с той разницей, что анимацию будет задавать модификатор Point Cache. В отдельном файле с мимикой, я создаю анимацию. На верху стека у меня назначен Point Cache. С его помощью я записываю меш анимацию головы в файл. В файле с цены у меня есть драйвер лица, который тоже наверху стека имеет модификатор Point Cache. С его помощью я загружаю в драйвер, сохраненную ранее меш-анимацию лица, а драйвер, в свою очередь, передает ее на модель через Skin Wrap.
Итак, копируем Skin с модели головы и вставляем как Instance в стек драйвера. Теперь и драйвер, и модель головы «сидят» на одном скине. Назначаем на модель модификатор Skin Wrap и в качестве деформера указываем драйвер. Настраиваем параметры, так чтобы драйвер передавал анимацию один в один, глюков быть не должно. Важный момент: перед применением модификатора Skin Wrap нужно поотключать все модификаторы и на модели и на драйвере, чтобы они оба оказались в дефолтном положении и полностью совместились.
Я создам простой объект (скальп) и модель волоса (сплайн). В обычном случае можно просто прилинковать сплайн к скальпу, чтобы волосы при анимации вели себя правильно. Но если поверхность скальпа будет анимирована, как в моем случае или при анимации животного, покрытого шестью, то сплайны придется аттачить прямо на поверхность. Для этого я размещаю сплайны на поверхности, и в местах начала волос делаю приаттаченые к поверхности точки, используя скрипт Create Point on Surface (способ описан выше). А потом просто линкую каждый сплайн к своей точке.
После применения Hair FX и сплайнов, в качестве направляющих, мы получаем скальп, покрытый направляющими волос.
Я сделал слишком плотный скальп в своем примере, и направляющих получилось много, но зато я покажу, что симулятор ткани справляется и с такой задачей. В панели Modify мы можем преобразовать полученные направляющие, в какой либо вид.
Конвертируем их в Cloth Mesh. После этого мы можем применять модификаторы как к обычному мешу. Применяем Cloth FX. Сначала в свойствах указываем, что это ткань. За тем заходим в подобъект Group и выделяем корни волос. Задачка не из легких, я для этого использую Paint Selection. Просто крашу, выделяя все вершины, включая нужные, потом крашу, снаружи снимая лишнее выделение и оставляя только нужные вершины выделенными. В более поздних версиях Cloth FX в подобъекте Group появляется кнопка Get, она позволяет выделить корни волос одним кликом.
Чтобы придать волосам жесткость нужно создать еще одну группу. Для этого опять выделяем корни (можно кликнуть на первую группу и ее точки выделятся) и создаем вторую группу. Назначаем ей тоже Preserve. Ставим галку Soft, активируем и настраиваем Soft Selection. Таким образом, волосы будут плавно переходить из жесткого состояния в ткань. Так же подкручиваем до 100 Bend, Shear ставим 1000, ставим галку Use These Properties, это добавит жесткости самой ткани.
Теперь, если есть анимация, запускаем сначала Simulate Local, потом Simulate и смотрим, что получилось.
Таким нехитрым образом можно делать практически любую динамику волосам, а так же коллизии с другими объектами. Вообще желательно делать менее плотный скальп, чтобы уменьшить количество направляющих, тогда будет легче управляться с коллизиями, да и вообще, легче при анимации.
То же самое можно проделать и с Ornatrix, но путь немного сложнее. Нужно сделать направляющие волос, отредактировать их, и сделать копию. Одну копию преобразуем в Ox_mesh и потом сконвертим в Poly, а вторую копию используем для создания волос. Первую копию обрабатываем как ткань, а вторая повторяет ее движения через Skin Wrap. Единственное, что Skin Wrap должен находиться в стеке ДО создания волос и действовать непосредственно на направляющие.
Кстати, к волосяным направляющим можно так же применять и другие модификаторы. Например с помощи Skin Wrap можно сделать делать анимацию косы.
Аттачи.
Теперь прилепим к модели остальные элементы, такие как пуговицы, шляпа и тд. Прилеплять будем все через ту же приаттаченую к поверхности точку. И сразу же разберем несколько моментов. Лепить аттачи на декорацию ни в коем случае нельзя. Аттач приклеивается к определенному месту на определенном полигоне, то есть когда мы применим к декорации сглаживание, то наш аттач уедет неведомо куда. Поэтому все аттачи будем лепить, конечно же, на драйвера. Вот с пуговиц и начнем.
Приближаем нужный участок, и создаем приаттаченые точки в нужных местах. После чего просто линкуем пуговицы к аттачам.
(Чтобы разгрузить обзор, я обычно перевожу некоторые объекты в Box Mode. Очень удобно, если назначить Box Mode на горячую клавишу.)
Ну и последний аттач это нижние зубы. Для того чтобы правильно прикрепить их к мешу построим полигон, имитирующий челюстную кость. Этот прием был описан выше. На полигоне размещаем аттач, и к нему линкуем нижние зубы.
Часть 3. Рендер и постобработка
Решение этой задачи до банальности и простое. Все пост-эффекты, что мы применяем в максе, можно делать уже после того, как порендерина картинка, в процессе видеомонтажа. Фокус заключается в том, что при рендеринге к изображению подключаются необходимые для производства эффекта каналы. Только в максе мы не работаем непосредственно с ними, мы просто включаем Image Motion Blur (смаз при движении), Glow (сияние) или Depth of Field (глубина резкости) в конце концов. Но мы и понятия не имеем, как создается сам эффект. Зато если сделать рендер и сохранить изображение в файл содержащий каналы, например в *.RPF то у нас получается чистый исходник, на котором мы можем настроить эффекты как нужно, в сторонней программе, а если сделать рендер сразу с эффектами, то если что-то не так, то придется все перерендеривать.
Каналы
Чтобы понять, что такое каналы, представим книжку. Называется она G-buffer. На лицевой странице мы видим RGB изображение, а в качестве страниц – каналы. Их невидно, но открыть книжку и посмотреть каналы нам поможет профессиональный пакет видеомонтажа типа Fusion, Combustion, есть и другие, в принципе.
Так вот, что нам дают эти каналы: например Z-buffer дает нам черно-белую картинку, где каждая точка имеет цвет в зависимости от удаления в сцене.
Благодаря Z буферу, мы можем применять 3D эффекты на видеомонтаже, такие как туман или глубина резкости, можно поместить в 2D изображение объект, как будто это не 2D, а 3D сцена, и даже сымитировать освещение! И к тому же сами эффекты можно сделать намного качественнее чем в максе. При помоши плагинов можно настоить эффект DOF с очень даже неплохим боке, то же касается и остальных эффектов.
Канал Z буфера, прошу не путать с каналом, который дает Render Elements. Напомню, Render Elements – опция доступная в настройках рендера, позволяет вывести содержимое некоторых каналов в G-buffer. Но он работает не корректно, во всяком случае, получить Z канал волос, если они присутствуют в сцене, вам не удастся.
Motion Blur нам поможет сделать канал Velocity. Этот канал выглядит как разноцветная картинка. В зависимости от движения в кадре каждая точка имеет определенный цвет, который понимается как вектор движения. И в соответствии с информацией точек происходит направленное размытие картинки.
(для демонстрации сделал некоторые скриншоты во Fusion, а некоторые в Combustion)
Точно так же делается Image Motion Blur и в максе. Только если что-то не так, то картинку придется пересчитывать по-новой.
Правда есть одно но. Волосы не влияют на канал Velocity. И соответственно не удастся применить к ним Motion Blur используя этот канал. Зато есть возможность делать это, вообще не используя никаких каналов. Для применения к любому изображению моушен блюра я обычно применяю плагин для After Effect Reel Smart Motion Blur. Этот плагин позволяет примерять смаз к обычной последовательности кадров не имеющей никаких каналов. Плагин просто анализирует изображение и сам определяет вектор смаза. Эффект получается потрясающе реалистичный, и этот плагин меня, в общем-то, ни разу не подводил. Радует и то, что преимущественно плагины от AE подходят как для Fusion так и для Combustion.
Покажу еще один канал – Material ID. Этот канал появляется, когда мы назначаем номер на канал эффектов в максе.
Примерно так же выглядит канал Render Node ID
Эти каналы похожи. Их можно использовать для применения эффектов определенного объектом участка изображения. Например, можно назначить на конкретную область эффект сияния.
Чтобы подытожить сказанное, расскажу, как можно использовать эти каналы на практике. Для того чтобы получить изображение, содержащее эти каналы, нужно указать сохранение файла в формат RPF или RLA. В настройках формата нужно включить использование нужных каналов. Таким образом, мы получим то, что требуется. Рендерим сиквенцию кадров, после чего открываем в монтажной программе, поддерживающей каналы, и делаем эффекты. Чтобы совместить все нужные эффекты, требуется некоторе знание мтонтажного пакета, но все реально все делается. Ну, а потом кому как нравится. Свести все готовые куски можно там же, либо в другой программе типа Adobe After Effect или других.
Еще сделаю одно дополнение по Z буферу. Если сцена содержит поверхности с масками прозрачности, то стандартный Scanline рендер не увидит никакой прозрачности и даст нам Z буфер в виде объектов, присутствующих в сцене.
В качестве рендера я использую Final Render, и по умолчанию он фиксит этот глюк. Но наверняка эта проблема, все же имеет место быть, и для ее решения можно использовать процесс Павла Кузнецова G-corrector. Он как раз решает проблемы прозрачности для различных каналов G-буфера.
Надеюсь, эта инфа кому-нибудь поможет добиться в графике многого, если кто дойдет до Голливуда, не забывайте про старика Гудвина ) Всем привет!