После того как мой WIP по сути стал моим портфоллио по ригу, у меня появилось некоторое количество коммерческих персонажей, я к сожалению не могу их показывать так как связан договором о не разглашении. И вот мне довелось делать риг птицы, я бы не сказал что в интернете достаточно информации по этому вопросу, так что вот мои мысли: Основные идеи я все же нашел в интернете так что по сути только объединил все и заставил как то работать.
И так набросаем основные кости крыла, и от каждой кости пустим какое то количество костей для маховых перьев. Перья сделаем плэйнами с альфой. Перья приперентим к костям, каждое к своей. Так же нам потребуется сплайн с модификатором Spline IK Control Это будет ориентир для маховых перьев так же он нам потребуется для инерции и ветра.
РИС 1.
Для инерции и ветра на сплайн повесим модификатор Flex центр сдвинем к первому перу от тела птицы. Создаем Wind и указываем его в Forces модификатора Flex.
РИС 2.
Далее создаем контроллеры, любым удобным способом нам потребуются три контроллера для крыла, четыре для сплайна, четыре для бэнда перьев и четыре для вэйва перьев. И так контроллеры для крыла ориентируем по костям, перентим верхний к среднему, средний к нижнему, затем костям делаем Orientation Constraint каждой кости к своему контроллеру. В общем то это стандартный FK контроллер для конечности. Не лишним будет поставить Lock на Scale и Move в Link info.
РИС 3.
Далее контроллер для сплайна. Просто перентим пойнты которые создал модификатор к нашим контроллерам и их в свою очередь перентим следующим образом: Самый дальний от тела к последнему контроллеру пера. Далее делаем пойнт, алайним его к последнему контроллеру крыла, перентим к нему же. И делаем ему Orientation Constraint в таргетс добавляем последний и средний контроллеры крыла. Тоесть он как бы смотрит всегда между двумя костями крыла. И к этому пойнту перентим следующий контроллер сплайна. Так же устроен третий контроллер сплайна, пойнт ориентирован между следующими двумя костями крыла приперенчен к среднему контроллеру крыла, а контроллер сплайна к пойнту. Последный контроллер сплайна можно приперентить к телу но его у нас нет. Все это мы проделали чтобы сплайн гнулся когда гнется крыло.
РИС 4.
Контроллеры для бенда и вэйва это просто контроллер который можно таскать только по Z Располагаем их как на рисунке и перентим к ближайшим костям.
РИС 5.
Наконец создаем пойнты, столькоже сколько костей для перьев делаем им Path Constraint на наш сплайн и равномерно распределяем по нему меняя параметр % Along Path этот параметр кстати автоматически анимируется так что все ключи стоит грохнуть. Обязательно врубаем галочку напротив Follow. Кости для пера делаем LookAt Constraint в качестве цели выбираем пойнт (для каждой кости свой) в Select Upnode убираем галку World и выбираем тот же пойнт. А еще меняем Source Axis на Y, а aligned to Upnode Axis на X (Я чесно говоря не знаю почему но это сильно влияет на то как повернется кость и с этими осями все правильно, если кости вдруг начнут перекручиваться экспериментируйте с этими параметрами) Ну и делаем это для всех костей
РИС 6.
Теперь вешаем на каждое перо модификаторы Bend и Wave настраиваем чтобы перо гнулось как надо. Теперь нам надо написать нехитрый экспрешшн для амплитуд вэйва и бэнда каждого пера. Выбираем амплитуду жмем правую кнопку в появившемся меню тыкаем Show in Track View в открывшемся окне выбираем Angle жмем правой кнопкой и выбираем Assign Controller и наконец выбираем Float Expression. Откроется окно в нем создаем две переменные с типом Scalar для выражения амплитуды мы будем использовать два контроллера поэтому связываем эти две переменные с Z Position двух ближайших контроллеров для этого надо выбрать переменную, нажать Assign to Controller и в появившемся списке найти нужный объект а потом докапаться по иерархии до Z Position далее пишем вот такое нехитрое уравнение (Val1*0.75)+(Val2*0.25) тут важно понять что выражение от пера к перу будет меняться коэффициентами на которые множится переменная идея в том что тот контроллер который будет ближе к перу имеет больший коэффициент а в сумме они дают 1
РИС 7.