Система Fluid Effects

Процессор  моделирования  Fluid  Effects  (Жидкостные эффекты)  является  одним из самых  сложных элементов   Maya.  Основанный на  известных  уравнениях Навъе-Стокса (Navier-Stokes), созданных в  XIX веке, процессор  Fluid  Effects вычисляет  поток вязких жидкостей во  времени,  учитывая  взаимодействие  частиц жидкости.  (Это главное отли­ чие процессора Fluid Effects и  системы частиц в   Maya.)  Хотя физический механизм,  ле­ жащий в  основе  процессора, является крайне сложным, в  Maya он заключен в  изящный, легкий в использовании пакет с набором встроенных средств, с помощью которых можно быстро создавать великолепные эффекты. Несмотря на все усилия,  которые  приложила компания Autodesk для упрощения интерфейса процессора Fluid  Effects, этот процессор настолько огромный и  мощный, что существует более  400  корректируемых пользовате­ лем элементов  для управления поведением  и  визуализацией  жидкостей. Это становится очевидным,  если  открыть редактор  атрибутов  для жидкости.  В этой главе рассмотрены наиболее важные элементы  управления  процессора Fluid Effects и  их  использование  для создания желаемых  эффектов. В данной книге не хватит места для исследования каждо­ го элемента  управления,  но после прочтения этой главы станет понятно, как  по собст­ венному желанию создавать и   изменять эффекты  жидкостей для  использования  их  во многих ситуациях.

В этой главе рассматриваются  следующие темы.

•         Что такое жидкости

•         Перетаскивание  жидкостей

•         Создание и  редактирование жидкостей  с самого начала

•         Атрибуты жидкости

•         Эффекты океана и  водоема

Что такое жидкости в Maya  

Пакет инструментов  Maya Fluid Effects состоит из двух отдельных, в  корне  отличаю­ щихся частей — реалистичной  системы моделирования  жидкостей и  процессора дефор­ мации/визуализации, который называется Ocea n Effects (Эффекты океана). Процессор двухмерного/трехмерного  моделирования  выполняет достаточно точное физическое  мо­ делирование жидкостей, используя  уравнения состояния Навье-Стокса, с помощью ко­ торых определяется  местоположение частиц жидкости  в   любой  конечный  промежуток времени  на  основе поведения  соседних частиц жидкости  и   суммы факторов, таких как температура,  плотность  и   скорость  жидкости. Подобно  системе частиц Maya,  каждый

расчет зависит  от состояния системы в  предыдущем кадре  (или  его фрагменте).  Таким образом, для  правильных  результатов  анимации  она должна воспроизводиться  кадр  за кадром, а это может отнять много времени. В отличие от частиц Майя, жидкости модели­ руют связанные потоки, в  которых каждая частица жидкости  взаимосвязана  с другими соседними  частицами.  У основных частиц Майя нет  непосредственной возможности  ус­ тановить  такую  взаимосвязь.   С  другой  стороны,  в  эффектах  океана  и   водоема пакета Fluid  Effects динамика  жидкостей не  используется непосредственно. Вместо нее в  этих  эффектах применяется смещение  поверхностей, хитроумное наложение текстур и  неко­ торые эффекты частиц для  создания убедительных   жидких тел,  которые можно просто перетащить на  сцену  для  получения эффектов  воды. В  следующих разделах эффекты океана и  водоема рассмотрены более подробно.

Из-за высоких вычислительных  затрат на моделирование жидкости  процессы  моделиро­ вания заключены в блоки, называемые контейнерами жидкости (fluid container), которые по­ казаны на рис. 20.1. Майя рассчитывает поток жидкости в рамках этих блоков, но не за их пре­ делами. Частицы  Майя, напротив, рассчитываются  на сцене  повсюду. Контейнер жидкости делится на маленькие  кубические области, называемые векселями (voxel), которые определя­ ют наименьшее пространство,  в  котором  рассчитывается жидкость.  Чем меньше воксели, на которые разделен контейнер  жидкости,  тем точнее результат, однако тем больше времени займет моделирование каждого кадра в Майя. Главное отличие плоского и объемного контей­ неров жидкости заключается в  глубине. Плоской (двухмерный) контейнер имеет только ши­ рину  и высоту, а объемный (трехмерный) имеет также глубину. Плоский контейнер намного эффективней при  моделировании, чем объемный: если  удвоить количество  векселей по ши­ рине и  по высоте в  плоском контейнере, то время моделирования  увеличится в  четыре  раза (2×2), если же удвоить количество вокселей  в объемном контейнере, то время моделирования возрастет в восемь  раз (2x2x2).

Рис. 20.1. Плоский двухмерный (слева) и трехмерный объ­ емный (справа) контейнеры жидкости

При  создании  модели  важно учесть ее разрешающую способность, поскольку необхо­ дим баланс между качеством получаемого результата и  временем,  затрачиваемым на его достижение.  Меньшее количество  вокселей означает более  быстрый расчет, но меньшее разрешение модели. Большее количество  вокселей  приведет к более высокому разреше­ нию модели,  но, возможно, вычисление займет  намного больше времени.  К счастью, ин­ струмент Fluid Effects (особенно для двухмерных  жидкостей) довольно быстрый, что по­ зволяет моделировать  достаточно  сложные системы практически  в   реальном  масштабе

времени.  При  моделировании  с  использованием  процессора Fluid Effects, особенно  эф­ фектов  трехмерных жидкостей, зачастую лучше  получить общее  поведение  системы с помощью небольшого количества вокселей (моделирование  при  низком  разрешении)  и, только  получив  удовлетворительный  общий результат,  увеличить  плотность вокселей. Таким образом, уменьшив время вычислений,  можно за то же время просмотреть больше возможных вариантов  модели  и  получить в результате более  совершенную анимацию.

Кто-то может заявить, что двухмерная жидкость не может быть достаточно  полезной при  трехмерной  визуализации,   но  для  более-менее  неподвижной камеры  двухмерная жидкость окажется вполне убедительной, а ее моделирование  и  визуализация  могут вы­ полняться быстрее, чем у трехмерной жидкости.  Двухмерная  жидкость может на самом деле иметь некоторую глубину, вполне позволяющую  создавать тени  и  другие трехмер­ ные эффекты. Хотя иллюзия глубины  исчезает при  повороте камеры вокруг контейнера, для  многих эффектов  при  неподвижной  камере  или  только при  наезде/отъезде камеры по прямой двухмерная жидкость отлично работает, причем намного быстрее трехмерной, особенно при  взаимодействии  и  визуализации.

Уравнени я  Навье-Стокс а  

Уравнения Навье-Стокса были   разработаны  в   XIX  веке  (как  можно  догадаться)   Навье (Navier) и   Стоксом  (Stokes).  Эта система из  трех связанных уравнений  описывает  движение жидкостей как  группы маленьких частиц, импульс, масса и  энергия которых  сохраняются (т.е. для жидкости в  целом эти  величины не изменяются во времени).  В этих уравнениях час­ тицы взаимодействуют друг с другом, передавая импульс и  энергию (но не общую массу) дру­ гим частицам. В компьютерных моделях динамики жидкостей  вычисляется состояние  каждой частицы для каждого момента времени с шагом At, где At является малой величиной,   и реше­ ние уравнений  для этого момента времени  используется  как начальное условие для повторно­ го вычисления тех же уравнений для следующего шага, At+At. Уравнения являются  сложными для понимания  и  должны рассчитываться для  граничных  (например,  граница жидкости) и  не­ прерывных  условий, что увеличивает  сложность их  решения. Таким образом, решение урав­ нений создает большую  вычислительную  нагрузку и  может происходить  медленно даже на быстрых машинах.  Для  исчерпывающего знакомства с уравнениями  Навье-Стокса можно по­ сетить,  например, такой Web-сайт, как www.navier -stokes .net .

Итак,  что же могут моделировать  плоские и  объемные жидкости?  Любые  движения однокомпонентных жидкостей,  например облака, взрывы, дым, огонь,  туман,  лава, а так­ же смешивание цветов окраски. При  использовании  встроенных возможностей Maya ха­ рактерный способ выполнения  большинства  из  этих  процессов  моделирования  заключа­ ется в  простом перетаскивании,  которое рассмотрено в  следующем разделе. Инструмент Fluid Effects позволяет  просматривать и  визуализировать градиент  плотности для набора частиц жидкости во времени, при их взаимодействии друг с другом, реакции на скорость, температуру,  плотность и  другие поля, а также при  взаимодействиях с поверхностями  и (или)  самим  контейнером.  Результаты  можно  просматривать  и   визуализировать  либо как  подобные облаку объемы, на которые можно наложить текстуры для пробы, или  как более  реальные  полигональные каркасы,  которые  визуализируются,  как  и   все,  на  что можно наложить текстуры (например, вода или лава).

Процессор Fluid Effects не может выполнять моделирование двух и  более  жидкостей. Такой  пример, как  вода, льющаяся  в   стакан,  является моделью  двух   жидкостей, где взаимодействуют вода (жидкость 1) и  воздух (жидкость 2). Поскольку инструмент Fluid Effects  в   настоящее время позволяет моделировать  только  одну  жидкость, модель,  по-

добная этой, невозможна. Если  немного схитрить с градиентом плотности, можно подде­ лать эффект с помощью резкого перехода от одной плотности  (вода) к  другой (воздух), наподобие способа, которым создан эффект огня. Даже  ограниченный  одной жидкостью, инструмент Fluid  Effects полезен для создания  ряда эффектов  и  может сберечь немало времени  аниматору эффектов  при  создании  сложной натуралистической анимации.

Жидкости  отличаются от частиц Майя. Хотя они  и  используют некоторые  одинако­ вые виды  элементов  моделирования  (например, гравитация,  турбулентность  и  взаимо­  действия), частицы рассчитываются  как  полностью  обособленные   элементы,  они   не взаимодействуют  между собой, а кроме  того, частицы не  визуализируются  как  единый объект  (за  исключением  каплевидных  форм  и  облаков,  когда  при  сближении  частицы смешиваются).  Несмотря на то что  вычисление  частиц происходит  быстро,  они  плохо подходят для моделирования  вязкой жидкости,  поскольку между частицами  отсутствует глобальная связь.  Поведение  каждой частицы независимо  от других. С другой стороны, поведение  жидкостей в  процессоре Fluid Effects более однородно и  масштабно, посколь­ ку  они  управляются градиентами  скорости  (и  другими  градиентами).  Таким образом, инструмент Fluid  Effects, несмотря на то,  что он замедляет вычисления,  гораздо  лучше подходит для  ситуаций,   в  которых  элементы должны  взаимодействовать  между  собой (например, огонь, вода, плотный дым или лава).

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

Ниж е  приведена  краткая  информаци я  о  некоторых  из  наиболее важных  свойств жидкости.

Density (Плотность) представляет  свойство материала  жидкости. Области  с  высокой плотностью видимы при моделировании, а области с низкой плотностью —  прозрачны.

Velocity (Скорость) влияет на поведение динамических жидкостей,  изменяя значения свойств   Density  (Плотность), Temperatur e   (Температура), Fuel   (Топливо) и     Color  (Цвет). Свойство скорости необходимо для моделирования динамической жидкости. Это свойство имеет и  величину,    и  направление. При   моделировании   динамики   значение свойства Velocity (Скорость) основывается  на  примененных силах. Свойство  скорости можно также использовать как постоянную  или  статическую  силу для управления моде­ лированием.

Temperatur e (Температура) влияет на поведение динамической  жидкости  через  гра­ диент температур в  контейнере.

Свойство Fuel (Топливо), совместно со свойством Density (Плотность), обеспечивает возможность реакции.  Свойство  плотности  представляет материал, а  значение свойства Fuel (Топливо) определяет состояние  реакции. Температура может "зажечь" топливо для запуска реакции (как при взрыве).  При реакции значения свойств Density (Плотность) и Fuel (Топливо) расходуются до тех пор, пока реакция не прекратится.

Color (Цвет) появляется только в  таком контейнере, для которого существует свойст­ во Density (Плотность). Цвет можно применить двумя способами.

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

•          С  помощью сетки. Она позволяет управлять цветом в   каждом  вокселе.  Поведение цветов может быть динамическим, поэтому они  могут смешиваться.

Все эти свойства жидкостей рассматриваются в  остальной части этой главы.


Перетаскивание жидкостей  

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

Для создания эффекта пламени  выполните следующие  действия.

Откройте в  Maya новую сцену.

В  наборе меню Dynamic s  (Динамика)  выберите  пункты Fluid EffectS => Get  Fluid Example (Эффекты жидкости => Получить образец жидкости).

Щелкните на вкладке Fluid Example s (Образцы жидкости)  в  окне Visor (Просмотр) (если  она  еще  не  выбрана), а  затем  щелкните слева на  пиктограмме  раздела  Fire  (Огонь), как показано на рис. 20.2.

Puc. 20.2. В окне Visor изображены различные эффекты огня

Рис. 20.6. Сцена модели водоема, показанная  в окне сцены Maya (слева) и после окон­ чательной  визуализации  (справа)

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

5.    Чтобы  увидеть анимацию водоема, визуализируйте  пробное  изображение.  Визуали­ зированное изображение должно  выглядеть так,  как  на рис. 20.6,  справа.

Как  можно  заметить исходя из  этих трех  примеров, создавать  высоко  реалистичные модели  жидкости  чрезвычайно легко.  Попробуйте  перетаскивать  файлы других образцов Maya,  чтобы  увидеть результат  их применения. Если  выделить  контейнер  жидкости  (для эффектов  жидкости  и   водоемов) или  поверхность  океана  (для  эффектов  океана)  и   от­ крыть  редактор  атрибутов, можно  провести  эксперименты с параметрами  этих предуста­ новленных  сцен.  Кадры  реалистичных  эффектов  можно  создать  из  слегка  измененных эффектов  жидкости, полученных  методом  перетаскивания  (рис. 20.7).

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

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

По теме:

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

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