3ds max
Меню сайта
Мини-чат
300
Наш опрос
Оцените мой сайт
Всего ответов: 171

Создание скелета животного

Описание создание скелета животного в максе крайне редкое явление. Ну что ж попытаемся исправить это досадное упущение. И так темой сегодняшнего рассказа будет создание жизнеспособного рига непарнокопытного животного (хотя риг парнокопытного животного делать почти точно также).

Половину субботы у меня ушло на создание вот этой коняки - такое медиум поле получилось- и, не смотря на ее непритязательный вид, она нам вполне подойдет. В конце концов это руководство по ригу, а не по моделингу - поэтому прошу все комментарии по поводу модели оставить при себе :) )


Рисунок 1

Я не буду рассказывать как создавать кости - надеюсь любой, кто столкнется с данной задачей найдет в Интернете анатомию и срисует скелет (лично я так и сделал). Единственное о чем стоит упомянуть - хотя передние ноги стоят ровно, я создавал кости в согнутом положении. А потом их выравнивал (этим я добился правильной ориентации Preferred Angles, то есть если мы посмотрим на ориентацию костей, ось ротации Z (Gimbal) находится в той же плоскости, что и плоскость сгиба, только в этом случае можно гарантировать, что кости не будут крутиться, когда мы назначим IK-решатель). Маленький совет - двигайте кости только в плоскости изгиба, Если это невозможно (например скинпоза человека с полусогнутыми и полуопущенными руками (так действительно будет настраивать скин удобнее), то начиная от родителя и вниз по иерархии сначала поворачиваем кости - ставя плоскость изгиба в нужное нам положение и только потом двигаем суставы в нужное нам место.


Рисунок 2

Прежде чем приступить к настройке скелета встаньте на четыре свои конечности, на кончики пальцев, и сделайте пару кругов по комнате. Спросите зачем? Ну на это есть три важные причины:

  • Ну сколько можно сидеть за компьютером? - разомнитесь.
  • Своими выбрыками вы весьма повеселите окружающих.
  • Важно понять, где у лошади, какие суставы- то есть самый верхний (по середине туловища) это ваше плечо, второй (где начинаются ноги) - это локоть, третий (на <коленке>) - это запястье, ну и пальцы - это я про ваши передние ноги, с задними немного легче, там суставов поменьше, поэтому сами разберетесь, если нет то возвращайтесь к началу абзаца. Теперь мы знаем, например, что в передней ноге вторая и третья кости не могут разогнуться, образовав угол направленный вперед - ведь это наш локоть, ну и т.д.
Задняя нога


Рисунок 3

Итак, приступим. И начнем с задней ноги - три длинных кости - значит две пересекающихся IK (для тех, кто не знает, как создавать решатели инверсионной кинематики - Animation/IK Solvers/HI Solver именно этот тип мы будем использовать чаще всего). То есть создаем одну Ik от первой кости до третей, другую ik от второй до четвертой (я хочу, что бы вторая ik отвечала за положение ноги, а первая за углы наклона между костями). Проверяем, что получилось - действительно вроде первая икушка меняет углы, но не сдвигает всю ногу. А вторая делает что то странное и не то что я хотел. Отменяем все сдвиги которые мы только что сделали и создаем два shapes-линии которыми мы будем управлять ногой - копыто и стрелочку. Подвинем их на нужное место, и назначим стрелочке Position Constrain относительно копыта ( Animation/ Constrains/ Position Constrain-появится пунктирная линия которой вы тыкаете в копыто)- стрелочка прыгнет на копыто и все ваши попытки поставит ее на место нагло проигнорируются.

Position Constrain позволяет связать положение одного объекта с другим.

Мы выбрали этот способ создания констрейна (есть еще парочка) потому, что при этом автоматически был создан Position List-контроллер который правда ни чего не делает, но сильно облегчает жизнь. И так, что же мы наделали, давайте разберемся - для этого делаем раз ( c)


Рисунок 4

мы попали в motion панель, здесь мы можем узнать все о контроле над объектом, то есть что его контролирует,

если б это был объект, на который ни чего не назначено, то в окошке Assign controller было бы рядом с Position-

Position XYZ -то есть объект управляется с помощью трех треков x y z -мы его можем просто подвинуть или с анимировать -при чем у нас три трека -на каждую из осей, мы можем создавать ключи отдельно для каждого направления. Давайте разберемся, какие еще мы можем назначить контроллеры - выбираем position и кликаем на маленький знак вопроса в самом верху:

Attachment-позволяет присоединить объект к любому фейсу другого объекта, при чем его положение и номер фейса анимируется.

AudioPosition -положение согласуется с аудиотреком (скачет под музыку)

BezierPozition -один общий трек на положение объекта в кривых Безье (кривые имеет тангенсы и очень легко управляются -мои любимые кривые) но так как трек один ключи ставятся сразу на три оси и разделить вы их не сможете

Liner Position -то же самое , но кривые линейные, то есть кривая движется по прямой от ключа к ключу -не возможно сделать ускорение или замедление параметра, в некоторых случаях оно и не нужно -например равномерное движение камеры( то же самое можно сделать и с Безье задав линейность нужным ключам)

TCB Position то же самое -кривые ТСБ -плохо управляются, (пережиток от старых версий макса -раньше других кривых и не было) и я их не люблю и ими не пользуюсь, и рассказывать о них не буду

Path Constraint-движение по пути

Position Constraint -ну это я уже говорил

Position Expression- задает положение с помощью математического выражения, здесь мы можем использовать математические функции и задавать переменные связанные с другими параметрами других объектов -вполне разумная замена скриптам -мы с ним столкнемся по позже когда будем разбираться с шеей

Position List-позволяет сводить несколько контроллеров в месте-до его использования мы дойдем довольно скоро

Position Reactor -можем задать несколько положений которые будут контролироватся каким то параметром -максовский аналог драйвен киз но реализован не лучшим способом (на мой личный взгляд)

Position Script -просто пишем скрипт

Position XYZ- назначаемый по дефолту, и разделяет матрицу на три трека для каждой оси

Spring-объект при анимации будет вести себя как на пружинке, полезная вещь, но одно "но"-тормозит

Surface -позволяет привязать объект к поверхности (Поверхность должна быть NURBS) вы не сможете контролировать положение на прямую - вам придется в моушен панели задавать координаты УВ ручками :(

Noise Position- настраиваемый шум- объект будет трястись случайным образом, но под вашим контролем

Я пропустил несколько контроллеров по простой причине - Совершенно не знаю, что они делают - Кто знает - подскажите, пожалуйста.

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

единственно тут добавилось

Boolean Controller-или 0 или 100

On/Off-выключает контроллер с сохранением анимации, потом можно вернуть предыдущий контроллер и все встанет на место

Waveform Float-изменение по синусоиде

Для ротации -

Oriental constraint -связать с ротацией другого объекта

LookAt Constrain-направляет одну из осей на выбранный объект

В общем констрейны сами по себе являются темой для отдельной статьи, и рассказывать о каждом из них можно долго.

Может в следующий раз.

В нашем случае написано Position List- внутри которого находятся PositionXYZ и Position Constrain-то есть два контроллера - но почему тогда мы не можем подвинуть shape, потому что один из контроллеров не активен, и я знаю какой.

Опускаемся по панели ниже - находим Position List-Выбираем PositionXYZ (Делай два), нажимаем на кнопку ( Set Active) (делай три) и последнее - делаем четыре - ставим галочку Average Weights- теперь на наш шейп действуют оба контроллера, причем делят между собой воздействие по отношению весов-100/100, то есть поровну.

Потом мы сюда еще вернемся.

1 2

Форма входа
Календарь новостей
«  Март 2024  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728293031
Поиск
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright MyCorp © 2024