Просмотр содержимого документа
«Основы 3D Анимации»
Теоретические аспекты
Системы частиц (ParticleSystems) — это совокупность управляемых с помощью параметров малоразмерных объектов, количество и вид которых различны в каждом кадре анимации. В 3D Studio MAX предусмотрено семь видов систем частиц (рис. 1):
Spray (Брызги) и SuperSpray (Супербрызги) — обеспечивают эффект водяных брызг;
Snow (Снег) и Blizzard (Метель) — создают эффект падающего снега и даже настоящей метели;
PCloud (Облако частиц), РАrrау (Массив частиц) и PF Source (Источник Particle Flow) — предназначены для моделирования широкого спектра эффектов.
Рис. 1. Базовые типы систем частиц
За создание систем частиц отвечает категория ParticleSystems (Системы частиц) панели Create (Создать) — рис. 2, при выборе которой становятся доступными все типы систем частиц. Технология их создания напоминает создание других объектов геометрии. Например, при формировании систем Spray, Snow, Blizzard иSuper Spray достаточно просто выбрать тип системы частиц и перетащить мышь при нажатой левой кнопке по диагонали, а затем на панели Modifyоткорректировать параметры системы объектов. При создании любого типа частиц создается генерирующий их объект — эмиттер. Он определяет площадь, с которой будут падать частицы, и направление их перемещения (задается направлением вектора, выходящим из центра эмиттера). Эмиттер не визуализируется и в самом простом случае является двумерным. В окнах проекций он отображается в виде прямоугольника (рис. 3). Частицы, в отличие от эмиттера, визуализируются, хотя в нулевом кадре их не видно, но они прекрасно отображаются в любом кадре, отличном от нулевого.
Рис. 2. Категория ParticleSystems
Рис. 3. Частицы и генерирующий их эмиттер — частицы отображены розовым цветом, а эмиттер — оранжевым
Для большей части систем частиц эмиттер не только генерирует частицы, но и сам их испускает. Исключение составляют системы ParticleArray и ParticleCloud, в которых испускание частиц производится с другого (предварительно выбранного пользователем) объекта сцены, а за эмиттером сохраняется функция генерирования частиц в соответствии с указанными параметрами.
Spray
Система частиц Spray (Брызги) позволяет генерировать падающие частицы, сохраняющие при перемещении постоянную ориентацию и направление, и предназначена для имитации эффекта падающей воды: водяных брызг, дождевых струй и т.п.
Для примера создайте систему частиц типа Spray (Брызги). Выберите Create=Geometry=ParticleSystems, щелкните на кнопке Spray и в окне проекции Topнарисуйте прямоугольный эмиттер — никаких частиц при этом видно не будет (рис. 4), но это лишь потому, что кадр нулевой. Нажмите на панели анимации кнопкуPlay, и частицы тут же появятся (рис. 5), причем их количество и положение в каждом кадре будет меняться.
Рис. 4. Вид проекции Top со Spray-эмиттером в нулевом кадре
Рис. 5. Вид проекций со Spray-частицами в одном из промежуточных кадров
При необходимости несложно отрегулировать положение частиц, их количество и характер движения через свитки параметров на панели Modify (рис. 6). Так , в области Particles можно определить следующие параметры:
ViewportCount — максимальное число частиц, отображаемых в окне проекций в любой момент времени;
RenderCount — максимальное число частиц, видимых в каждом отдельном кадре итоговой визуализации; как правило, для окончательной визуализации сцены следует задавать достаточно большую величину этого параметра — порядка 1000;
DropSize — размер частиц;
Speed — средняя начальная скорость каждой частицы в момент отрыва от источника, в дальнейшем, если на частицы не действует какая-либо из объемных деформаций (например, гравитация), то они движутся с этой же скоростью, в противном случае скорость меняется в зависимости от вида и настроек гравитации;
Variation — разброс значений начальных скоростей и направлений распространения частиц, от значения которого зависит область их распространения — чем больше значение данного параметра, тем шире область распространения.
Кроме того, здесь же выбирается вариант отображения частиц в окнах проекций — Drops (Лучи), Dots (Точки) и Ticks (Крестики).
Вид частиц при рендеринге задается в области Render, где предусмотрено два варианта отображения:
Tetrahedron — частицы визуализируются в виде вытянутых тетраэдров, длина которых равна значению параметра DropSize, напоминая дождевые капли;
Facing — частицы визуализируются в виде квадратных полигонов, размеры которых совпадают с размерами частицы; форму данных полигонов можно изменять посредством наложения материалов на основе текстурных карт с масками непрозрачности.
В области Timing регулируется время жизни частиц:
Start — номер кадра, в котором начнется испускание частиц; по умолчанию данный параметр равен 0, в результате чего в 0-м кадре частицы не видны; если же требуется, чтобы все частицы, задаваемые полями счетчиков, присутствовали уже в 0-м кадре, то в данном поле устанавливается отрицательное значение;
Life — продолжительность жизни частицы в кадрах; чем больше значение данного параметра, тем дольше виден след, оставляемый частицами; если Life = 0, то частицы следа за собой не оставляют;
BirthRate — число новых частиц, появляющихся в каждом следующем кадре анимации. Если значение данного параметра превышает максимально допустимое значение — MaxSustainableRate,вычисляемое как частное параметров RenderCount и Life, то генерация частиц производится прерывисто. Для получения устойчивого потока частиц значение BirthRate должно быть меньше или равно MaxSustainableRate. Данный параметр можно изменять только при сброшенном флажке Constant.
В области Emitter определяются размеры эмиттера — его ширина (Width) и длина (Length), здесь же можно отказаться от отображения эмиттера в окнах проекций, для чего требуется включить опцию Hide (скрыть).
Рис. 6. Список параметров системы Spray-частиц
Чтобы разобраться с особенностями настройки названных параметров, активируйте созданную систему Spray-частиц, включите режим анимации с автоматическим созданием ключей, переключитесь на последний кадр и на панели Modify увеличьте размер частиц (DropSize) до 5, а скорость их движения (Speed) до 20 (рис. 7). Отключите режим автоматического создания колючей, вернитесь в 0-й кадр и проиграйте анимацию в окне проекции Perspective и увидите, что при увеличении номера кадра размер частиц увеличивается, равно как и скорость их падения (рис. 8).
Рис. 7. Создание ключей анимации для параметров DropSize и Speed
Рис. 8. Вид частиц в 20-м (слева) и 100-м кадрах
Установите вариант отображения частиц в окнах проекций в виде точек (Dots) — обратите внимание, что теперь изменение размеров частиц не будет фиксироваться в окнах проекций. Уменьшите время их жизни (Life) до пяти кадров и проиграйте анимацию, где сразу станет заметно, что уменьшилось не только время, в течение которого виден след от частиц, но и область их распространения (рис. 9). Верните первоначальное значение параметра Life. Отключите флажокConstant, а затем увеличьте значение параметра BirthRate до 10. Это приведет к порционной генерации частиц, где на некоторых кадрах на экране одновременно будут находиться не одно, а сразу два облака частиц (рис. 10). Включите флажок Constant — частицы вновь станут испускаться эмиттером равномерно.
Рис. 9. Вид частиц в 5-м (сверху) и 100-м кадрах — в обоих случаях четко видна граница максимального распространения частиц
Рис. 10. Вид частиц в 20-м (сверху) и 37-м кадрах
Удалите для параметров DropSize и Speed созданные ранее ключи анимации, увеличьте размер частиц до 4 и проведите рендеринг для одного из промежуточных кадров анимации (рис. 11). Обратите внимание, что все частицы движутся одинаково. Увеличьте разброс значений начальных скоростей и направлений частиц (Variation) до 3 — частицы станут разлетаться не в одном, а сразу в нескольких направлениях (рис. 12). Создайте AVI-файл — примените команду Rendering=Render, на вкладке CommonParameters активизируйте переключатель ActiveTimeSegment (Активный сегмент времени), укажите имя файла и щелкните на кнопке Render. Просмотрите созданную анимацию в окне встроенного проигрывателя — частицы будут хаотично перемещаться, но количество их окажется невелико. Поэтому увеличьте значение параметра RenderCount примерно до 1000-1500 и вновь проведите визуализацию — поток частиц станет гораздо мощнее (рис. 13).
Рис. 11. Вид сцены при одинаковом движении частиц
Рис. 12. Вид сцены при хаотичном движении частиц и соответствующие ему настройки базовых параметров
Рис. 13. Демонстрация анимации в окне Windows-проигрывателя и соответствующие настройки базовых параметров анимации частиц
Огни фейерверка
Попробуем превратить разлетающиеся частицы в настоящий фейерверк — для этого достаточно подобрать оптимальный для данного случая разброс частиц (мы остановились на 6) и назначить частицам светящийся и отливающий разными цветами материал. Поскольку речь идет о получении разноцветных огней, то в качестве материала может быть использована специально созданная, например в генераторе фрактальной графики, и установленная на канале Diffuseразноцветная Bitmap-текстура, многослойный Composite-материал (в котором сквозь один материал будут просвечивать другие) либо материал Multi/Sub-Object. Мы остановимся на последнем варианте, так как он позволяет назначать материал не всем частицам сразу, а каждой следующей частице отдельно — очередная частица принимает материал на основе собственного номера (0-я получает 1-й материал, 1-я — 2-й и т.д.). Создайте материал Multi/Sub-Object и ограничьте число входящих в него подматериалов, например, пятью (кнопка Set Number). Последовательно назначьте в качестве подматериалов стандартные материалы с разными цветами на канале Diffuse и большим значением SpecularLevel для получения эффекта свечения (рис. 14). Один из кадров полученной в результате анимации представлен на рис. 15.
Рис. 14. Настройка параметров материала Multi/Sub-Object
Рис. 15. Огни фейерверка
Разноцветное конфетти
А теперь создадим на основе Spray-частиц разноцветное конфетти. Для этого вначале сформируйте систему частиц с большим по размеру эмиттером, указав подходящие значения ширины (Width) и длины (Length) в области Emitter, разместите эмиттер в верхней части окна проекции Perspective (рис. 16), а затем на панели Modify в области Render включите вариант Facing. Проведите рендеринг — частицы станут квадратными, причем размер квадратов будет напрямую зависеть от значения DropSize (рис. 17).
Рис. 16. Исходная система частиц
Рис. 17. Визуализация в режиме Facing
Как правило, вариант отображения Facing используется не напрямую (когда частицы представлены обычными квадратами), а в сочетании с полупрозрачным материалом, имеющим маску, — тогда можно придать частицам произвольную форму. Поскольку мы создаем конфетти, то нам потребуется маска в виде обычного белого круга на черном фоне, которую можно создать в любом растровом редакторе (рис. 18). Самое простое — создать Blend-материал, который позволяет смешивать два материала, в том числе и с применением маски, и назначить его системе частиц. В таком случае все частицы будут круглые, но окажутся одного цвета. А разные цвета будут получены благодаря использованию материала Multi/Sub-Object, поэтому будем применять данный тип материала в качестве основного, а Blend-материалы — как подматериалы. Создайте новый материал типа Multi/Sub-Object с тремя подматериалами и в качестве каждого из подматериалов установите материал Blend. Откройте первый материал Blend и верхним для него подматериалом назначьте стандартный полностью прозрачный черный материал, а нижним — цветной с большим значением SpecularLevel, по окончании установите маску (рис. 19). Аналогичным образом настройте другие Blend-материалы, использовав для них отличные от уже задействованного цветовые оттенки — в итоге вы получите такой же материал Multi/Sub-Object, как показан на рис. 20. Возможный вид одного из кадров созданной в результате анимации представлен на рис. 21.
Рис. 18. Черно-белое изображение круга
Рис. 19. Настройка параметров первого Blend-материала
Рис. 20. Настройка параметров материала Multi/Sub-Object
Рис. 21. Разноцветное конфетти
Ливневый дождь
Попробуем смоделировать анимацию ливневого дождя. Создайте систему Spray-частиц с большим эмиттером и разместите его в верхней части окна проекцииLeft. Включите режим анимации с автоматическим созданием ключей, переключитесь на первый кадр и увеличьте размер частиц (DropSize) до 15, перейдите на последний кадр и установите размер частиц равным 17. Отключите режим автоматического создания ключей, вернитесь в 0-й кадр, проиграйте анимацию в окне проекции Perspective и увидите, что при увеличении номера кадра размер частиц возрастает. Увеличьте скорость движения частиц до 12, а число их при визуализации (RenderCount) до 8-12 тыс. По окончании поверните эмиттер так, чтобы струи дождя стали падать немного наклонно (рис. 22).
Рис. 22. Настройка положения эмиттера и параметров системы частиц
Назначьте частицам материал дождя — это может быть, например, полупрозрачный стандартный материал с бледно-голубым цветом на канале Diffuse и большим значением Specular Level или материал Water из группы нестандартных материалов Architectural (рис. 23). Проведите рендеринг для всех кадров — на этот раз полученный поток частиц будет напоминать струи постепенно усиливающегося дождя (рис. 24). Попробуйте внедрить созданный дождь на подходящее фоновое изображение. В данном случае в качестве фонового изображения был использован рис. 25, а результат рендеринга одного из промежуточных кадров анимации дождя представлен на рис. 26.
Рис. 23. Материал для дождя
Рис. 24. Дождевые струи
Рис. 25. Фоновое изображение
Рис. 26. Ливневой дождь
Snow
Система Snow (Снег) позволяет создавать кружащиеся частицы, а потому подходит для имитации эффектов падающего снега, кружащихся листьев, конфетти и т.п. По принципу создания данная система очень похожа на систему частиц Spray, так как подавляющая часть ее параметров аналогична тем, что уже были рассмотрены. А среди отличающихся параметров в первую очередь следует назвать те, что управляют вращением:
Tumble — коэффициент случайного поворота частиц, меняющийся в интервале от 0 до 1: при значении 0 частицы не вращаются; при значении 1 — вращение максимально;
TumbleRate — скорость вращения частиц.
Кроме того, есть отличия в плане отображения частиц в окнах проекций и при рендеринге — в первом случае вместо типа Drops (Лучи) фигурирует тип Flakes(Снежинки), а во втором предусмотрены три варианта формы частиц: SixPoint (Шестиугольная), Triangle (Треугольная) и Facing (Прямоугольная).
Для примера создайте систему частиц Snow и назначьте ей материал с бледно-голубым цветом на канале Diffuse и следующими параметрами: SpecularLevel — 100, Glossines — 0 и 50-процентная непрозрачность (рис. 27). Проиграйте анимацию — частицы будут падать, но без вращения. Визуализируйте один из промежуточных кадров, чтобы оценить вид снежинок, а затем последовательно смените вариант SixPoint вначале на Triangle, а затем на Facing, каждый раз проводя рендеринг (рис. 28), по окончании вернитесь к варианту SixPoint. Увеличьте значение параметра Tumble до 1 для обеспечения интенсивного кружения частиц, а затем установите параметр TumbleRate равным 2,15 — частицы станут вращаться заметно быстрее. Поскольку скорость вращения теперь визуально оказалась больше скорости падения, то немного увеличьте и значение параметра Speed. Расширьте зону снегопада, вдвое увеличив коэффициент разброса начальной скорости и направлений частиц (Variation) — рис. 29.
Рис. 27. Настройка параметров материала для снега
Рис. 28. Исходный вид снежинок в разных вариантах отображения при рендеринге: SixPoint (слева), Triangle (в центре) и Facing (справа)
Рис. 29. Настройка параметров частиц
Снегопад
Попробуем превратить кружащиеся частицы в настоящий снегопад. Увеличьте размеры эмиттера, указав большие значения ширины (Width) и длины (Length) в области Emitter, и переместите эмиттер в верхнюю часть окна проекции. Затем увеличьте максимальное число частиц (как в окнах проекций, так и при визуализации — в данном случае были использованы значения 300 и 6000 соответственно — рис. 30) и проведите рендеринг — сцена покроется снежинками (рис. 31). Попробуйте внедрить сгенерированный снег на подходящее фоновое изображение, например на рис. 32, — возможный вид одного из визуализированных кадров представлен на рис. 33.
Рис. 30. Настройка параметров Snow-частиц
Рис. 31. Вид сцены со снежинками
Рис. 32. Фоновое изображение
Рис. 33. Снегопад над домиком
Кружащиеся кленовые листья
А теперь немного изменим задачу и вместо снежинок заставим кружиться кленовые листья. Создайте систему Snow-частиц с большим эмиттером, размещенным в верхней части окна проекции Perspective, и вдвое уменьшите количество частиц (параметры ViewportCount и RenderCount) — рис. 34. Для того чтобы обычные частицы превратились в кленовые листья, создайте новый материал и установите для него подходящую текстуру (или даже просто желтый или оранжевый цвет) на канале Diffuse, а на канале Opacity — черно-белое изображение кленового листа (рис. 35). Можно еще дополнительно подключить то же черно-белое изображение на канале Bump — тогда листья станут немного рельефными (рис. 36). Визуализируйте все кадры и увидите, что сцена покроется падающими кленовыми листьями.
Рис. 34. Первоначальная настройка параметров системы Snow-частиц
Рис. 35. Черно-белое изображение кленового листа
Рис. 36. Настройка материала для кленового листа
К сожалению, размер листьев слишком мал, листья совсем не кружатся, а разброс их незначителен, поэтому увеличьте значение параметра Flake Size примерно до 10-12, параметра Tumble — до 0,5, а Variation — до 2,5. Кроме того, по замыслу листья должны начинать кружиться с самого начала анимации и не исчезать по прохождении 30 кадров, а продолжать двигаться до самого конца анимации. И еще желательно увеличить общую длительность анимации. Чтобы изменить ситуацию, увеличьте число кадров в анимации, например, до 400 — щелкните на кнопке Time Configuration и введите значение 400 в поле End Time. Затем вернитесь к редактированию параметров частиц и установите в поле Start отрицательное значение (это обеспечит появление листьев с самого начала анимации). Увеличьте продолжительность жизни частиц до конца анимации — для этого в поле Life нужно будет поставить число, равное по модулю сумме количества кадров в анимации и значения Start (рис. 37). Теперь кленовые листья будут кружиться в соответствии с нашим замыслом (рис. 38).
Рис. 37. Окончательная настройка параметров системы Snow-частиц
РАrrау
Система частиц РАrrау (Массив частиц) — произвольное множество частиц, которые могут распределяться на поверхности объектов некоторым образом и позволяют имитировать взрывы и скопления объектов. Принципиальным отличием данной системы от рассмотренных выше является возможность определения геометрического объекта, который будет вести себя как эмиттер, то есть испускать частицы. Однако это будет лишь виртуальный источник частиц — настоящим источником является реальный эмиттер, который генерирует частицы в соответствии с определенными для них параметрами, но, в отличие от рассмотренных выше систем частиц Spray и Snow, никак не влияет на них своим местонахождением, направлением или размером.
Создайте систему частиц РАrrау и произвольный объект, который будет использоваться в качестве виртуального эмиттера, например обычную геосферу (рис. 39). Запустите анимацию — никаких частиц генерироваться пока не будет, так как виртуальный эмиттер не указан. В свитке BasicParameters щелкните на кнопкеPickObject и укажите геосферу. Нажмите кнопку Play на панели анимации — частицы тут же появятся, причем они будут вылетать не из реального РАrrау-эмиттера, а из заменяющей его геосферы (рис. 40).
Рис. 39. Исходные объекты — геосфера и РАrrау-источник
Рис. 40. Вид проекций с РАrrау-частицами в одном из промежуточных кадров
За настройку параметров РАrrау-частиц отвечает целая группа свитков:
Basic Parameters — определяет базовые параметры частиц: размер эмиттера (IconSize), способ размещения частиц над поверхностью (ParticleFormation), вариант отображения их в окнах проекций (ViewportDisplay) и т.д.;
Particle Generation — регулирует параметры возникновения частиц: количество частиц, появляющихся в одном кадре (UseRate), общее число частиц, создаваемых за все время жизни системы (UseTotal), скорость/разброс друг относительно друга/угол расхождения (Speed/Variation/Divergence), момент появления/исчезновения (EmitStart/EmitStop), продолжительность жизни (Life), размер (Size) и т.п.;
Particle Type — устанавливает тип частиц;
Rotation and Collision — управляет вращением частиц (скоростью вращения — SpinSpeedControls и осью вращения — SpinAxisControls) и столкновениями между ними (InterparticleCollisions);
Object Motion Inheritance — позволяет управлять движением частиц посредством перемещения эмиттера, определяя процент частиц, которые унаследуют движение объекта-эмиттера в момент формирования частиц (Influence), регулируя силу, с которой движение эмиттера влияет на частицы (Multiplier) и устанавливая процент случайного изменения параметра Multiplier (Variation);
BubbleMotion — отвечает за создание эффекта покачивания частиц при их движения (данный эффект имеет место, например, при поднятии пузырьков воздуха на водную поверхность) посредством таких параметров, как пройденное частицей расстояние (Amplitude), временной период прохождения одного колебания пузырьковой волны (Period), первоначальное смещение пузырькового узора вдоль вектора (Phase) и др.;
ParticleSpawn — определяет поведение частиц, переживших столкновение или смерть;
Load/SavePresets — позволяет сохранять/загружать параметры настройки частиц для дальнейшего использования данных настроек в других системах частиц.
Разберемся с некоторыми базовыми настройками параметров частиц непосредственно на примере созданной выше РА rrау-системы. Увеличьте число частиц, установив параметр UseRate (свиток ParticleGeneration) равным 100 (рис. 41). Теоретически количество частиц может задаваться и через параметр UseTotal, но чаще всего он используется для имитации потока частиц, движущихся без следа, в то время как параметр UseRate оптимален для создания потока частиц, оставляющих след. Увеличьте размер частиц до 5 (параметр Size в свитке ParticleGeneration) — на внешнем виде частиц в окнах проекций это никак не скажется, поскольку по умолчанию они отображаются в виде крестиков (вариант Ticks в свитке Basic Parameters), однако будет заметно при визуализации (рис. 42).
Рис. 41. Результат увеличения числа частиц
Рис. 42. Вид сцены с исходным (слева) и увеличенным размером частиц
Частицы могут визуализироваться различным образом в зависимости от типа, к которому принадлежат, — установка типа производится в свитке ParticleType. По умолчанию частицы имеют тип StandartParticles, а потому могут отображаться в виде треугольников (Trangle), шестиугольников (SixPoint), кубов (Cube), прямоугольников (Facing), тетраэдров (Tetra), сфер (Sphere) и т.д. (рис. 43).
Рис. 43. Варианты отображения частиц типа StandartParticles — в виде шестиугольников (слева) и кубов
В качестве других типов частиц предусмотрены типы (рис. 44):
MetaParticles (Метачастицы) — каждая частица при визуализации заменяется мета-сферой (metaball), в результате чего частицы сливаются друг с другом наподобие реальных водяных капель;
ObjectFragments (Фрагменты объекта) — частицы отображаются в виде фрагментов объекта, вылетающих с его поверхности, что позволяет создавать имитацию взрыва или иного разрушения объекта;
Instanced Geometry (Геометрия образца) — частицы наследуют свойства некоторого объекта сцены, взятого в качестве образца, поэтому системы таких частиц используются для имитаций скоплений некоторых объектов (стая птиц, косяк рыб и т.п.).
Рис. 44. Другие варианты отображения частиц — MetaParticles (слева), ObjectFragments (в центре), InstancedGeometry (справа)
Установите тип частиц ObjectFragments, уменьшите скорость перемещения частиц до 1, а продолжительность жизни каждой частицы увеличьте до 100, соответствующим образом изменив параметры Speed и Life в свитке ParticleGeneration, и визуализируйте все кадры анимации. Частицы окажутся представленными отдельными плоскими фрагментами объекта, которые начнут медленно отплывать от объекта в разные стороны, а объект, несмотря на подобное разрушение, будет оставаться целым и невредимым (рис. 45). Поэтому выделите геосферу и скройте ее (команда Hide Selection из контекстного меню), а для придания толщины ее осколкам установите для параметра Thickness значение 5 (свиток ParticleType) — рис. 46. Как видно из анимации, частицы-фрагменты при движении не меняют плоскости, в которой изначально были расположены, а потому их анимация на разрушение объекта (например, в результате взрыва) не похожа. Для исправления ситуации увеличьте разброс частиц друг относительно друга и угол расхождения частиц (параметры Variation и Divergence в свиткеParticleGeneration), а также значение скорости разброса частиц ( Speed) примерно до 5 (рис. 47). В итоге геосфера станет рассыпаться на куски, разлетающиеся случайным образом (рис. 48). Сохраните созданную анимацию — чуть позже она нам потребуется.
Рис. 45. Отбрасывание плоских фрагментов от объекта (объект видим)
Рис. 46. Отбрасывание объемных фрагментов от объекта (объект невидим)
Рис. 47. Настройка параметров разброса частиц
Рис. 48. Вид разлетающейся на куски геосферы в одном из промежуточных кадров
По умолчанию частицы размещаются над поверхностью объекта беспорядочно (включен вариант OverEntireSurface в свитке Basic Parameters), однако для частиц типов StandardParticles и MetaParticles возможны и другие варианты, когда частицы располагаются:
по видимым ребрам объекта — AlongVisibleEdges;
по всем вершинам — AtAllVertices;
в отдельных точках — AtDistinctPoints;
в центрах граней — FaceCenters.
Для того чтобы более наглядно увидеть разницу между вышеназванными вариантами размещения частиц, создайте новую сцену с кубом и системой РА rrау-частиц и укажите куб в качестве виртуального эмиттера. Уменьшите скорость частиц до 1 и увеличьте размер до 5 (параметры Speed и Size в свиткеParticleGeneration), а в свитке ParticleType для частиц типа StandardParticles выберите вариант Sphere. Затем в качестве варианта размещения вначале установите в свитке Basic Parameters метод AlongVisibleEdges, а затем — AtAllVertices, каждый раз проводя рендеринг, — в итоге частицы будут вылетать не беспорядочно, а строго из ребер или из вершин куба соответственно (рис. 49).
Рис. 49. Вид сцены в промежуточном кадре анимации: вариант AlongVisibleEdges (слева), AtAllVertices (справа)
Взрыв геосферы
Воспользуемся сохраненной анимацией для создания имитации взрыва геосферы. Пока полученный вариант разлетающихся частиц геосферы на взрыв мало похож хотя бы потому, что геосферу мы скрыли (иначе она оставалась бы на экране невредимой, несмотря на появление разлетающихся из нее осколков), а она должна быть видна в нескольких начальных кадрах и лишь затем должна исчезнуть. Напрямую анимировать ее видимость не получится, однако это возможно через редактор дескрипторов DopeSheet. Для открытия редактора выберите из меню Graph Editor (Редактор графов) команду Track View- Dope Sheet. Подсветите в его левой части объект GeoSphere 01 и создайте трек видимости, применив команду Track s= Visibility Track= Add (рис. 50). В списке параметров объекта появится дополнительная строка Visibility — выделите ее, активируйте инструмент AddKeys (Создать ключи) и щелкните в произвольном месте строки трека видимости. По умолчанию значение данного ключа равно 1 во всех кадрах, а значит, объект всегда видим. Активируйте созданный ключ и в нижних полях ввода укажите для него номер кадра, в котором объект должен пропадать, и значение 0 (рис. 51) — в итоге объект будет самостоятельно исчезать при начале его разрыва на отдельные фрагменты. Дополнительно создайте ключ в 0-м кадре и установите его равным 1, чтобы в начальных кадрах анимации сфера оставалась видимой.
Рис. 50. Создание трека видимости
Рис. 51. Определение параметров ключа видимости
Для того чтобы взрыв объекта выглядел более реально, желательно подобрать геосфере и частицам подходящие материалы. В данном случае для геосферы использовано текстурное изображение, а для частиц — стандартный материал с красным цветом на канале Diffuse и большим значением SpecularLevel. В самой геосфере потребуется сымитировать эффект горения на начальной стадии взрыва, чего можно добиться посредством атмосферного эффекта FireEffect. Для создания такого эффекта воспользуйтесь командой Rendering=Environment (Визуализация=Окружение), на вкладке Atmosphere (Атмосфера) щелкните на кнопке Add (Добавить) и выберите эффект FireEffect. Перейдите на панель Create=Helpers, выберите на ней уровень AtmosphericApparatus и создайте сферический гизмо SphereGizmo. Разместите гизмо внутри сферы и отрегулируйте его размер так, чтобы он был немного меньше сферы. В областиFireEffectParameters окна EnvironmentandEffects щелкните на кнопке PickGismo (Указать гизмо) и укажите созданный вспомогательный объект на любом из видовых экранов. Настройте параметры эффекта в соответствии с рис. 52. В группе Explosion щелкните на кнопке SetupExplossion и установите начало и конец взрыва (рис. 53).
Рис. 52. Настройка параметров эффекта Fire Effect
Рис. 53. Настройка времени начала и конца взрыва
После добавления эффекта горения придется скорректировать процесс разбрасывания частиц в ходе взрыва — в данном случае оказалось достаточно изменить момент появления частиц в сцене (параметр EmitStart в свитке ParticleGeneration) — рис. 54. В итоге будет получена весьма реалистичная анимация взрыва, когда геосфера вначале начинает светиться, а затем разлетается на множество разносящихся в разные стороны осколков (рис. 55).
Рис. 54. Корректировка времени начала появления частиц
Рис. 55. Отдельные кадры анимации взрыва
Движущийся косяк рыбы
Пусть у нас имеется образец некоторого объекта, например рыбы (рис. 56), на основе которого требуется сгенерировать группу однотипных объектов — косяк рыбы. Загрузите объект-образец, создайте систему РА rrау-частиц и цилиндр, назначьте цилиндр виртуальным эмиттером, щелкнув в свитке Basic Parameters на кнопке Pick Object, а затем на цилиндре (рис. 57). В свитке ParticleType вначале установите тип частиц InstancedGeometry, а затем щелкните на кнопке PickObjectи задайте объект-образец. После этого уменьшите количество частиц, появляющихся в одном кадре, до 1 (в противном случае рыб будет слишком много), а сам размер частиц — до 1 (параметры UseRate и Size в свитке ParticleGeneration). Визуализируйте один из промежуточных кадров и увидите, что каждая частица окажется замененной на образец рыбы, при этом все частицы будут дислоцироваться в районе цилиндра, играющего роль виртуального эмиттера (рис. 58).
Рис. 56. Образец рыбы
Рис. 57. Исходные объекты анимации
Рис. 58. Первоначальный вид косяка рыбы
Область распределения частиц-образцов можно корректировать, управляя формой и размером виртуального эмиттера, — достаточно, например, уменьшить высоту цилиндра (играющего роль виртуального эмиттера) и частицы будут располагаться более кучно или исказить его форму деформирующим модификатором (Bend, Ripple и т.п.), что также приведет к передислокации частиц (рис. 59).
Рис. 59. Изменение размещения частиц в результате масштабирования цилиндра (слева) и деформирования его модификатором Ripple (справа)
Получившиеся в результате наследования по закону Instanced Geometry объекты могут быть анимированы посредством анимирования объекта-образца — характер анимации у образца и построенных на его основе частиц будет идентичен. Для примера активируйте первый кадр, включите режим автоматического создания ключей, переключитесь в последний кадр и переместите образец произвольным образом, выключите режим автоматического создания ключей. После визуализации всех кадров вы сможете убедиться, что косяк рыбы движется вместе с объектом-образцом. По окончании скройте виртуальный эмиттер (командаHide Selection из контекстного меню), назначьте образцу и созданным по нему частицам подходящий материал и поместите созданную группу рыб в водную среду. Для создания подобной среды в данном случае была использована Path-сетка (Create=Geometry=Path Grids=Quad Patch), обработанная модификаторомNoise, и текстура воды (рис. 60), которая была установлена как фон и дополнительно назначена полупрозрачной сфере, выставленной на переднем плане и предназначенной для создания иллюзии нахождения рыб в толще воды (рис. 61). Возможный вид одного из промежуточных кадров полученной в итоге анимации представлен на рис. 62.