1 Уроки Maya Динамика в сцене 2 Сб Окт 02, 2010 6:55 am
Admin
Admin
Немного усложним задачу — попробуем получить анимацию разбивания бильярдной пирамиды. Смоделируйте сцену с шаром и профилем бильярдного стола с бортиками — в целях экономии времени мы ограничимся лишь имитацией стола, в качестве которой послужит объект AwningWindow из группы геометрических объектов Windows, а лузы создавать не будем (рис. 18). Теперь нужно сделать пирамиду из шаров — можно вручную, но мы прибегнем к команде Array, применить которую придется несколько раз. При первом применении настройте параметры команды в соответствии с рис. 19 — будет сформирован первый ряд шаров (рис. 20). Выделите второй с краю шар (рис. 21), продублируйте его и сместите копию относительно оси Y (рис. 22), а затем примените к нему команду Array, уменьшив число шаров в ряду до четырех (рис. 23). Дальше действуйте по тому же принципу, и в конечном счете вы получите пирамиду из шаров, которую нужно будет откорректировать и развернуть так, чтобы она представляла собой равносторонний треугольник, одна из вершин которого находилась бы на равном расстоянии от бортов (рис. 24). Создайте копию одного из шаров пирамиды и расположите его в противоположной от пирамиды стороне стола — это будет ударный шар-биток (рис. 25).
Создайте коллекцию твердых тел, щелкнув на кнопке CreateRigidBodyCollection (Создать коллекцию твердых тел) панели инструментов Reactor, а затем внесите в коллекцию все объекты сцены, щелкнув на кнопке Add и выбрав все объекты из списка (рис. 26). Проверьте, чтобы ползунок таймера анимации стоял на 1-м кадре, щелкните на кнопке ToggleAutoKeyMode (Переключить в режим автоматического создания ключей). Перетащите ползунок слайдера времени вправо на 5-й кадр и переместите биток к вершине пирамиды (рис. 27). Отключите режим автоматического создания ключей, проиграйте анимацию, и вы увидите, что ударный шар действительно движется в нужном направлении. Щелкните на кнопке Utilities (Сервис) командной панели и далее на кнопке Reactor (Реактор), раскройте свиток Preview&Animation и в поле StartFrame (Начальный кадр) введите число 6 — это необходимо, чтобы первые пять кадров (то есть когда ударный шар движется по определенному нами закону) не учитывались при просчете динамики (рис. 28). Обратите внимание, что теоретически добиться сходного результата мы могли бы и иначе: не изменяя значение в поле StartFrame, а включив в свитке Properties для ударного шара флажок Unyielding (это укажет программе, что данный объект должен анимироваться вручную, а не автоматически модулем Reactor).
Выделите плоскость, раскройте свиток Properties и установите переключатель в группе SimulatuionGeometry в положение UseMesh. В окне SelectObjects выделите все шары и определите для них значения параметров Mass, Elasticity и Friction равными 2; 0,3 и 0,3 соответственно (рис. 29). Щелкните на кнопке CreateAnimation (Создание анимации) — и анимация будет создана. Проиграйте ее и вы увидите, как биток разбивает пирамиду, шары из которой раскатываются в разные стороны (рис. 30).
Имитация ткани
Ткани имитируются в Reactor посредством Cloth-тел, обладающих свойствами эластичности, веса и растяжения, и могут быть созданы на базе самых разных типов объектов: примитивов, Mesh-объектов и т.д. Для того чтобы объекты сцены стали восприниматься как ткани, необходимо вначале назначить им модификатор reactorCloth, а затем создать коллекцию Cloth-тел — ClothCollection (сокращенно CLCollection), в которую и включить данные объекты.
Для примера создайте простую сцену из шара и лежащей на нем обычной плоскости с большим числом сегментов по обеим осям (рис. 31) — попробуем добиться того, чтобы плоскость превратилась в ткань, реалистично облегающую шар. Создайте две коллекции: коллекцию твердых тел (RBCollection) и коллекцию тканей (ClCollection) — рис. 32. Добавьте шар в RBCollection, выделив иконку коллекции, щелкнув на кнопке Add панели Modify и указав в открывшемся списке объектов шар. Выделите плоскость и назначьте ей модификатор reactorCloth (рис. 33). Активируйте иконку ClCollection и через панель Modify включите плоскость в коллекцию тканей — обратите внимание, что без назначения объекту Plane01 указанного модификатора его имя при щелчке на кнопке Add не появилось бы в списке возможных для включения в коллекцию объектов.
Согласно поставленной задаче анимация нам не нужна — требуется лишь добиться превращения плоскости в ткань. Поэтому можно ограничиться предварительным просмотром начальных кадров анимации и выбрать из них тот, в котором ткань будет свисать с шара наиболее привлекательно. Только перед этим назначьте плоскости произвольный двусторонний материал, иначе обратная сторона плоскости (а в дальнейшем и ткани) не будет видна. После этого последовательно щелкните на кнопках Utilities и Reactor, раскройте свиток Preview&Animation, затем нажмите на кнопку PreviewinWindow (Предварительный просмотр в окне) — откроется окно модуля Reactor, в котором в начальный момент будет отображаться плоскость в своем исходном виде и шар. Нажмите клавишу p, и начнется последовательное формирование кадров анимации, в которой плоскость будет постепенно опадать на шар, превращаясь в кусок ткани (рис. 34). На понравившемся кадре остановите процесс дальнейшей генерации кадров нажатием клавиши p, из внутреннего меню окна Reactor выберите команду MAX=>UpdateMAX и закройте окно данного модуля. В итоге в окнах проекций плоскость окажется в уже преобразованном виде (рис. 35).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 18. Исходный вид сцены
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 19. Настройка параметров команды Array для первого применения
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 20. Появление первого ряда шаров
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 21. Выделение шара
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 22. Перемещение дубликата шара
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 23. Настройка параметров команды Array для второго применения
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 24. Окончательный вид пирамиды
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 25. Вид сцены с пирамидой и ударным шаром
Рис. 18. Исходный вид сцены
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 19. Настройка параметров команды Array для первого применения
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 20. Появление первого ряда шаров
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 21. Выделение шара
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 22. Перемещение дубликата шара
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 23. Настройка параметров команды Array для второго применения
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 24. Окончательный вид пирамиды
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 25. Вид сцены с пирамидой и ударным шаром
Создайте коллекцию твердых тел, щелкнув на кнопке CreateRigidBodyCollection (Создать коллекцию твердых тел) панели инструментов Reactor, а затем внесите в коллекцию все объекты сцены, щелкнув на кнопке Add и выбрав все объекты из списка (рис. 26). Проверьте, чтобы ползунок таймера анимации стоял на 1-м кадре, щелкните на кнопке ToggleAutoKeyMode (Переключить в режим автоматического создания ключей). Перетащите ползунок слайдера времени вправо на 5-й кадр и переместите биток к вершине пирамиды (рис. 27). Отключите режим автоматического создания ключей, проиграйте анимацию, и вы увидите, что ударный шар действительно движется в нужном направлении. Щелкните на кнопке Utilities (Сервис) командной панели и далее на кнопке Reactor (Реактор), раскройте свиток Preview&Animation и в поле StartFrame (Начальный кадр) введите число 6 — это необходимо, чтобы первые пять кадров (то есть когда ударный шар движется по определенному нами закону) не учитывались при просчете динамики (рис. 28). Обратите внимание, что теоретически добиться сходного результата мы могли бы и иначе: не изменяя значение в поле StartFrame, а включив в свитке Properties для ударного шара флажок Unyielding (это укажет программе, что данный объект должен анимироваться вручную, а не автоматически модулем Reactor).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 26. Включение объектов сцены в коллекцию RBCollection
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 27. Положение шара в первом (слева) и последнем кадрах
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 28. Настройка параметров свитка Preview &Animation
Рис. 26. Включение объектов сцены в коллекцию RBCollection
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 27. Положение шара в первом (слева) и последнем кадрах
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 28. Настройка параметров свитка Preview &Animation
Выделите плоскость, раскройте свиток Properties и установите переключатель в группе SimulatuionGeometry в положение UseMesh. В окне SelectObjects выделите все шары и определите для них значения параметров Mass, Elasticity и Friction равными 2; 0,3 и 0,3 соответственно (рис. 29). Щелкните на кнопке CreateAnimation (Создание анимации) — и анимация будет создана. Проиграйте ее и вы увидите, как биток разбивает пирамиду, шары из которой раскатываются в разные стороны (рис. 30).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 29. Настройка физических параметров шаров
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 30. Вид сцены в некоторых кадрах анимации
Рис. 29. Настройка физических параметров шаров
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 30. Вид сцены в некоторых кадрах анимации
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение] |
Ткани имитируются в Reactor посредством Cloth-тел, обладающих свойствами эластичности, веса и растяжения, и могут быть созданы на базе самых разных типов объектов: примитивов, Mesh-объектов и т.д. Для того чтобы объекты сцены стали восприниматься как ткани, необходимо вначале назначить им модификатор reactorCloth, а затем создать коллекцию Cloth-тел — ClothCollection (сокращенно CLCollection), в которую и включить данные объекты.
Для примера создайте простую сцену из шара и лежащей на нем обычной плоскости с большим числом сегментов по обеим осям (рис. 31) — попробуем добиться того, чтобы плоскость превратилась в ткань, реалистично облегающую шар. Создайте две коллекции: коллекцию твердых тел (RBCollection) и коллекцию тканей (ClCollection) — рис. 32. Добавьте шар в RBCollection, выделив иконку коллекции, щелкнув на кнопке Add панели Modify и указав в открывшемся списке объектов шар. Выделите плоскость и назначьте ей модификатор reactorCloth (рис. 33). Активируйте иконку ClCollection и через панель Modify включите плоскость в коллекцию тканей — обратите внимание, что без назначения объекту Plane01 указанного модификатора его имя при щелчке на кнопке Add не появилось бы в списке возможных для включения в коллекцию объектов.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 31. Исходный вид сцены
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 32. Появление иконок коллекций
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 33. Назначение плоскости модификатора reactorCloth
Рис. 31. Исходный вид сцены
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 32. Появление иконок коллекций
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 33. Назначение плоскости модификатора reactorCloth
Согласно поставленной задаче анимация нам не нужна — требуется лишь добиться превращения плоскости в ткань. Поэтому можно ограничиться предварительным просмотром начальных кадров анимации и выбрать из них тот, в котором ткань будет свисать с шара наиболее привлекательно. Только перед этим назначьте плоскости произвольный двусторонний материал, иначе обратная сторона плоскости (а в дальнейшем и ткани) не будет видна. После этого последовательно щелкните на кнопках Utilities и Reactor, раскройте свиток Preview&Animation, затем нажмите на кнопку PreviewinWindow (Предварительный просмотр в окне) — откроется окно модуля Reactor, в котором в начальный момент будет отображаться плоскость в своем исходном виде и шар. Нажмите клавишу p, и начнется последовательное формирование кадров анимации, в которой плоскость будет постепенно опадать на шар, превращаясь в кусок ткани (рис. 34). На понравившемся кадре остановите процесс дальнейшей генерации кадров нажатием клавиши p, из внутреннего меню окна Reactor выберите команду MAX=>UpdateMAX и закройте окно данного модуля. В итоге в окнах проекций плоскость окажется в уже преобразованном виде (рис. 35).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 34. Предварительный просмотр кадров анимации в окне Reactor
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 35. Ткань на шаре
]Рис. 34. Предварительный просмотр кадров анимации в окне Reactor
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 35. Ткань на шаре