Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособия_Tutorials / Рус / Ввеление в реактор_(39) .doc
Скачиваний:
52
Добавлен:
25.04.2015
Размер:
1.37 Mб
Скачать

Применение ограничителейRagDoll

В предыдущем уроке было закончено соединение простейших костей тела. Теперь следует подумать о соединении плеч и бедер. Суставы плеч и бедер сложнее колен и локтей, поскольку кроме поворота они должны двигаться с большей свободой, чем может дать шарнир. Для суставов этого типа будут использованы ограничители Rag Doll.

Они довольно сложны, так что этот урок служит кратким их обзором.

На следующем рисунке два объекта соединены ограничителем Rag Doll.

A. Оси кручения

B. Плоские оси

C. Twist x Plane Axis (outward)

1. Предок

2. Потомок

Ограничитель Rag Doll дает три оси по важности: Twist Axis, Plane Axis, Twist x Plane Axis. Ось кручения является, вероятно, простейшей для понимания. Поворот вытянутой руки смещает большой палец сверху вниз. Это движение является рядом поворотов вокруг осей кручения плеча и локтя. Обычно ось кручения должна иметь длину дочернего тела сустава. В реакторе можно указать, как далеко с каждой стороны от начала можно крутить. Симметрия не обязательна.

A. Twist Axis

B. Plane Axis

C. Twist x Plane Axis (outward)

1. Twist Min.

2. Twist Max.

3. Twist Range

A. Twist Axis

B. Plane Axis

C. Twist x Plane Axis (outward)

1. Twist Range

Две другие оси взаимосвязаны и вместе определяют, какой объем позволено занимать дочернему телу. Так что сначала будут показаны конические углы, внутри которых дочернему телу позволено двигаться:

A. Twist Axis

B. Plane Axis

C. Twist x Plane Axis (outward)

1. Cone Min.

2. Cone Max.

A. Twist Axis

B. Plane Axis

C. Twist x Plane Axis (outward)

На рисунке ограничителя для плеча зеленый конус дает возможные положения кости плеча в суставе. Однако придется уточнить разрешенный объем с учетом plane axis и заданием plane limits. В этих пределах лежат два соседних конуса:

A. Twist Axis

B. Plane Axis

C. Twist x Plane Axis (outward)

1. Plane

2. Plane Min. Cone

3. Plane Max. Cone

4. Plane Min.

5. Plane Max.

A. Twist Axis

B. Plane Axis

C. Twist x Plane Axis (outward)

1. Plane

2. Plane Min. Cone

3. Plane Max. Cone

Это позволяет создать два разных сценария; в одном конусы, созданные плоскими ограничениями, пересекаются с конусом, созданным коническими углами, а в другом нет:

A. Twist Axis

C. Twist x Plane Axis

1. Plane Min. Cone

2. Plane Max. Cone

A. Twist Axis

C. Twist x Plane Axis

1. Plane Min. Cone

2. Plane Max. Cone

Если объемы не пересекаются, плоские пределы (plane limits) в ограничителе не дают эффекта; однако допущение пересечения и с разумным объемом перекрытия требует ограничить положение дочернего тела.

A. Twist Axis

B. Plane Axis

C. Twist x Plane Axis

Эти параметры следует настроить для правильного движения персонажа в реакторе.

Настройка бедер, спины, шеи и плеч (Hips, Back, Neck and Shoulders)

Продолжение или загрузка файла character02.max из папки \tutorials\reactor\ragdoll.

Поскольку создание и настройка ограничителей Rag Doll выполняется одинаково, будет настроен только один для плеч, и дана таблица для остальных суставов.

Создание ограничителей Rag Doll для плеч:

  1. Панель Create > Helpers > reactor > Object Type > Ragdoll.

  2. Создание щелчком в окне вспомогательного объекта Ragdoll.

Теперь следует указать связанные ограничителем объекты.

  1. В свитке Properties на панели Modify щелчок кнопки None возле Child.

  2. Клавишей H вызов диалога Object Select и выбор RThigh.

На кнопке возле Child теперь значится RThigh.

  1. Включение Parent. Это указывает реактору на связывание ограничителем двух тел.

  2. Щелчок кнопки None рядом с Parent.

  3. Клавишей H вызов диалога Pick Object, выделение Pelvis и щелчок Pick.

На кнопке возле Parent теперь должно стоять Pelvis (таз), а сцена должна быть такова:

Теперь требуется подобрать пределы ограничителя Rag Doll для поведения, как в реальном суставе бедра:

  1. В группе Limits свитка Properties на панели Modify ввод Twist Min = –5.0 и Twist Max = 5.0.

  2. Ввод Cone Min = –25.0 и Cone Max = 55.0.

  3. Ввод Plane Min = –45.0 и Plane Max = 2.5.

Первый ограничитель Rag Doll настроен. Теперь после успешного окончания настройки первого ограничителя можно тем же способом настроить остальные суставы.

Создание ограничителей Ragdoll для спины, шеи и плеч:

В таблице приведен список связываемых костей, ограничителей с именами и параметрами. Можно использовать эти данные для оставшихся в сцене ограничителей Rag Doll.

Constraint Name

Child

Parent

Twist Min

Twist Max

Cone Min

Cone Max

Plane Min

Plane Max

RHipJoint

RThigh

Pelvis

-5.0

5.0

-25.0

55.0

-45.0

2.5

LHipJoint

LThigh

Pelvis

-5.0

5.0

-55.0

25.0

-45.0

2.5

BackJoint1

Spine1

Pelvis

-1.0

1.0

-30.0

30.0

-50.0

5.0

BackJoint2

Spine2

Spine1

-1.0

1.0

-8.0

8.0

-6.0

3.0

BackJoint3

Spine3

Spine2

-1.0

1.0

-8.0

8.0

-6.0

3.0

RShoulderJoint

RUpperArm

Spine3

-5.0

5.0

-75.0

85.0

-5.0

65.0

LShoulderJoint

LUpperArm

Spine3

-5.0

5.0

-85.0

75.0

-5.0

65.0

NeckJoint

Head

Spine3

-5.0

5.0

-45.0

45.0

-15.0

15.0

После создания всех этих ограничителей Rag Doll сцена должна выглядеть так:

Остается добавить эти новые ограничители Rag Doll в решатель Constraint Solver.

Добавление ограничителей Rag Doll в Constraint Solver:

  1. Клавишей H вызов диалога и выбор объекта CSolver01.

  2. в свитке Properties на панели Modify щелчок Add.

  3. Выбор всех ограничителей Rag Doll и щелчок Select.

Теперь Constraint Solver содержит все ограничители, и сцена подготовлена к просмотру.

  1. Сохранение сцены: File > Save As my_character03.max.

Preview your character:

Панель Utility > reactor > Preview & Animation > Preview In Window.

Теперь персонаж должен скатываться по лестницам правильно.