Link:INB Home|INB English| INB русский язык|INB العربية|INB Türkiye|INB فارسی|INB Español|INB Français|INB Português|INB Deutsch|INB 國語|INB 中文|INB 日本语|INB 한국어|INB ภาษาไทย|INB tiếng Việt||Уроки Maya Динамика в сцене 1
INB русский язык Форум
Добро пожаловать! inbforum.COM Интернет без границ Форум Здесь вы можете обсудить с друзьями по всему миру прений, приходите и присоединяйтесь к нам! Постоянный имя: Ruinbforum.forumotion.com
INB русский язык Форум

Добро пожаловать! inbforum.COM Интернет без границ Форум Здесь вы можете обсудить с друзьями по всему миру прений, приходите и присоединяйтесь к нам! Постоянный имя: Ruinbforum.forumotion.com


Вы не подключены. Войдите или зарегистрируйтесь

《《《《《《《上一页INBforum   Перейти вниз

上一页INBforum》》》》》》》Предыдущая тема Следующая тема Перейти вниз  Сообщение [Страница 1 из 1]

1Уроки Maya  Динамика в сцене 1 Empty Уроки Maya Динамика в сцене 1 в Сб Окт 02, 2010 6:54 am

Admin

Admin
Admin
Одной из сложностей моделирования и анимации является необходимость учитывать обычные законы физики: трение, притяжение и т.д., без соблюдения которых реалистичности не добиться. Однако это совсем непросто — например, если требуется смоделировать свободно свисающую под собственной тяжестью ткань, придется долго и кропотливо работать на уровне вершин, распределяя их так, чтобы получающиеся складки выглядели реалистично. Еще сложнее в случае анимации: так, любое упругое тело (например, обычный резиновый мяч) при падении подпрыгивает, причем многократно и на разную высоту. Следовательно, получение анимации подобного падения методом ключевых кадров потребует создания нескольких ключей анимации, что придется сделать вручную, на глазок оценив временные интервалы между ключевыми кадрами и расстояния, на которые должен подниматься объект при подпрыгивании. Очевидно, что подобных движущихся объектов в любой сцене множество, да и движение их гораздо сложнее. Более того, помимо них имеется немало второстепенных объектов — создающих фон и на первый взгляд статичных, которые, тем не менее, для реалистичности также должны изменяться во времени, например провода на ветру чуть колышутся, свисающая с чердака веревочная лестница слегка колеблется, по водной поверхности бежит слабая рябь и т.п. Анимировать все их вручную — задача непосильная, тем более что нужно не просто анимировать, а анимировать с учетом реальных физических свойств данных объектов.
Для решения таких задач существует немало специализированного ПО, обеспечивающего просчет поведения объектов в реальных условиях. В 3D Studio MAX для этой цели применяется специальный модуль Reactor, позволяющий моделировать динамику твердых и мягких тел, тканей, жидкостей, гибких объектов и сложных составных конструкций. При просчете динамики учитываются такие физические свойства объектов, как масса, гибкость, вязкость, коэффициент трения, а также атмосферные явления (гравитация, ветер и другие назначенные силы), а моделирование движений объектов происходит в режиме реального времени, что позволяет контролировать ситуацию и сразу же корректировать настройки динамических параметров. Подобный просчет производится сравнительно быстро и при минимальных усилиях со стороны пользователя, так как отпадает необходимость вручную оживлять отдельные взаимодействующие между собой объекты сцены, а все ключевые кадры анимации создаются автоматически.
Модуль Reactor включает множество инструментов, которые можно разбить на три большие группы: коллекции (Collection), воздействия (Actions) и конструкции (Constraints). Коллекции содержат инструменты для моделирования динамики твердых (RigidBody) и мягких тел (SoftBody), тканей (Cloth), деформируемых сеток (DeformingMesh) и гибких тел (Rope). В списке воздействий представлены такие силовые воздействия, как Wind (Ветер), Motor (Мотор), Fracture (Излом), водная рябь (Water) и т.п. В группе конструкций объединены инструменты для работы со сложными составными объектами (то есть каким-то образом связанными между собой) — с их помощью можно просчитать, например, динамику открывания двери (которая висит на дверных петлях), вращения колес автомобиля (связанных с его кузовом) и т.д.
Все названные инструменты (за исключением инструмента Water, который расположен на закладке Reactor категории SpaceWarps) находятся в категории Helpers на закладке Reactor (рис. 1). Кроме того, все без исключения инструменты содержатся на панели инструментов Reactor, находящейся в левой части окна программы (рис. 2).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 1. Инструменты на закладке Reactor (категория Helpers)

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 2. Панель инструментов Reactor


Настройка динамики при помощи модуля Reactor, как правило, предполагает выполнение следующих действий:

  • назначение таким типам объектов, как ткани, мягкие и гибкие тела, соответствующих Reactor-модификаторов с последующей настройкой их параметров;
  • создание иконок нужных Reactor-коллекций и включение их в состав объектов сцены для того, чтобы они участвовали в расчетах динамики;
  • установку в свитке Properties (Свойства) модуля Reactor физических параметров для каждого из объектов сцены;
  • анализ и просчет динамики.

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение] [Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Имитация динамики твердых и мягких тел


Твердые тела (RigidBody) имеют некоторую массу и трение, подвержены воздействию разнообразных сил (гравитации, ветра и т.д.) и при столкновении могут разрушаться. Мягкие тела (SoftBody) также обладают массой и трением, подвергаются силовым воздействиям и при столкновениях и иных внешних воздействиях деформируются. Для того чтобы объекты сцены стали восприниматься в расчетах динамики как твердые тела, необходимо создать коллекцию твердых тел RigidBodyCollection (сокращенно — RBCollection) и включить в нее объекты. С мягкими телами несколько сложнее — для учета их в динамических расчетах требуется назначить телам модификатор reactorSoftBody, создать коллекцию мягких тел SoftBodyCollection (сокращенно — SBCollection) и включить в нее объекты с модификаторами. Обратите внимание, что назначение модификатора reactorSoftBody предшествует включению объекта в коллекцию SBCollection, так как объект без данного модификатора добавить в коллекцию мягких тел просто невозможно.
Для примера создайте простую сцену из обычной плоскости с шаром (рис. 3). Предположим, резиновый шар должен упасть на плоскость (например, на пол), естественно деформироваться при падении и несколько раз подпрыгнуть — это означает, что плоскость представляет собой твердое тело, а шар — мягкое. Начнем с плоскости — создайте коллекцию твердых тел, щелкнув на кнопке CreateRigidBodyCollection (Создать коллекцию твердых тел) панели инструментов Reactor либо активировав инструмент RBCollection (закладка Reactor категории Helpers) и щелкнув в произвольном месте сцены (местоположение коллекции значения не имеет). Это приведет к появлению в окнах проекции иконки данной коллекции (рис. 4). Теперь следует включить в коллекцию ранее созданную плоскость. Для этого выделите иконку RBCollection, откройте панель Modify, щелкните на кнопке Add (Добавить) и в списке доступных объектов укажите плоскость (рис. 5), что приведет к появлению объекта Plane01 в списке твердых тел (рис. 6).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 3. Исходный вид сцены

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 4. Появление иконки RBCollection

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 5. Включение плоскости в коллекцию RBCollection

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 6. Появление плоскости в коллекции RBCollection


Выделите шар и назначьте ему модификатор reactorSoftBody, выбрав его обычным образом из списка ModifierList. Не снимая выделения с шара, щелкните на кнопке CreateSoftBodyCollection (Создать коллекцию мягких тел) панели инструментов Reactor — это приведет не только к созданию коллекции мягких тел (SBCollection), но и к параллельному занесению в нее шара (рис. 7). Если же выделение с шара окажется снятым, то щелчок на инструменте CreateSoftBodyCollection лишь его активирует, а затем придется щелкнуть в одном из окон проекций для создания коллекции, открыть панель Modify и вручную добавить шар в список SBCollection.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 7. Появление шара в коллекции S BCollection


Теперь можно приступать к просчету анимации. Щелкните на кнопке Utilities (Сервис) командной панели и далее на кнопке reactor (Реактор), что приведет к раскрытию набора свитков, относящихся к модулю Reactor (рис. Cool. Теперь, если все динамические параметры верны, достаточно щелкнуть на кнопке CreateAnimation (Создание анимации), и программа сначала просчитает динамику, а затем создаст анимацию. В противном случае она выдаст сообщение об ошибке, например такое, как представлено на рис. 9. В данном случае такое сообщение неминуемо появится, так как один из параметров настройки — плоскость, изображающая основание сцены, должна быть объявлена как вогнутый объект (что часто упускается из виду новичками) — мы сознательно не учли. Поэтому выделите плоскость, откройте свиток Properties (Свойства) и установите переключатель в группе SimulatuionGeometry (Моделируемая геометрия) в положение UseMesh (Использовать сетку), обеспечивающее один из вариантов формирования вогнутых объектов (рис. 10). После этого щелкните на кнопке CreateAnimation, а затем по окончании просчета обычным образом проиграйте анимацию — шар упадет на плоскость, затем несколько раз подпрыгнет, причем при каждом падении он будет деформироваться (рис. 11).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 8. Свитки модуля Reactor

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 9. Ошибка, найденная программой в рабочей сцене

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 10. Назначение плоскости вогнутым объектом

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 11. Вид деформированного шара в одном из кадров анимации

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение] [Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рассыпаем кубик Рубика


Попробуем воспользоваться возможностями модуля Reactor для того, чтобы создать анимацию рассыпания кубика Рубика на отдельные кубики, что вручную оказалось бы очень длительным процессом. Смоделируйте сцену с находящимся на плоскости кубиком Рубика — для этого вначале создайте плоскость и один кубик (рис. 12), выделите его и примените команду Tools=>Array (Инструменты=>Массив) с параметрами как на рис. 13. В результате вы получите примерно такой же трехмерный массив кубиков, как представлен на рис. 14, — это и будет наш кубик Рубика.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 12. Исходный вид сцены

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 13. Настройка параметров команды Array

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 14. Трехмерный массив кубиков


Выделите все элементы сцены и создайте коллекцию твердых тел, щелкнув на кнопке CreateRigidBodyCollection (Создать коллекцию твердых тел) панели инструментов Reactor, — в итоге коллекция будет создана и в нее автоматически будут включены все выделенные объекты сцены (рис. 15). Выделите плоскость, щелкните на кнопке Utilities (Сервис) командной панели и далее на кнопке reactor (Реактор), раскройте свиток Properties (Свойства) и установите переключатель в группе SimulatuionGeometry (Моделируемая геометрия) в положение UseMesh (Использовать сетку). В окне SelectObjects выделите все элементы кубика Рубика, а затем в свитке Properties установите для них подходящие значения параметров Mass (Масса тела), Elasticity (Эластичность) и Friction (Коэффициент трения) — рис. 16. Обратите внимание, что у плоскости масса остается равной нулю, так как она при анимации должна оставаться неподвижной, в то время как масса любого из кубиков должна быть выше нуля. Щелкните на кнопке CreateAnimation (Создание анимации), и анимация будет создана. Проиграйте ее, и вы увидите, как кубик Рубика рассыпается на отдельные кубики, часть которых даже упадет с плоскости (чтобы этого не происходило, масштабируйте плоскость), — рис. 17.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 15. Создание коллекции RBCollection на базе выделенных объектов

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 16. Настройка физических параметров объектов массива

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 17. Вид сцены в некоторых кадрах анимации
]

http://ru.inbforum.com

上一页INBforum   Перейти вниз

上一页INBforumПредыдущая тема Следующая тема Вернуться к началу  Сообщение [Страница 1 из 1]

Права доступа к этому форуму:
Вы не можете отвечать на сообщения

Copyright ©2009-2010 LTD Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

IT:SINGLESERVGoogle谷歌翻译TranslateFORUMSOFTLAYERGoogle谷歌广告联盟AdSenseAsia

 

Создать форум | © PunBB | Бесплатный форум поддержки | Контакты | Сообщить о нарушении | Последние обсуждения