Усложненные выражения частиц  Maya

Это заключительное упражнение будет немного трудным. Тот,  кто  дошел так далеко  и   чувствует  себя  уверенно в   рабочем  процессе  анимации,  ис­

пользованном в  предыдущих  упражнениях,  должен быть готов  принять вызов. Тот,  кто уже  знаком  с  анимацией  частиц, может  научиться в   этом  разделе  нескольким  новым приемам и  применить их в  будущих проектах.

В  данном  упражнении   поэтапно  описан процесс  создания эффекта  частиц в   виде мрачного призрачного облака с элементами  замедленного просмотра.  Необходимо, что­ бы турбулентное облако появилось  в  воздухе, выросло, а затем  уменьшилось. Кроме то­ го, необходимы некоторые элементы управления,  чтобы  можно было настроить эффект после его установки.  Эти  элементы управления  являются простыми  локаторами, кото­ рые  можно анимировать  или  подчинить  конечностям  похожего на  призрак персонажа. В упражнении  также будут подробно  описаны атрибуты коэффициента  цели  отдельных частиц и  глобального положения  цели  отдельных частиц и  некоторые способы примене­ ния градиентов с выражениями.

Прежде  всего, необходим турбулентный поток  частиц. Их  размером  и  видимостью будем управлять с  помощью создания взаимосвязи  между положением  отдельных час­ тиц  и положением локатора.

1.   Создайте эмиттер, преобразуйте его в  объемный эмиттер, а в  качестве типа  выберите сферу. Назовите его cloudGen. Установите значение скорости равным 400.

2.   Эмиттер  должен появиться   в начале координат. При  воспроизведении  анимации  из сферы  будет  извергаться полуплотное  облако.  Выделите форму  частиц и   в  меню Fields (Поля) выберите пункт Uniform (Однородно).

3.   Однородная сила является всего лишь силой, которая толкает частицы в  определен­ ном направлении. Действительно,  гравитационное  поле является  однородной силой, которая толкает частицы  вниз по оси  Y. Переместите  пиктограмму силы на несколь­ ко отрицательных  единиц по оси  X, для того, чтобы ее было лучше видно.

4.   Сила должна начать толкать частицы в  положительном направлении  по оси  X.  Если ничего не  происходит,  дважды проверьте связь между  частицей и   полем   в   окне Dynamic relationshi p Editor (Редактор динамических  взаимосвязей).

5.   Давайте сделаем движение  немного спокойнее. Установите  значение параметра  со­ хранения для формы частиц равным 0. 7.

6.   Теперь введем  в движение  элемент случайности.  Выделите форму частиц и  выберите в меню Fields (Поля) пункт Turbulenc e (Турбулентность). Установите для парамет­ ра Magnitud e (Величина) значение  30, а для параметра Attenuatio n (Затухание) — значение 0. Убедитесь, что параметр Use Max Distance (Использовать максимальное расстояние) установлен в  состояние Off (Отключено).

7.   Это выглядит отлично,  но сам шаблон турбулентности  немного статичен. Чтобы  не­ много оживить  сцену, создадим шаблон шумов  турбулентности. Выделите  поле тур­ булентности. В его панели Channe l Box (Панель каналов) щелкните правой кнопкой мыши  на  атрибуте Phase Z  и   в   появившемся  контекстном   меню  выберите пункт Expression s (Выражения).

8.   В редакторе выражений  введите следующую строку в поле Expressio n (Выражение):

turbulenceFieldl.phaseZ=sin (time);

Это выражение перемещает фазу турбулентности  вперед и  назад в направлении  Z по за­ кону синусоидальной  волны. Запустите  воспроизведение анимации. Выглядит  неплохо. Можно также  попробовать применить  формулу  n o i s e  ( t i m e ) ,  которая  задает случай­ ную величину  в диапазоне от –1 до 1, которая также выглядит очень естественно.

9.   Хорошей  привычкой  является немедленное  назначение атрибута  продолжительно­ сти  существования  отдельных частиц для их  формы. Даже если  речь идет о простом случае,  значение атрибута продолжительности   существования   отдельных  частиц равное, например,  одной секунде, позволит использовать его в  качестве исходной  ве­ личины для последующих  выражений или  градиентов.  Как и  в  предыдущих  упраж­ нениях, установите для параметра Lifespan Mod e (Режим продолжительности суще­ ствования)  значение lifespanP P  Only  (Только  l i f e s p a n P P ) .  Перейдите вниз  к  раз­ делу  Per  Particle  (Array)  Attributes (Атрибуты массива  частиц), щелкните правой кнопкой мыши в поле Expressio n (Выражение) и  в  появившемся контекстном меню выберите пункт Creation Expressio n (Создать выражение).

10. Для выражения  времени создания  введите следующую строку:

particleShapel.lifeepanPP=rand(5,7);

11. . Это уже выглядит достаточно неплохо для демонстрационного вихря.  Ну  ладно,  не совсем хорошо,  но  гораздо  лучше.  Измените значение параметра  Particle render Тур е  (Тип визуализации  частицы) на Cloud(s/w )  (Облако).  В  данный  момент  не нужно щелкать на кнопке Current render Тур е (Текущий  тип визуализации).

12. Создайте локатор и  переместите его примерно на 12 единиц по оси  X. Это будет эле­ мент управления  размером, который поможет создать некую разновидность  времен­ ной задержки  и  эффект конденсации  водяного пара.

Теперь необходимо  установить взаимосвязь между расположением каждой частицы  и его близостью к локатору. С этого момента радиус частицы будет контролироваться  так, чтобы она появлялась и  исчезала при  прохождении через локатор. Для этого  объекта це­ ли будет применен атрибут goalWorldPostionPP . Этот атрибут нельзя анимировать непосредственно. Он всего лишь сообщает глобальное положение  цели, т.е. как она рас­ положена по отношению к каждой частице. Это полезная  входная величина  для управ­ ления выражениями.  Чтобы получить эту величину,  необходимо создать локатор цели  и атрибут коэффициента цели  отдельных частиц.

1.    Выделите частицу, а затем, удерживая  нажатой клавишу  <Shift>, выделите  локатор и выберите  в меню Particles (Частицы) пункт Goal (Цель).

2.    Если запустить  воспроизведение анимации, то можно заметить, что характер обстре­ ла локатора частицами  зависит  от коэффициента  цели, установленного при  активи­ зации  команды цели. Устраним эту проблему во  вторую очередь, используя атрибут Per-Particle Goal Weigh t (Весовой  коэффициент цели  отдельных частиц).  Откройте для  частицы окно  редактора  атрибутов. В  разделе  Goal  Weight s   An d   Object s  (Объекты  и    весовые коэффициенты цели)  щелкните на  кнопках  Creat e   goal­ WeightOPP   (Создать   goalWeightOPP ) и   Create  goalWorldPositionOP P  (Создать goalWorldPositionOPP ) (как показано на рис. 19.15).

Рис. 1921. Облако увеличивается при приближении к локаторам

Выполните те же действия для локатора locator2 , но его величину  перемещения  по оси  Z установите следующей:

Locator2.tranalateZ=cos (time);

Вот синтаксис для выражений времени создания и  прогона перед динамикой.

Выражения времени  создания:

particleShapel.lifespanPP=rand(5,6) ; particleShapel-goalWeightOPP=0 ; particleShapel.goalWeightlPP=0 ; particleShapel.radiusPP=0 ;

Выражения времени  выполнения:

float  $Size=particleShapel.radiusPP ;

vecto r  $goalPosO=particleShapel.goalWorldPositionOPP ; vecto r  $goalPosl=particleShapel.goalWorldPositionlPP ; vecto r  $pos=particleShapel.position ;

float $noisy=(abs(noise(time) ) ) +2 ;

vecto r  $dist=<<$noisy,$noisy,$noisy>> ;

if  (abs($pos-$goalPosO<$dist)||abs($pos-$goalPosl<$dist) )

$Size=particleShapel.SizeScalerampPP ;

else

$Size=0 ;

particleShapel.radiusPP=$Size ;

При  создании  типа визуализации  Cloud(s/w)  (Облако)  к  нему  автоматически применяется  тонер. Он называется particleCloudl , а найти  его можно  в гипер­  шейдере.  Проведите  несколько  экспериментов  с  настройками  и  попробуйте  визуализи-

ровать несколько  кадров  облака  частиц на  сцене.  Затем  создайте  дисковый кэш  частиц и визуализируйте   анимацию.  На   компакт-диске   содержится  визуализированный   вариант анимации. Завершенная версия этой сцены, файл cloudl .mb , находится на компакт-диске.

Для похожего  на призрак персонажа  этот эффект  подошел  бы отлично. Управляющие

локаторы  могут быть подчинены непосредственно  частям  фигуры.

Резюме

В этой главе были  рассмотрены  создание и  работа  с системой частиц, объяснены  такие концепции, как   продолжительность   существования и   атрибуты  отдельных   частиц,  рас­ смотрено  создание выражений для  атрибутов  и  использование градиентов  для управления  ими, описана роль  полей  и  целей  в  системе частиц, а также  при  взаимодействиях  частиц. Кроме  того,  было  представлено  несколько   возможностей   частиц,  включая  наследование скорости  для  полей  перемещения  и  атрибуты  отдельных  частиц goalWorldPositio n и goalWeight. В заключение главы была продемонстрирована работа с объектами мягких тел,   спрайтами   частиц,   эффектом   изогнутого  потока   и   создание  экземпляров   частиц. И наконец,   в  данной   главе  были   затронуты   глубины  мира дополнительных  эффектов частиц,  использующих выражения.

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

Источник: Кундерт-Гиббс, Джон,  Ларкинс, Майк,  Деракшани, Дариус, Кунзендорф, Эрик,  и др., Освоение Maya  8.5.:  Пер.  с англ.  – М.:  ООО  «И.Д.  Вильямс», 2007.  – 928  с.:  ил.

По теме:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий