3D моделирование в LightWave 8

продажа песка


Работа с костями

Кости очень важны для анимации, так как их назначение - деформировать и изгибать геометрию. Существует два способа создать кости. Первый способ заключается в добавлении в объект независимой кости. Его применяют, когда вводят в объект первую кость. Независимая кость никак не связана с остальными костями модели.
Второй способ - это связать кости связью «родитель-ребенок», то есть присоединить новую кость к уже существующей (подробнее об этой связи рассказывается в главе 10). По умолчанию кость-ребенок (child bone) создается как независимая кость в том случае, если в объекте нет ни одной кости. Чтобы лучше понять принципы создания костей, изучите следующий пример (он так же разбит на несколько этапов).

Добавление костей в объект

1. В Modeler при помощи инструмента Disc ( Диск) создайте цилиндр со следующими параметрами: axis (ось) - Z, число граней 24, число сегментов 12, bottom (дно) 0 m, top (вершина) 4 т, center X (центр по оси X) 0 m, center Y (центр по оси Y) 0 m, center Z (центр по оси Z) 2 m, radius X (центр по оси X) 500 mm, radius Y (центр по оси Y) 500 mm, radius Z (центр по оси Z) 2 m (рис. 7.68).

Рис. 7.68. Создайте цилиндр, который далее будет деформирован двумя костями
2. Сохраните цилиндр, нажав клавишу S. В появившемся диалоговом окне Save As (Сохранить как) введите имя Bone-Tube.lwo и отправьте созданный элемент в Layout.
3. Из выпадающего меню View (Вид), расположенном в правом верхнем углу окна проекции, выберите пункт Right (ZY).
4. В Layout из выпадающего меню режимов отображения, расположенном в верхнем левом углу экрана, выберите пункты Maximum Render Level->Wireframe (Максимальный уровень отображения -> Каркас).
5. Чтобы создать кость-ребенка, нажмите клавишу = (Равно). Появится диалоговое окно Bone Name (Имя кости).
6. В появившемся окне щелкните по кнопке ОК или нажмите клавишу Enter, чтобы присвоить созданной кости имя по умолчанию (рис. 7.69). Заметьте, что кость мала для созданного вами объекта (рис. 7.70). В этом примере кость должна влиять на половину объекта Bone-Tube.lwo, длина которого составляет четыре метра, поэтому кость необходимо увеличить до двух метров.

Рис. 7.69. Чтобы присвоить имя по умолчанию и закрыть диалоговое окно, щелкните по кнопке ОК

Рис. 7.70. Длина кости по умолччанию (1 м) очень мала для этого объекта. Необходимо увеличить ее хотя бы до половины длины объекта

Рис. 7.71. Чтобы настроить параметры кости, воспользуйтесь окном свойств Bones
7. Щелкните по кнопке Items Properties или нажмите клавишу Р. Откроется окно свойств Bones (Кости) - рис. 7.71.
8. В поле Rest Length (Длина) введите 2 m (рис. 7.72), чтобы кость заняла половину созданного объекта.
9. Чтобы создать кость-ребенка для первой кости, выполните шаги 5 и 6. Так как кости-потомки полностью наследуют все свойства родителей, то длина кости Bone (2) составляет 2 м, она прекрасно заполнила вторую половину Bone-Tube.lwo (рис. 7.73).

Рис. 7.72. Параметр Rest Length определяет длину кости

Рис. 7.73. Если вы создаете кость-ребенка, то она автоматически наследует все свойства родителя
10. В окне свойств Bones отметьте галочкой опцию Bone Active (Кость активна) для второй кости - рис. 7.74. Заметьте, что линии кости стали сплошными, а не пунктирными, это означает, что кость влияет на геометрию (рис. 7.75).

Рис. 7.74. Если требуется изменить положение кости внутри объекта, можно сделать ее не активной. Производимые изменения не будут влиять на объект

Рис. 7.75. Активные кости изображаются в сплошных линиях, а нективные - в пунктирных
11. Из меню Current Bone (Текущая кость) выберите пункт Bone (1).
12. Отметьте галочкой опцию Bone Active.
13. В окне проекции Layout выделите кость Bone (2).
14. На панели инструментов щелкните по кнопке Rotate (Вращать) или нажмите клавишу Y, разверните кость Bone (2) на - 90 градусов относительно оси Pitch. Теперь объект Bone-Tube.lwo согнут (рис. 7.76).

Рис. 7.76. Кость сгибает цилиндр

После того как кость-ребенок была создана, она не будет наследовать изменения параметров кости-родителя.

Иногда требуется развернуть кость, не оказывая влияния на геометрию. Можно повернуть Bone (2) на - 90 градусов относительно оси Pitch, при этом геометрия не изменится, если кость не была активирована (рис. 7.77).

Если вы добавляете несколько однотипных объектов и не присваиваете каждому уникальное имя, Layout автоматически создает для них различные индексы. Например, в описанной выше процедуре были созданы две кости, при этом им не были присвоены уникальные имена, поэтому первая кость названа Bone (1), а вторая - Bone (2).

Рис. 7.77. Объект не изогнулся поскольку кость не активирована

Настройка костей

При повороте кости Bone (2) вы, вероятно, заметили, что геометрия вокруг Bone (1) слегка изменилась. Дело в том, что кость все еще продолжает влиять на объект. Это можно исправить, задав значение затухания кости. Чем выше это значение, тем меньше кость влияет на геометрию.

Определение затухания кости

1. Выполните процедуру «Добавление костей в объект».
2. В окне свойств Bones из выпадающего меню Falloff Type (Тип затухания) выберите пункт Distance ^ 128 (Расстояние ^ 128) - рис. 7.78.
3. Щелкните по зеленому маркеру на кости Bone (2) и поверните ее. Теперь геометрия вокруг Bone (1) остается неподвижной.

Рис. 7.78. Тип затухания определяет степень проявления эффекта, создаваемого костью. Чем выше значение, тем меньше область действия

Чтобы изменить влияние кости на объект, можно воспользоваться весовой картой костей (см. главу 5). Вы можете определить карту, выбрав имя кости из выпадающего меню Bone Weight Map (Весовая карта кости), которое находится в окне свойств Bones.

Можно определить, насколько изменится геометрия вокруг кости, применив настройку Strength (Сила) в окне свойств Bones.

Теперь рассмотрим, что происходит с объектом в месте соединения костей (в суставе) при деформации. Когда кость Bone (2) поворачивается, трубка сгибается и сдавливается в месте соединения костей (рис. 7.79). Иногда эффект получается таким, как вы желаете, а иногда нет. Но и это можно исправить.

Рис. 7.79. Трубка сгибается и сдавливается в месте соединения костей

Компенсация в суставах

Рис. 7.80. При использовании команды Joint Compensation геометрия вокруг сустава сохраняет свои размеры
1. Выполните процедуру «Добавление костей в объект».
2. В нижней части окна свойств Bones отметьте галочкой опцию Joint Compensation (Компенсация сустава) - рис. 7.80.
3. Перейдите на вкладку Items (Элементы), затем щелкните по кнопке Rotate на панели инструментов. Поверните кость. Заметьте, что теперь объект не так сильно сдавливается в месте соединения костей, однако этот эффект сохранился со стороны кости Bone (1) - рис. 7.81.
4. Отметьте галочкой опцию Comp for Parent (Компенсация для родительских элементов). Теперь геометрия вокруг сустава принимает исходный вид (рис. 7.82).

Рис. 7.81. Сустав - это место соединения двух костей, геометрия вокруг сустава была скомпенсирована лишь для кости-ребенка

Рис. 7.82. Активируйте опцию Joint Compensation for Parent. Теперь геометрия вокруг кости-родителя изменяется так же, как и вокруг кости-ребенка

Если вы хотите убрать эффект сдавливания в месте сгиба, активируйте опции Joint Compensation и Joint Comp for Parent.

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

При работе над персонажами часто требуется имитировать напряжение бицепса при сгибании руки. Можно получить реалистичный эффект, воспользовавшись одной из опций имитации сокращения мышц. Но будьте внимательны, как и компенсация в суставах, эта опция применяется только к выделенной кости. Не нужно настраивать опцию сокращения мышц для кости Bone (1), так как поворот Bone (2) не будет создавать никакого эффекта. Чтобы создать сокращение мышц, воспользуйтесь опцией Muscle Flexing for Parent (Сокращение мышц кости-родителя) для кости Bone (2).

Имитация сокращения мышц

1. Выполните процедуру «Добавление костей в объект». 2. В окне проекции щелкните по кости Bone (2). 3. В окне свойств Bones поставьте галочку в окошке метки Muscle Flexing (Сокращение мышц) - рис. 7.83. Заметьте, что мышцы сокращаются вокруг кости Bone (2), а не вокруг кости-родителя (рис. 7.84).

Рис. 7.83. Опция Muscle Flexing позволяет получить эффект сокращения мышц

Рис. 7.84. Опция Muscle Flexing создает эффект сокращения вокруг текущей кости
4. Отключите опцию Muscle Flexing для кости Bone (2) и активируйте опцию Muscle Flexing for Parent (Сокращение мышц кости-родителя). Теперь мышцы сокращаются в нужном месте (рис. 7.85).

Рис. 7.85. Теперь геометрия деформируется в желаемом месте

Можно определить степень сокращения мышц, указав процентную характеристику. Это можно сделать при помощи стрелок, расположенных справа от опции, или ввести цифры вручную в соответствующие числовые поля.

Работа с костями других объектов

Предположим, требуется создать несколько объектов, которые сгибались бы одновременно. Нет необходимости настраивать каждую кость в отдельности для каждого объекта, можно задать значения только для одного объекта, а второй объект унаследует их.
1. Выполните процедуру «Добавление костей в объект». Затем следует нажать клавишу + (Плюс), чтобы загрузить еще одну копию объекта Bone-Tube.lwo. Layout присвоит ей имя Bone-Tube (2), а исходный объект будет переименован в Bone-Tube (1).
2. Из выпадающего меню View (Вид) выберите пункт Perspective (Перспектива).
3. В окне проекции щелкните по объекту Bone-Tube (2).
4. Перейдите на вкладку Items (Элементы), на панели инструментов щелкните по кнопкеMove (Переместить) или нажмите клавишу Т. Переместите объект Bone-Tube (2) вдоль оси X на 2 м.
5. Щелкните по кнопке Bones, расположенной под выпадающим меню Current Item (Текущий элемент), или нажмите клавиши Shift+B. Вы перейдете в режим редактирования костей.
6. Щелкните по кнопке Item Properties (Свойства элемента) или нажмите клавишу Р. Откроется окно свойств Bones. Из выпадающего меню Use Bones From Object (Использовать кости из объекта) выберите пункт Bone-Tube (1)-рис. 7.86.

Рис. 7.86. Меню Use Bones From Object позволяет изменить параметры одной цепи костей, а затем применить эти настройки для аналогичных объектов
На панели инструментов щелкните по кнопке Rotate (Вращать) или нажмите клавишу Y, затем поверните кость Bone (2) в объекте Bone-Tube (1). Заметьте, что теперь сгибаются оба объекта (рис. 7.87).

Рис. 7.87. Оба объекта сгибаются одновременно

Книжный магазин