Первые шаги в Maya. Урок 15. Программно-визуализируемые системы частиц. Часть 2

Светлана Шляхтина

Теоретические аспекты

Столкновение частиц

Притягивание частиц мишенью

Примеры внедрения частиц в сцену

Броуновское движение частиц

Кружащиеся и собирающиеся в стопку кленовые листья

Фужер с шампанским

Горящая свеча

Примеры внедрения частиц в сцену

Броуновское движение частиц

Воспользуемся системой частиц для того, чтобы имитировать броуновское движение частиц внутри замкнутого пространства, в качестве которого будет служить обычный NURBS-шар. Создайте сцену с шаром в центре и назначьте последнему полупрозрачный материал (рис. 18). Внедрите в сцену эмиттер, воспользовавшись командой Particles=>CreateEmitter (Частицы=>Создать эмиттер), и проиграйте анимацию — эмиттер станет испускать частицы, правда количество их слишком велико, появляются они строго в центре шара и спокойно распространяются за его пределы (рис. 19).

 

Рис. 18. Исходная сцена

Рис. 18. Исходная сцена

 

Рис. 19. Вид сцены сразу после создания эмиттера

Рис. 19. Вид сцены сразу после создания эмиттера

 

Попробуем добиться, чтобы частицы появлялись практически в любой внутренней части шара, — это совсем несложно, если выбрать объемный эмиттер. Поэтому выделите эмиттер и в редакторе атрибутов в поле EmitterType установите вариант Volume, в поле Volume Shape Sphere, а затем масштабируйте сферу-эмиттер так, чтобы она стала немного меньше полупрозрачной сферы (рис. 20). Проиграйте анимацию и убедитесь, что цель достигнута. Теперь имитируем столкновение частиц со сферой. Выделите систему частиц и (при нажатой клавише Shift) сферу (не сферу-эмиттер), а затем воспользуйтесь командой Particles=>MakeCollide (Частицы=>Задействовать столкновение) — частицы перестанут вылетать за пределы сферы (рис. 21).

 

Рис. 20. Корректировка формы и размеров эмиттера

Рис. 20. Корректировка формы и размеров эмиттера

 

Рис. 21. Результат установки препятствия в виде поверхности сферы на пути полета частиц

Рис. 21. Результат установки препятствия в виде поверхности сферы на пути полета частиц

 

Обратите внимание, что в начальных кадрах анимации частиц сравнительно немного, зато потом их количество переходит все мыслимые пределы. Причина в том, что каждую секунду эмиттер генерирует по сто частиц, — в нашем же случае требуется, чтобы во всех кадрах анимации одновременно существовало примерно одинаковое их количество. Это значит, что в самых первых кадрах анимации должно сформироваться нужное их число, а затем оно просто должно поддерживаться примерно на том же уровне. Чтобы добиться такого результата, анимируем параметр Rate у эмиттера: выделите эмиттер, активируйте 1-й кадр, установите в поле Rate значение 1000 и создайте анимационный ключ (команда Set Key из контекстного меню) — рис. 22. Переключитесь в 5-й кадр и создайте ключ анимации при том же значении параметра Rate, после чего перейдите в 6-й кадр, введите в поле Rate значение 1 и опять создайте ключ. Проиграйте анимацию и убедитесь, что количество частиц визуально на всем протяжении анимации одинаково (на самом деле в первых пяти кадрах их меньше, но заметить это при обычном просмотре практически невозможно). Измените тип частиц на B lobbySurface (тогда частицы при рендеринге будут выглядеть как обычные сферы) и уменьшите радиус сфер, щелкнув на кнопке CurrentRenderType (Параметры текущего типа визуализации) из свитка RenderAttributes и введя в поле Radius (Радиус) значение 0,1 (рис. 23). Затем добейтесь некоторой хаотичности их движения, увеличив для эмиттера параметры Speed и SpeedRandom примерно до 15 и 10 соответственно и назначив системе частиц радиальную силу (команда Fields=>Radial — Поля=>Радиальность). После этого частицы станут двигаться в соответствии с нашим планом (рис. 24).

 

Рис. 22. Создание ключа для 1-го кадра

Рис. 22. Создание ключа для 1-го кадра

 

Рис. 23. Настройка параметров визуализации частиц

Рис. 23. Настройка параметров визуализации частиц

 

Рис. 24. Броуновское движение частиц

Рис. 24. Броуновское движение частиц

В начало В начало

Кружащиеся и собирающиеся в стопку кленовые листья

Немного усложним задачу и заставим кружиться в пространстве, а затем собираться в стопку кленовые листья. Смоделируйте кленовый лист. Для этого вначале создайте его контур в виде замкнутой NURBS-кривой (это проще сделать на основе имеющего растрового изображения) — рис. 25. А затем выделите контур и примените к нему операцию Bevel (команда Surfaces=> Bevel — Поверхности=>Скос) — в итоге будет получена боковая поверхность листа, придающая ему объем. Затем на основе той же кривой инструментом Planar (команда Surfaces=>Planar — Поверхности=>Планарный) смоделируйте две плоские поверхности, поместите первую из них в качестве верхней плоскости листа, а вторую — в качестве нижней. Объедините все три поверхности в группу (рис. 26), а затем уменьшите размеры всех элементов группы.

 

Рис. 25. Контур кленового листа

Рис. 25. Контур кленового листа

 

Рис. 26. Кленовый лист

Рис. 26. Кленовый лист

 

Создайте систему частиц particle1 с Directional-эмиттером, размещенным в верхней части окна проекции Perspective, повернутым на –90° относительно оси Z и генерирующим частицы в разных направлениях за счет увеличения значения параметра Spread (рис. 27). Назначьте созданной системе частиц силы Gravity, Newton и Turbulence для притягивания частиц поверхностью земли, вращения их и перемешивания во время движения (рис. 28). Отрегулируйте значение скорости движения частиц и влияния сил так, чтобы частицы непрерывно кружились и постепенно опускались на землю. Замените частицы на объект-образец. Для этого выделите группу элементов, образующих кленовый лист, и щелкните на квадратике, расположенном справа от команды Particles=>Instancer (Частицы=>Заместитель). Удостоверьтесь, что в списке ParticleObjecttoInstance выбрана система частиц particle1, а затем для движения объектов с учетом назначенных частицам сил установите для параметров в области Rotation Options вариант Force (рис. 29) и щелкните на кнопке Apply. В итоге каждая из частиц будет заменена на указанный образец, который окажется повернутым в пространстве на определенный (соответствующий комплексному воздействию сил) угол (рис. 30).

 

Рис. 27. Параметры настройки эмиттера

Рис. 27. Параметры настройки эмиттера

 

Рис. 28. Появление частиц

Рис. 28. Появление частиц

 

Рис. 29. Настройка параметров замены частиц на объект-образец

Рис. 29. Настройка параметров замены частиц на объект-образец

 

Рис. 30. Вид сцены после замены частиц на объект-образец

Рис. 30. Вид сцены после замены частиц на объект-образец

 

Дополните сцену плоскостью, имитирующей поверхность земли. Теперь по замыслу нужно сделать так, чтобы кружащиеся листья после того, как достигнут данной поверхности, автоматически собирались в стопку. Это означает, что требуется организовать столкновение частиц с поверхностью, при котором каждая частица создает одну новую частицу, принадлежащую уже другой системе частиц particle2, и умирает. Чтобы организовать это, выделите систему частиц, а затем при нажатой клавише Shift — созданную плоскость и примените к ним команду Particles=>MakeCollide. Откройте редактор событий частиц (команда Particles=> Particle Collision Events), настройте его параметры в соответствии с рис. 31 и щелкните на кнопке CreateEvent. Замените частицы созданной системы на объект-образец.

 

Рис. 31. Параметры настройки события для системы частиц particle 1

Рис. 31. Параметры настройки события для системы частиц particle 1

 

Полученные в результате работы созданного выше события новые частицы будут двигаться в несколько замедленном темпе, тоже кружась, но в стопку собираться, естественно, не будут. Поэтому создайте вспомогательный объект (например, сферу) — рис. 32 и назначьте его мишенью для сбора particle2-частиц, выделив частицы и сферу и применив команду Particles=>Goal, а затем увеличьте целевой вес мишени примерно до 0,8. Для того чтобы листья, достигнув мишени, не продолжали кружить вокруг нее, а остановились, придется настроить столкновение и создать соответствующее событие для системы частиц particle2. Поэтому вначале выделите объект particle2 и мишень и примените команду Particles=>MakeCollide. А затем откройте редактор событий частиц, выделите систему частиц particle2 и создайте для нее событие с параметрами, представленными на рис. 33, поскольку пришедшие на смену particle2-частицам частицы системы particle3 должны быть уже неподвижны, то есть они не могут наследовать скорость частиц, их породивших. Скройте объект-мишень, чтобы он не визуализировался, и замените частицы созданной системы на объект-образец, и при рендеринге вы увидите, что частицы двигаются к центру предполагаемой стопки и, достигнув последней, останавливаются (рис. 34). Возможный вид полученной в итоге при визуализации сцены в некоторых кадрах анимации представлен на рис. 35.

 

Рис. 32. Появление вспомогательного объекта

Рис. 32. Появление вспомогательного объекта

 

Рис. 33. Параметры настройки события для системы частиц particle2

Рис. 33. Параметры настройки события для системы частиц particle2

 

Рис. 34. Фрагмент сцены с собирающимися в стопку листьями

Рис. 34. Фрагмент сцены с собирающимися в стопку листьями

 

Рис. 35. Кружащиеся и собирающиеся в стопку кленовые листья

Рис. 35. Кружащиеся и собирающиеся в стопку кленовые листья

В начало В начало

next

КомпьютерПресс 11'2007


Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует