
- •Пример № 4 Персонаж взаимодействует с другими объектами.
- •Пример № 5.
- •(Отсутствует)
- •(Отсутствует)
- •(Отсутствует)
- •1. Перезапустите 3ds max 4.
- •Пример № 6 Работа с данными Motion Capture.
- •1. Перезапустите 3ds max 4.
- •Пример № 7 Покрытие скелета оболочкой с помощью модификатора Physique
- •Пример № 8. Работа с анимацией групп.
- •Урок 1. Начала работы с поведением
- •Создание группы
- •Добавление поведения
- •Применение визуальной подсказки
- •Настройка поведения
- •Изменение поведения
- •Пример № 9. Анимация многоногих существ
- •Выбор и перемещение рук вниз
- •Привязка рук к позвоночнику
Пример № 8. Работа с анимацией групп.
Данный пример описывает технику, применяемую в Character Studio для анимации групп объектов. Анимация группы начинается с применения алгоритма поведения к делегатам (объектам, которые являются членами группы). Далее делегатам назначаются сетчатые объекты или объекты Biped. Эти объекты могут иметь собственную анимацию, которая складывается с анимацией членов группы разными способами.
В этом примерах Вы научитесь:
создавать и анимировать группы;
применять поведение к делегатам;
применять анимацию группы к сетчатым объектам и объектам Biped.
Урок 8.1: Начало работы с поведением |
Работа с анимацией групп.
Данный пример описывает технику, применяемую в Character Studio для анимации групп объектов. Анимация группы начинается с применения алгоритма поведения к делегатам (объектам, которые являются членами группы). Далее делегатам назначаются сетчатые объекты или объекты Biped. Эти объекты могут иметь собственную анимацию, которая складывается с анимацией членов группы разными способами.
В этом примере Вы научитесь:
создавать и анимировать группы;
применять поведение к делегатам;
применять анимацию группы к сетчатым объектам и объектам Biped.
Урок 1. Начала работы с поведением
Работа с группой дает Вам возможность определять поведение делегатов. Этот урок научит Вас, как создавать делегатов и объединять их в группу. Вы создадите поведение и назначите его минимально возможной группе – одному делегату.
Создание делегата.
На панели Create нажмите кнопку Helpers.
В свитке Object Type нажмите Delegate.
В окне Top нажмите левую кнопку мыши и переместите курсор для создания объекта Delegate.
По умолчанию вершина пирамиды, изображающей делегата, указывает вперед, по направлению его движения. Добавление делегата в окне Top означает его движение вперед в мировой системе координат.
Создание группы
Объект группы доступен на том же свитке.
В любом окне добавьте объект Crowd.
Делегат и группа в окне Top.
Размер, местоположение и ориентация толпы не важны. Убедитесь лишь в том, что создали объекты так, чтобы удобно было выбрать ее в нужный момент.
Совет: Создание группы выделения для объектов группы позволит быстро выбрать ее в нужный момент.
Добавление поведения
Мы добавим поведение и применим его к делегату. Прежде всего, используем блуждающее поведение (Wander Behavior).
Перейдите на панель Modify, на которой будут свитки для объекта группы.
На свитке Setup нажмите кнопку New.
В диалоге Select Behavior Type выберите Wander Behavior и нажмите OK.
Имя по умолчанию для поведения Wander, появится в списке внизу свитка Setup и новый свиток Wander Behavior появится в командной панели под свитком Setup. Вы сможете найти полное описание его параметров в разделе Wander Behavior.
Когда Вы будете иметь много разных поведений в одной сцене, этот свиток покажет Вам тип и параметры текущего поведения.
Поменяйте имя для поведения, щелкнув левой кнопку мыши в списке и набрав новое имя, например My Wander Behavior.
Совет: Когда сцена содержит много поведений одного типа, давайте им разные имена.
Имя не изменяется в заголовке свитка. Заголовок показывает только тип поведения.
Назначение поведения объекту.
Далее мы назначим поведение делегату.
В свитке Setup нажмите кнопку Behavior Assignments.
Этот диалог позволит Вам группировать делегатов в команды, а так же назначать поведение и контроллеры распознавания делегатам и командам. Более подробный материал будет дан в следующих уроках. Кроме того, подробную информацию Вы можете найти в справке по Behavior Assignments and Teams Dialog.
В диалоге Behavior Assignments and Teams в группе Assignment Design нажмите два пункта: Delegate1 и My Wander Behavior.
Кнопка New Assignment, окруженная красной рамкой.
Когда Вы выберите и делегата и поведение кнопка New Assignment станет доступной. Это вертикальная кнопка, расположенная между группами Assignment Design и Behavior Assignments, на которой изображены стрелки, указывающие вправо.
Нажмите кнопку New Assignment.
Назначение добавится в список Behavior Assignments group. По умолчанию оно имеет максимально возможный вес 1.0 и активно.
Закройте диалог, нажав OK.
Проведение моделирования.
Теперь Вы готовы провести моделирование движения группы.
На командной панели Crowd, в свитке Solve , нажмите кнопку Solve. Как результат, делегат будет блуждать случайным образом.
Траектория блуждающего делегата.
Совет: Чтобы посмотреть траекторию, перейдите на панель Motion и нажмите кнопку Trajectories.
Воспроизведите анимацию
Возможно, Вам придется поменять установки окна просмотра, чтобы увидеть всю анимацию.
Поэкспериментируйте с установками поведения и делегата. Запомните, что для просмотра параметров группы, объект группы должен быть выбран.
Вы можете попробовать следующее.
Поменяйте установку Period чтобы настроить, как долго делегат должен двигаться перед сменой направления.
Поменяйте Seed, чтобы изменить случайный путь.
Выберите делегата и в свитке Motion Parametrs выключите Constrain to XY Plane. Это дает делегату возможность блуждать в трехмерном пространстве. Для того, чтобы смоделировать движение после этого, Вы должны выбрать объект группы снова.
Совет: Для экономии времени включите
Plug-in Keyboard
Shortcut Toggle и
нажмите клавишу S для
моделирования, когда панель Modify
активна.
Теперь, когда Вы научились основным действиям с объектами группы, можно работать с настоящими группами, составленными из более чем одного делегата.
Урок 8.2: Использование нескольких делегатов и поведений. |
Как Вы увидите в этом уроке, Character Studio имеет некоторые специальные средства для работы со многими делегатами и группами. Кроме того, Вы исследуете несколько новых поведений.
Данный урок построен на знаниях, полученных в предыдущем. Если Вы не выполнили его полностью, вернитесь к его изучению.
Начало
Запустите 3ds max 4. Затем создайте делегата и группу, как в первом уроке.
Создайте небольшой кубик примерно в центре рабочего пространства, а затем создайте большую сферу вокруг него. Сфера и кубик должны быть примерно концентричны.
Вы можете загрузить .max файл, в котором уже имеются эти объекты. Откройте файл cs_tut08_lesson2.max из директория cstudio\tutorials\tutorial8, который расположен в главном директории 3ds max 4.
Клонирование делегатов
Вы будете использовать инструменты Scatter Objects, чтобы создать несколько клонов делегата, разместить их на поверхности большой сферы и нацелить их на куб.
Выберите объект группы и перейдите на панель Modify.
На свитке Setup нажмите кнопку Scatter, чтобы открыть диалог Scatter Object. Данный диалог полностью документирован в соответствующем разделе электронного справочника.
В этом диалоге на закладке Clone под Object Clone нажмите кнопку с надписью None и выберите Delegate 01. Нажмите кнопку Select.
Поменяйте значение How Many на 9.
Нажмите кнопку Generate Clones.
Это создаст девять клонов первого делегата (итого десять). Но в настоящий момент их не видно.
В диалоге Scatter Objects, закладка Position, группа Placement Relative to Object, выберите On Surface.
В той же группе нажмите кнопку None и выберите Sphere01. Когда Вы использовали сферу, чтобы разместить клоны делегатов, Вы не выбрали Inside Sphere, так как на поверхности сферы, а не внутри ее объема.
Нажмите кнопку Generate Locations внизу панели Position.
Делегаты, рассеянные на поверхности сферы.
Переориентация делегатов
Клоны делегатов случайным порядком разместились на поверхности сферы. Теперь все они указывают в одном направлении. На этом шаге Вы переориентируете их так, чтобы они указывали на кубик в центре.
В диалоге Scatter Object на закладке Rotation в группе Look At Target выберите Selected Object.
Кнопка None станет доступной.
В той же группе нажмите кнопку None и выберите Box01
Нажмите кнопку Generate Orientations.
Делегаты указывают на кубик.
Теперь все делегаты указывают на кубик.
Нажмите кнопку OK, чтобы закрыть диалог Scatter Objects.
Добавление поведений
Выберите большую сферу и нажмите кнопку Delete, чтобы удалить ее из сцены.
Вы будете использовать эти установки в 4-м уроке.
Сохраните сцену на cs_tut08_lesson4a.max
Далее мы используем два поведения – Seek и Repel, чтобы половина делегатов перемещалась к кубику, а другая от него.
Выберите объект группы и в свитке Setup добавьте поведение Seek.
На свитке Seek Behavior нажмите кнопку None и выберите кубик. Его имя (Box01) появится на кнопке, показывая, к какому объекту будут стремиться делегаты с этим поведением.
На свитке Setup нажмите Behavior Assignments.
Вы можете назначить поведение одному делегату за раз. Но в этом нет необходимости. Имеющиеся средства позволяют группировать делегатов в команды и назначать поведение всей команде.
В диалоге Behavior Assignments and Teams в группе нажмите кнопку New Team.
Этим Вы добавите с названием по умолчанию Team0. Вы можете переименовать ее, щелкнув левой кнопкой мыши на имени вверху группы.
Переименуйте команду в Seek Team.
Далее Вы укажете, какие делегаты являются членами группы Seek Team.
Нажмите кнопку Add Members. В диалоге Select Delegates нажмите Delegate01 и, нажав клавишу Shift, щелкните кнопкой мыши на Delegate05, чтобы выбрать первые 5 делегатов. Нажмите OK для выхода
Имена делегатов появятся на списке Seek Team.
В группе Assignment Design, списке Teams, нажмите кнопку Seek Team и в списке Behaviors нажмите кнопку Seek Behavior.
Нажмите кнопку New Assignment, чтобы создать назначение
Создание поведение в диалоге Behavior Assignments and Teams
Вы создадите поведение Repel в диалоге Behavior Assignments and Teams.
В диалоге Behavior Assignments and Teams, в группе Assignment Design, нажмите кнопку New Behavior и выберите Repel Behavior.
Поведение добавится к списку Behaviors. Вам понадобится использовать командную панель для модификации поведения. Диалог откроется, чтобы Вы могли сделать это.
В свитке Setup выберите из списка Repel Behavior.
Свиток Repel Behavior заменит свиток Seek Behavior.
В свитке Repel Behavior выберите Box01 в качестве объекта, от которого будут стремиться делегаты, используя те же методы, что и для поведения Seek.
В том же свитке в группе Radius, выключите Use Radii.
Это означает, что поведение Repel применяется на любом расстоянии от объекта, а не только в определенном радиусе.
Создайте новую команду, содержащую делегатов с 6 по 10 и назовите Repel Team.
Назначьте поведение Repel команде Repel Team и закройте диалог.
Запустите моделирование.
Половина делегатов двигается к кубику, другая половина от него, но все они перемещаются в одной плоскости. Вы можете сделать так, чтобы они перемещались в трех измерениях.
Если Вы помните прошлый урок, то в нем это достигалось выключением флажка Constrain to XY Plane. Однако, на этот раз Вы воспользуетесь средствами, позволяющими делать это сразу для нескольких делегатов.
Перемещение делегатов в трех измерениях
В свитке Setup, нажмите Multiply Delegate Editing.
Появится диалог Edit Multiply Delegates. Вы можете использовать этот диалог для изменения свойств нескольких делегатов одновременно.
В диалоге Edit Multiple Delegates, группа Delegates to Edit, нажмите кнопку Add.
В диалоге Select нажмите кнопку All, а затем Select.
Это добавит всех делегатов сцены к списку редактирования.
Вы не можете работать с командами в диалоге Edit Multiple Delegates, однако диалог Behavior Assignments позволяет создавать именованные наборы из команд, и диалог Select дает возможность работать с такими наборами.
В свитке General выключите Constrain to XY Plane.
Включите SET, поставив галочку в окошке.
Это значит, что изменения вступят в силу после того, как Вы закроете диалог.
Нажмите кнопку Apply Edit. Диалог закроется, и изменения вступят в силу для всех выбранных делегатов.
Запустите моделирование.
На этот раз делегаты двигаются в трех измерениях. Половина из них двигается к кубику, другая от него. Делегаты, стремящиеся к нему, продолжают указывать на него и после того, как они достигли своей цели, продолжая двигаться вокруг нее.
Сохраните результат работы в файл cs_tut08_lesson3a.max для использования в следующем уроке.
Урок 8.3: Применение избегающего поведения и анимация назначения поведений. |
В предыдущем уроке Вы могли обратить внимание на то, что делегаты пересекались друг с другом, когда они приближались к кубику. В этом уроке Вы научитесь использовать избегающее поведение, чтобы не допускать таких ситуаций. Вы также научитесь применять второе поведение к команде Seek Team и анимировать влияние поведения на делегатов.
Добавление избегающего поведения.
Загрузите файл, сохраненный в конце предыдущего урока или, если хотите, загрузите файл cs_tut08_lesson3.max из директория cstudio\tutorials\tutorial_8, который расположен в главном директории 3ds max 4.
Выберите объект группы.
Добавьте поведение Avoid.
Подобно поведениям Seek и Repel, поведение Avoid имеет кнопку для спецификации одиночного объекта. Но нам надо назначить это поведение нескольким объектам, поэтому применим кнопку Multiple Selection.
В свитке Avoid Behavior, нажмите кнопку Multiple Selection.
Выделите все объекты (делегатов и кубик) и нажмите Select.
Используйте диалог Behavior Assignment, чтобы применить полученное поведение к команде Seek Team.
Когда Вы нажмете кнопку New Assignment, поведение Avoid появится в списке назначения выше, чем Seek. Это происходит потому, что список сортируется по алфавиту. Все поведения применяются одновременно, без анимации статуса активности. Поэтому при моделировании и поведение Seek, и Avoid будут применяться к делегатам в каждом кадре.
Проведите моделирование.
Делегаты теперь стараются быть подальше друг от друга и от кубика.