Сегодня: Суббота, 20.04.2024, 08:07 (МСК)| Здравствуйте, Гость| Мой профиль | Регистрация | Вход | RSS

Военные технологии на пользовательском рынке

Роботы и экзоскелеты

Blu-ray приводы для ПК

Новинки в области цифровых камер

Плагины Sonnox Oxford
Главная » 3D-МОДЕЛИРОВАНИЕ И АНИМАЦИЯ

Анимация в LightWave 3D — частицы и множества, взаимодействие форм

02.08.2010

Каждый серьезный программный продукт в области 3D-моделирования и анимации имеет свои уникальные возможности, замену которым извне найти достаточно трудно. Также и LightWave3D при всех ее недостатках и трудностях в освоении, усложненной конструкции моделирования, наличии устаревшей системы управления (по существу, каждое действие запоминается как последовательная комбинация клавиш/операций), имеет мощные средства анимации, связанной с частицами. Далеко не все программы это могут предоставить, и именно поэтому LightWave3D так любим (а что делать?) в области кино и видео. Нужно отметить, что, начиная примерно с версии 7.0, на эту программу более пристально стали смотреть специалисты, работающие в Maya. Даже более того, сейчас распространены материалы, в которых описываются ключевые интерфейсные отличия для удобства перехода. 

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


Анимация множества частиц


Впрочем, анимация множества частиц — это только вершина айсберга. Очень часто приходится работать со сложными сценами, в рамках которых имеется большое количество персонажей и объектов, кои можно представить как определенную группу с заданным поведением. И речь идет не о «Трое», где огромная армия создавалась с использованием всего 500 статистов, а после Ctrl+C/Ctrl+V, а больше о компьютерной графике. Например, вам нужно задать некую модель поведения стае птиц, туче стрел, флоту нарисованных кораблей и многое из подобного. 
Если говорить о частицах конкретно, то это эффекты взрыва, ветра, дыма, снега, дождя, пыли, огня, показать салют и так далее, они предусматривают генерацию случайного режима поведения мелких элементов с указанием общего направления движения. 

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


Практический пример. Шаг 1


Итак, мы сделаем классический пример с источником дыма. Вернее, мы его создадим. Для этого нам понадобится генератор частиц. Нужно отметить, что подобные модули встречаются во всех программах, предоставляющих такие возможности, и называются Emitter. Частицы генерируются в случайном режиме, но всем можно управлять. Наши действия:
  1. Запускаем Layout. В закладке Items нажимаем пункт Null (либо нажимаем Ctrl+N), тем самым формируем новый нулевой объект, назовем его, к примеру, Smoke.
  2. Далее вызываем его свойства через кнопку Properties (либо нажав «p»). В открывшемся окне переходим в закладку Dynamics. По нажатии на кнопку «Add Dynamics» появляется список, из которого выбираем Emitter. Соответственно, в таблице снизу отобразится новый пункт «FX Emitter3 Particles», а на экране проекции мы увидим схематическое отображение куба. Все, простейший генератор готов.


Создание и настройка генератора частиц

После нажатия на надпись «FX Emitter3 Particles» появятся свойства нашего генератора, которые разделены на множество закладок. В Generator мы просто укажем размеры объекта, допустим, изменим их по X, Y и Z, выставив везде 200 mm. Далее переходим в закладку Motion и настраиваем параметры движения. Например, выставляем Velocity(m/s) для Y равное 2 m (направление частиц вверх на 2 метра). Не закрывая это окно, включаете анимацию на воспроизведение (кнопка Play). Что получилось? Наш источник начал излучать частицы по типу гейзера. 

Сразу вспоминается известный эффект из «Пятого элемента», когда Брюс Уиллис смотрел на камень, в момент его активации (кто не смотрел этот к/ф — не важно, но этот визуальный спецэффект для "Пятого элемента" делался именно в LightWave). Поскольку мы не закрыли окно, вы можете в режиме реального времени менять параметры. Например, выставите Vibration (m/s) равным 1, Vibration(min) — 50%, поэкспериментируйте с параметром Explode, поменяйте скорость, в закладке Particles можно управлять «временем жизни» частиц, которое указывается в кадрах.


Шаг 2


Теперь мы возьмем на вооружение один из самых сильных механизмов LightWave3D — HyperVoxels. Он предназначен для получения различных объемных эффектов и является многофункциональным. Вызывается он из выпадающего меню кнопки Windows (пункт HyperVoxels).

В открывшемся окне вы увидите, что наш объект Smoke находится в списке, но является не активным. Активизируем его двойным нажатием указателя мыши. Теперь имеет смысл рассмотреть основные режимы работы HyperVoxels, которые указаны в выпадающем меню строки Object Type. Там вы найдете три типа:
  • Surface — объект представляется в виде гладкой сферы, на которую можно добавить текстуру и так далее.
  • Volume — моделирование объемного облака. Причем мы говорим о полноценном трехмерном объеме в рамках сцены, то есть он ощутим при поворотах камеры и т.п. 
  • Sprite — в данном случае подразумевается наложение двумерного эффекта на некоторое изображение. То есть, и здесь при повороте камеры вы не заметите подвоха, но все считается в 2D.
Для уменьшения скорости расчетов выбираем Sprite. После этого в том же окне HyperVoxels заходим в закладку HyperTexture, оставляем установленную по умолчанию текстуру Crumple (беспорядочная), уменьшив частоту Frequences до 1. Также изменим параметр Texture Effect, выбрав Billowing (клубящийся).

Вызываем окно просмотра VIPER (кнопка в закладке Render либо просто F7). В нем выбираем пункт Preview -> Make Preview и смотрим нашу анимацию дыма, который идет тонкой струйкой. В принципе, не плохо.

Но теперь попробуйте заменить тип Sprite на тип Volume в окне HyperVoxels. Пересчитайте просмотр. Клубы увеличились в объеме, картина стала очень реалистичной. На самом деле Volume создан на основе реальных физико-математических моделей, и использование этого механизма ограничено не только эффектным дымом, но и множеством других возможностей. 


С использованием HyperVoxels превращаем поток частиц в дым



Другие типы генераторов


Основным генератором является Emitter, но при этом направлением частиц мы можем управлять отдельно. Это делается путем создания специальных нулевых объектов по такому же принципу, который мы рассмотрели ранее, только вместо FX Emitter (Emitter из выпадающего списка Add dynamics в окне свойств) мы выбираем из дополнительных, наиболее часто используемые из которых:
  • FX Wind — ветер;
  • FX Collision — столкновение об объект, если же внутри объекта, то заполнение его частицами;
  • FX Gravity — гравитация.
В принципе, вы можете самостоятельно создать, к примеру, нулевой объект Gravity, в поле Group которого укажите название новой группы и больше пока ничего не меняйте. Потом вызовите окно свойств нашего генератора, который мы сформировали ранее, и укажите в поле Group это же самое название группы. Поскольку по умолчанию в FX Gravity установлена гравитация вниз, то траектория излучаемых частиц изменится, станет напоминать фонтан. С ветром и столкновениями точно такая же ситуация. Причем в группу вы можете включать не только генератор частиц, но и любые движущиеся объекты сцены.

Что касается нашего примера с дымом вы можете сделать эффект химического реактива в колбе. Для этого создаете в Modeler прозрачную модель колбы с цветной жидкостью внутри, экспортируете ее в Layout, добавляете генератор частиц, сгруппировав его с нулевым объектом гравитации (для того чтобы дым спускался вниз) и с помощью HyperVoxels делаете сам дым. 


Взаимодействие форм в HyperVoxels


Кроме примера с дымом давайте рассмотрим и другой, весьма занятный. Для него вам нужно создать два нулевых объекта без всяких свойств, соответственно, назовите их Null01 и Null02. Разнесите их на небольшое расстояние по отношению друг к другу, например, по оси Y на 2-3 м. После этого переместите движок анимации на последний кадр, и сделайте так, чтобы в нем объекты поменялись местами, пройдя друг через друга.

Создание и настройка двух объектов для второго примера
 
Для нашего эксперимента все готово. Теперь вызываем окно HyperVoxels. 

Поочередно для каждого из двух объектов устанавливаем тип «Surface», режим смешивания (Blending Mode) как Additive (суммирующий), при этом в рамках Blend Group нужно создать некую единую группу, название которой выберите на свое усмотрение. После этого в закладке Shading можете выбрать для каждого из объекта свой цвет или подобрать текстуру. Чтобы все было наглядно, вызовите дополнительно окно просмотра VIPER. В нем объекты отобразятся в виде двух сфер. Теперь все готово, нажимаем кнопку на выполнение расчетов в VIPER и смотрим на анимацию. Получился очень интересный эффект сочленения форм по типу жидкостей. После этого попробуйте поменять текстуру самих объектов в рамках HyperTexture. В общем, экспериментировать можно много, и нужно.


Отдельно стоит сказать, что HyperVoxels работает только (!) с точечными объектами, будь то точки генераторов или объектов, загруженных из Modeler. 


Обзор технологий


На самом деле возможности LightWave3D огромны, подробнее обо всем можно узнать в документации к продукту, а также на некоторых сайтах, например, www.newtek.com, www.luxology.net, www.flay.com. Там же вы можете получить доступ к дополнительным модулям и возможностям. 

На данный момент профессиональную состоятельность любой программы, работающей с 3D, можно оценивать и по факту наличия инструментария для работы с частицами в том числе. При этом стоит отметить тот важный момент, что пока нет того универсального продукта, где все технологии представлены ровно. То есть, у каждого есть свои плюсы и минусы. Например, если говорить о частицах и эффектах с ними связанных, то на данный момент наиболее сильной является программа AVID Softimage|XSI, которая обладает гораздо более дружественным к освоению интерфейсом, к тому же очень много сложного является встроенным. На иллюстрации внизу вы можете посмотреть результаты работы в Softimage XSI:

Основные варианты применения потока частиц (примеры взяты из Softimage|XGI)

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

У Maya очень неплохой арсенал… особенно программа уникальна в области генерирования облаков и морских волн. 

В LightWave3D это все реализуемо, только для получения необходимого результата нужно долго копаться — главная проблема. Например, ни в одном меню и ни на одной кнопке основного управления вы не встретите слова particles (частицы). А нужно поступать так, как описано выше: создавать нулевой объект, входить в его свойства, подключать FX, после чего переходить на специализированные модули. 

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

Кристофер

Перепечатка материалов или их фрагментов возможна только с согласия автора.

Cм. также:

Что такое LightWave?

Анимация в LightWave — скелеты





Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Ассоциация боевых роботов
Рекомендуем...
Новости

Разделы

Опросы

Какой язык программирования вы считаете наиболее актуальным сегодня?
Всего ответов: 329

Друзья

3D-кино






Найти на сайте:








Об авторе       Контакты      Вопрос-ответ        Хостинг от uCoz