Вернуться   Foxter.ru > Графика > 3D / Трехмерная графика > Уроки

Ответ
 
Опции темы Опции просмотра
Старый 05.03.2007, 23:55   #42528  
Хранитель
 
Аватар для Bloke
 
Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616
Регистрация: 24.06.2006
Адрес: КК
Сообщения: 424
По умолчанию Partical Flow для 3d Max [подборка уроков]

Переводы официальных уроков....

Работа с Particle Flow
В этих уроках, Вы научитесь использовать систему частиц Particle Flow в 3ds Max, чтобы создавать специальные эффекты, такие как водные брызги, аэрозольное облако, взрыв астероида при столкновении с поверхностью планеты, управляемые ракеты со следами дыма, которые поражают цели и другое.

Возможности, представленные в этом уроке
Среди особенностей 3ds Max, представленных в этих обучающих программах, находятся следующие:
  • Генерация частиц после столкновения, с помощью дефлектора (отражателя).
  • Изменение типа частиц, базирующихся на результатах теста.
  • Применение сил к частицам, таких как гравитация и торможение.
  • Использование сценария в системе частиц, которая управляет событиями.
  • Применение материалов к частицам.

Файлы для этого раздела
Файлы для этого обучения можно по ссылке http://hotfile.com/dl/75355777/d0251...EC_FX.exe.html \само распаковывающийся zip-архив\

Уроки
Столкновение астероида с поверхностью планеты
Создание управляемых ракет
__________________
Bloke вне форума   Ответить с цитированием
Старый 06.03.2007, 00:05   #42529  
Хранитель
 
Аватар для Bloke
 
Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616
Регистрация: 24.06.2006
Адрес: КК
Сообщения: 424
По умолчанию Столкновение астероида с поверхностью планеты

Столкновение астероида с поверхностью планеты



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

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

Обратите внимание: Это - обучающая программа для промежуточного уровня. Вы должны знать основы Particle Flow и функциональные возможности 3ds Max, такие как выравнивания объектов.

Уровень знаний: Средний

Время обучения: 2–4 часа

Возможности, представленные в этом уроке
  • Установка и настройка системы частиц
  • Гибкая установка эмиттера
  • Использование анимированного объекта ссылки для создания частиц с разными формами
  • Применение различных сил к частицам (гравитация и т.д.)
  • Генерация новых частиц из уже существующих
  • Генерация частиц при столкновении, с помощью дефлектора (отражателя)
  • Перемещение частиц по поверхности
__________________
Bloke вне форума   Ответить с цитированием
Старый 06.03.2007, 00:43   #42530  
Хранитель
 
Аватар для Bloke
 
Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616
Регистрация: 24.06.2006
Адрес: КК
Сообщения: 424
По умолчанию Создание столкновения

Часть 1: Создание столкновения


Система частиц Particle Flow, которая управляет событиями, позволяет Вам создавать очень гибкую анимацию частиц. Эта система очень гибкая, в смысле, что Вы не должны определять свойства частиц и их действия, для которых необходимо явно указывать ключевые кадры, как это было в более ранних системах частиц. В Particle Flow, Вы можете создавать последовательность событий, которые вызываются условиями. Когда условия изменяются или обновляются, это также происходит и с системою частиц. Это облегчает корректировку движений и свойств, без применения “сложного кода” к этой системе. Например, если Вы создаете ряд событий, которые вызывают единственное столкновение частицы, то что, если Вы добавите больше частиц? С системой, которая управляет событиями, не имеет значения, сколько раз это событие будет вызвано.

Один из способов представить систему частиц, которая управляет событиями, это вспомнить такое устройство, как Rube Goldberg или домино, выстроенное вряд: Одно событие вызывает следующее, и так далее. Точно так же и в этой обучающей программе, Вы используете единственное событие, чтобы вызвать ряд сложных событий. В этом случае, объект астероида разбивается о поверхность планеты. Когда астероид сталкивается с поверхностью, генерируются события, которые создают шаровую молнию, фрагменты со следами дыма, ударную волну, вторичные воздействия, и так далее.

Откройте файл сцены:

Откройте asteroid_impact_start.max.

Кроме планеты и объектов астероида, эта сцена содержит две деформации пространства: Drag и Gravity. Так же в сцене находится сферический дефлектор (отражатель) (SOmniFlect01).

Создайте систему частиц

Чтобы начать, Вам необходимо создать источник потока: астероид, который будет нарисован по направлению к поверхности планеты.

1. В области просмотра Left, создайте сферический объект PF Source, с диаметром 1000 единиц. Выключите Show: Logo.



2. Используйте инструмент Align, чтобы центрировать этот эмиттер по отношению к объекту Planet.



Это установит частицы на некотором расстоянии поверхности.

По умолчанию, система содержит некоторые операторы, которые Вам не нужны, поэтому Вы их исключите.

3. Откройте Particle View. Вы можете сделать это из вкладки Modifier для объекта PF Source или нажав клавишу 6.

4. В Particle View, щелкните оператор Render в глобальном событии объекта (PF Source 01) и установите Type к None.

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

5. Удалите операторы Speed, Rotation и Shape в событии birth: Event 01.



По умолчанию, событие рождения (birth event) содержит оператор Position Icon, который находится там, откуда Вы начнете излучать частицы астероида.

6. Выберите оператор Position Icon и установите его метод location к Edges.

Это запустит частицы с внешних границ значка, а не в пределах его объема.

7. В группе Uniqueness, установите Seed к 12517.



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

Анимация относительно длинная (если быть точным, то 1000 кадров), поэтому Вы откорректируете параметры оператора Birth.

8. В операторе Birth, установите Emit Stop к 700 и Amount к 1.



Это заставит одну частицу зародиться между кадром 0 и 700; а именно, в кадре 0. В остальных кадрах, начальная частица породит другие частицы.

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

9. Добавьте оператор Shape Instance, под оператором Position Icon и установите объект Asteroid, в качестве объекта на который ссылаются.



Совет: Так как при открытии этой сцены объект Asteroid находится вне видимости областей просмотра, вероятно Вам будет легче выбрать этот объект, использовав диалог Pick Object: Когда Вы нажмете кнопку Particle Geometry Object в операторе Shape Instance, нажмите клавишу H и затем дважды щелкните в списке объект Asteroid.

10. (Дополнительный шаг), Посмотрите на параметры Shape Instance; сначала, Scale %. Вместо того, чтобы добавлять отдельный оператор Scale, Вы можете установить относительный масштаб для экземпляра геометрии, так же и с Variation, чтобы рандомизировать масштаб с каждой последующей частицей. Соответственно, не бойтесь корректировать любой из параметров. Кроме того, если бы Вы должны были использовать несколько астероидов, но оставили бы Acquire Current Shape, приведенная в качестве примера геометрия всегда выглядела бы одинаково. Включив этот параметр, оператор Shape Instance будет использовать текущее состояние геометрии, назначая ее на недавно родившуюся частицу. Это не дает Вам возможность создавать уникальный объект для каждой частицы. Но для этой обучающей программы, Вы запускаете только одну первоначальную частицу, таким образом Вы можете не использовать эту опцию.

Кстати, проще визуализировать то, что происходит, когда Вы фактически можете видеть форму объекта.

11. Выберите оператор Display и установите Type к Geometry.

Используйте гравитацию, чтобы направить астероид на планету:

В данный момент, частица реально ничего не делает. Чтобы заставить ее упасть на объект планеты, все, что Вы должны сделать, это - определить деформацию пространства Gravity, как силу, которая применяется к этой частице. Чтобы создать этот эффект, в этой сцене Вы найдете сферическую Gravity, выровненную к объекту планеты.

1. Добавьте оператор Force под оператор Shape Instance и назначьте Gravity01, в качестве Force Space Warp. Также, установите Influence % к 100.0.



Если Вы запустите анимацию, Вы увидите мэш, падающий на объект планеты. Этот мэш должен упасть на поверхность планеты в месторасположения источника света (Direct01.Target), видимый в области просмотра Perspective.


Мэш астероида ударяет поверхность планеты около источника света (область просмотра Perspective).

Чтобы иметь более естественный вид, астероид должен падать, вращаясь. Вы можете достигнуть этого с помощью оператора Spin. Оператор Spin похож на оператор Rotation, за исключением явного управления ориентацией, вместо этого, он применяет угловую скорость к частице. Поэтому, иногда Вы будете использовать оператор Spin, вместе с оператором Rotation, но не в этом случае

2. Продолжайте пополнять событие, добавьте оператор Spin под оператором Force.

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

3. Проверьте, установлен ли Spin Axis к Random 3D, а затем установите Spin Rate к 90 со значением Variation в 30.



4. Это заставит частицу вращаться каждую секунду на 90 градусов, плюс или минус 30 градусов.

Щелкните правой кнопкой заголовок Event 01 и переименуйте его на CreateAsteroids.



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

Создайте столкновение:

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

Эта сцена включает сферический дефлектор (отражатель), который примерно соответствует размеру поверхности объекта планеты. Причина для использования этого дефлектора, вместо дефлектора на основе мэша - из-за скорости и простоты. Дефлекторы на основе мэша, такие как UDeflector, должны проверять многоугольники на пересечении, что медленнее, чем проверка ограниченной сферы. Так как объект планеты - это сфера, то все, что необходимо для более быстрых вычислений столкновения - это выравнивание их центров и соответствие масштаба. В этой сцене, все это уже сделано.

1. Добавьте тест Collision, в самый низ события CreateAsteroids.



Поскольку столкновение вызовет рождение частиц, Вы могли бы применить тест Collision Spawn, однако вместо него Вы будете использовать тест Collision, таким образом Вы сможете взглянуть на его добавленную гибкость.

2. Щелкните этот тест, чтобы выбрать его и в его параметрах, назначьте в качестве дефлектора SOmniFlect01.

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

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

3. Создайте новый тест Spawn, отдельно от события CreateAsteroids.



Также будет автоматически создан и оператор Display.

Измените название нового события на RocksShockwave и свяжите его с тестом Collision, когда он создаст камни и взрывную волну.



5. В параметрах теста Spawn, установите Offspring # к 200 с установкой Variation % в 15.

6. В группе Speed, измените Variation % к 30 и угол Divergence к 60.



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

Обратите внимание: Хотя Spawn - номинально тест, в этом случае Вы используете его строго в качестве оператора, чтобы определить результаты столкновения. Позже, Вы примените два дополнительных теста в этом событии, добавив второй Spawn, чтобы направить частицы к другим событиям.

7. Измените тип и цвет оператора Display. К примеру, попробуйте оранжевый цвет для меток.



8. Запустите анимацию.



При столкновении, астероид создаст взрыв частиц.


Уроки от: 3ds Max
Перевод: Касилов Евгений


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

__________________
Bloke вне форума   Ответить с цитированием
Старый 13.03.2007, 00:13   #43086  
Хранитель
 
Аватар для Bloke
 
Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616
Регистрация: 24.06.2006
Адрес: КК
Сообщения: 424
По умолчанию Создание взрывной волны

Часть 2: Создание взрывной волны


Начните урок:
  • Продолжите предыдущий урок или откройте файл asteroid_impact_part2.max.

Создайте взрывную волну:

Чтобы заставить частицы распространяться радиально и охватывать поверхность геометрии планеты, Вы используете оператор Speed By Surface. Иногда это может происходить медленно, особенно с плотными объектами, но на примере нашей сферы, все должно хорошо сработать.

1. Под тестом Spawn, добавьте оператор Speed By Surface, а затем щелкните этот оператор, чтобы увидеть его параметры.



Этот мощный оператор предоставляет довольно большое количество элементов управлений.

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

2. Выберите из первого выпадающего списка Control Speed Continuously.

3. Дальше, установите Speed к 30 с variation в 5, чтобы не слишком разбивать форму ударной волны.

Оператор Speed By Surface позволяет Вам ссылаться на множество объектов, даже на объекты, форма которых анимирована, так же как и определять значения скорости по поверхности, основанной на материале.

4. В группе Surface Geometry, щелкните Add и выберите объект Planet.



5. Установите Direction to Parallel To Surface.

Это заставляет частицы двигаться по поверхности этого объекта. У Вас также есть опция для движения по нормалям (normals), но в этом случае, это заставило бы частицы съезжать по поверхности планеты.

Группа Continuous Speed Control содержит некоторые важные элементы управления. Accel Limit позволяет Вам ограничивать изменение скорости и направления частиц. Если значение слишком высоко, частицы могут ненамного выйти из-под контроля.

6. Установите Accel Limit к 10.



Дальше находятся элементы управления Range и Falloff Zone, которые позволяют Вам ограничивать степень эффекта. Range определяет расстояние, в пределах которого этот оператор будет воздействовать на частицы; Falloff Zone - это ослабление эффекта между начальной и конечной точкой. Но в этом примере эти элементы управления не имеют значение, потому что поверхность должна всегда воздействовать на частицы. Иначе, как только бы они достигли предела диапазона, они скользили бы по поверхности нереалистично. Поэтому, Вы можете оставить опцию Unlimited Range включенной.

7. Запустите анимацию.



Астероид создает кольцо частиц, похожее на ударную волну, которая движется по поверхности планеты от места падения астероида. Иногда, этот процесс медленно обрабатывается в этом событии, поэтому Вы могли бы добавить оператор Cache, когда это событие будет закончено. Оператор Cache "выжигает" движение частицы в память компьютера для более быстрого воспроизведения. Он чем-то напоминает предварительную обработку анимации, таким образом компьютер думает только о представлении частиц, не выясняя при этом, где они должны находиться.

По истечению некоторого времени, реалистичная ударная волна в атмосфере планеты должна замедлять свое движение; для этого типа эффекта хорошо подойдет деформация пространства Drag.

8. Добавьте оператор Force под Speed By Surface и назначьте на него деформацию пространства Drag01. Установите Influence % к 500.

9. Снова запустите анимацию.

Ударная волна замедляется по истечению некоторого времени, воздействие Drag01 вполне реалистично.

Вскоре, Вы усилите эффект ударной волны, но сначала Вы закончите это событие. Вы разобьете поток частицы таким образом, чтобы некоторые из частиц стали ударной волной, а другие стали бы осколками камней. Это можно сделать с помощью теста под именем Split Amount.

Создайте осколки камней:

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

1. В событии RocksShockwave, добавьте под тестом Spawn тест Split Amount.



Split Amount позволяет Вам подразделять поток частицы в процентном отношении, каждую энную (Nth) частицу или все частицы выше или ниже определенного количества. Это предоставляет Вам достаточно большой контроль над делением потока, таким образом, с помощью одного из потоков мы только собираемся запустить волну по поверхности планеты.

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

2. Используйте опцию по умолчанию Fraction Of Particles, установите Ratio % к 20.



Так как Split Amount - это тест, частицы, которые расщеплены, отсылаются к следующему событию, в то время как другие остаются. Скоро, Вы настроите этот тест так, что 20 процентов из расщепленных частиц станут осколками гранита.

Если Вы не подключите вывод теста Split Amount к любому другому событию, Particle Flow просто проигнорирует его. Вы можете проверить это, установив Particle View > Options menu > Track Update к Particle Count. Это добавляет вкладку к каждому событию, показывая сколько частиц оно содержит.


Опция Particle Count добавляет вкладку к каждому событию, которая показывает текущее количество частиц этого события.

Разложите взрывную волну на детали:

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

1. Добавьте тест Spawn на низ события RocksShockwave.



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

2. Щелкните новый тест Spawn и в группе Spawn Rate And Amount, выберите By Travel Distance.



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

3. С помощью опции By Travel Distance, процент рождения частиц контролируется значением Step Size, которое Вы должны установить к 0.5.



По умолчанию, значение Offspring # установлено в 1 - этого достаточно, потому что у Вас имеется достаточное количество частиц для ударной волны, чтобы запустить ее. Однако, Вы всегда можете увеличить это значение, если этот необходимо.

4. В группе Speed, установите Inherited % к 15 со значением Variation в 5.



Это важно, потому что со значением по умолчанию в 100, все рожденные частицы сохранят полную скорость первоначальных частиц. Уменьшая это значение к 15%, мы заставим их тянуться позади на приличном расстоянии.

Дальше, Вы создадите событие, которое будет определять поведение и появление этих рожденных частиц.

5. Добавьте новый оператор Force за пределами события RocksShockwave. Добавьте Drag01 к его списку Space Warps и установите Influence % к 100.



6. Назовите новое событие ShockwaveTrails и установите его оператор Display в Dots и измените этот цвет на темно-красный или любой другой цвет, который поможет отличить рожденные частицы от первоначальных.

7. Свяжите вывод нового теста Spawn в событии RocksShockwave с входом этого нового события.



Теперь, когда Вы запустите анимацию, сила Drag замедлит движение тянущихся фрагментов.



Тем не менее, чего-то не хватает, а именно того, что в этих рожденных частиц нет жизненного цикла: они никогда не умрут. Если они должны представлять следы плазмы, вероятно Вы захотите использовать материалы, которые будут управлять возрастом этих частиц; к примеру материал Gradient.

8. Добавьте оператор Delete к событию ShockwaveTrails, прямо под оператор Force. В параметрах этого оператора, выберите By Particle Age и оставьте по умолчанию значение Life Span в 48 с Variation в 8.



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

В этом месте, ваша диаграмма частиц должна напоминать следующую иллюстрацию.




Уроки от: 3ds Max
Перевод: Касилов Евгений


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

__________________
Bloke вне форума   Ответить с цитированием
Старый 20.03.2007, 00:23   #43632  
Хранитель
 
Аватар для Bloke
 
Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616
Регистрация: 24.06.2006
Адрес: КК
Сообщения: 424
По умолчанию Генерация вторичных событий

Часть 3: Генерация вторичных событий


Начните урок:
  • Продолжайте предыдущий урок или откройте файл asteroid_impact_part3.max.

Создайте частицы, которые выстреливаются из ударной волны:

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

1. Добавьте тест Split Amount на верх события ShockwaveTrails и оставьте его установки по умолчанию: Fraction of Particles > Ratio %=50.



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

2. Создайте новое событие в Particle View, клонировав оператор Force в событии CreateAsteroids, в качестве образца (Instance). Чтобы сделать это, нажмите и держите клавишу SHIFT, а затем перетяните оператор Force из события CreateAsteroids на пустую область Event Display, ниже события ShockwaveTrails.



Появится диалог с запросом, как клонировать этот оператор. Выберите Instance и щелкните OK.

Новый оператор появится курсивом, указывая на то, что он сейчас был произведен как образец от другого оператора. Это - хороший способ многократно использовать операторы и применять к ним изменения.

3. Переименуйте новое событие на ShockwaveBurning и измените в этом событии новый оператор Display на что-нибудь особенное, типа желтых линий.



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

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

В данный момент, кроме влияния гравитации на новые частицы в событии ShockwaveBurning, с ними ничего особенного не происходит. Вы заставите эти частицы двигаться вверх от поверхности с помощью другого оператора Speed By Surface. Но на этот раз, вместо того, чтобы обволакивать поверхность планеты, эти частицы будут выстреливаться далеко от поверхности.

4. На верх события ShockwaveBurning, добавьте оператор Speed By Surface. В его параметрах, оставьте значение по умолчанию Set Speed Once, и установите Speed к 5 и Variation к 1.

Это даст единственный толчок частицам, которые входят в это событие.

5. Для параметра Surface Geometry, назначьте объект Planet, и и оставьте для параметра Direction значение по умолчанию Surface Normals.



Это вытолкнет частицы перпендикулярно к поверхности объекта. Когда Вы имеете очень неровную поверхность (не в этом случае), это может придать частицам несколько интересное движение.

Как и в предыдущем событии, Вам необходимо установить для этих частиц время их существования.

6. На низ события ShockwaveBurning, добавьте оператор Delete. Выберите By Particle Age и установите Life Span к 20, а Variation к 1.



Это заставит эти частицы быстро исчезнуть.

Последнее, что Вам необходимо сделать, чтобы закончить эту часть ударной волны в этом уроке, это связать новое событие.

7. (Дополнительный шаг), Если Вы до этого момента уже создали и разместили событие ShockwaveBurning далеко от события ShockwaveTrails, то возможно Вы захотите подвинуть его поближе, прежде чем перейти к следующему шагу.

8. Соедините выход теста Split Amount в событии ShockwaveTrails с новым событием ShockwaveBurning.

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



Создайте каменистые осколки:

Работа над ударной волной закончена и Вы можете возвратиться к каменистым осколкам, которые Вы оставили ранее. Помните, при создании ударной волны в событии RocksShockwave, Вы добавили оператор Split Amount, чтобы разбить частицы, рожденные в том событии. Двадцать процентов из них станут скалистыми осколками, которые будут взрываться и вылетать в атмосферу, в то время как остальные сформируют ударную волну. Вы не связали выход Split Amount в новом событии, так до этого момента, по существу в этом не было необходимости. Теперь пришло время создать событие, который определит каменистые осколки.

1. С левой стороны от события RocksShockwave, создайте новое событие, копировав оператор Force от события CreateAsteroids, а затем вставив его, в качестве образца (Instance). Назовите новое событие EmitFragments.

2. Измените тип конечного результата для оператора Display к оранжевым точкам (Dots).

3. Свяжите выход оператора Split Amount в событии RocksShockwave с входом нового события.



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

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

У операторов такой возможности нет, но взамен, при щелчке по значку оператора, Вы можете блокировать и разблокировать этот оператор. Когда оператор заблокирован, он недоступен.

При размещении курсора мыши на значку тестовых операторов, Вы можете заметить, что курсор изменяет свой рисунок на алмазную клетку. Если Вы устанавливаете курсор по левой стороне значка, клетка показывает стрелку, направленную влево, указывая при этом, что "все частицы возвращают True.” И наоборот, на правой стороне значка рисунок клетки остается закрытым, указывая, что все частицы автоматически проверяют False. Чтобы проверить, что все частицы проверяют True или False, щелкните соответствующую сторону значка. После щелчка по значку, он изменяет изменяет отображение на зеленый индикатор для True или красный свет для False.

Чтобы ускорить интерактивность при построении каменистых осколков, перейдите к событию RocksShockwave, отключите оператор Speed By Surface, а затем переместите на низ этого события оператор Spawn, который передаст событию ShockwaveTrails значение False.

Следующая иллюстрация указывает местоположение двух щелчков и конечный результат.



Это должно значительно ускорить обработку в данный момент. Но не забудьте отменить эти изменения, когда Вы закончите работу со сценой.

Если Вы теперь запустите анимацию, Вы увидите первоначальную частицу, которая запустит ударную волну, а так же новые частицы, выстреливающиеся в атмосферу и обратно падающие на планету.



Создайте следы, оставляемые каменистыми осколками:

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

1. На низ события EmitFragments, добавьте тест Spawn. Установите его режим к By Travel Distance с Step Size в 0.2. В группе Speed, оставьте выбор по умолчанию в Inherited % и установите значение к 10 с Variation % в 10 и Divergence к 30 градусам.



Это заставит частицы оставлять и распылять позади себя большой след, конической формы.

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

Чтобы иначе управлять новыми частицами, Вы определите отдельное событие для этих следов.

2. Под событие EmitFragments, добавьте новый оператор Delete. Назовите созданное новое событие FragmentTrails и установите для оператора Display красные точки (Dots) или что-нибудь другое, особенное.

3. Установите оператор Delete к By Particle Age, а затем свяжите вывод теста Spawn в событии EmitFragments с этим новым событием.



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

4. В параметрах оператора Delete, установите Life Span в 80, а Variation в 24.



Создайте вторичные очаги пламени:

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

1. Вы можете повторно использовать тест Collision из события CreateAsteroids: Щелкните по нему, чтобы выделить, а затем щелкните его правой кнопкой и из контекстного меню выберите Copy. Затем расположите курсор прямо под оператором Spawn в событии EmitFragments, щелкните правой кнопкой и выберите из меню Paste Instanced. Альтернативно, Вы можете только SHIFT+потянуть этот тест на новое место, а затем выбрать Instanced из диалога Clone Options.



Вы определили тест столкновения, чтобы решить, когда каменистые обломки упадут на поверхность планеты. Без связи вывода из теста Collision, частицы только подпрыгнут при столкновении. Чтобы создать вторичные вспышки при столкновении, Вы должны создать новое событие, только для того, чтобы определить их.

2. Добавьте новый тест Spawn за пределами события EmitFragments. Назовите новое событие SecondaryFlames и измените тип для Display на желтые Ticks.

Это позволит легко увидеть, что случиться при вторичных вспышках.

3. Соедините вывод теста Collision в событии EmitFragments с новым событием.



4. В параметрах теста Spawn, оставьте по умолчанию опцию Once в Spawn Rate и включите Delete Parent.

Это важно, потому что Вы бы не хотели, чтобы каменистые обломки продолжали подпрыгивать вокруг; вместо этого, они должны породить новые частицы, а затем умереть.

5. Установите Offspring # к 50 со значением Variation % в 30.



Это позволит каждому каменистому обломку родится между 35 и 65 новыми частицами.

6. В группе Speed, установите Inherited % к 50 со значением Variation % в 30 и значением Divergence в 90.



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

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

7. Добавьте оператор Speed By Surface в событие SecondaryFlames под тестом Spawn.

Это заставит частицы следовать поверхности объекта планеты.

8. Установите оператор Speed By Surface в Control Speed Continuously со Speed в 30 и Variation к 10.



Это вытолкнет частицы со скоростью 30 единиц в секунду.

9. Выберите объект Planet, в качестве Surface Geometry и установите Direction к Parallel To Surface.



Это заставит частицы пройтись по поверхности планеты, начиная свое движение в сторону от места падения.

10. И наконец, установите Accel Limit к 5.



11. Дальше, копируйте оператор Force из события RocksShockwave и вставьте его в качестве образца (Instance) в событие SecondaryFlames.



Это - тот же оператор, который воздействует на частицы с 500 процентами Drag.

12. Добавьте новый оператор Delete внизу события SecondaryFlames и установите его в By Particle Age, оставив по умолчанию установки: Life Span=48 и Variation=8.

Это заставит новые частицы умирать примерно после двух секунд.

13. В событии RocksShockwave, включите блокированный оператор и тест.

На этом все! Вы можете сравнить ваши полученные результаты с нашими, в файле asteroid_impact_final.max.

Подводим итоги

На этом установка Particle Flow закончена. Так это и останется, потому что нет операторов Shape или Material, кроме начального Shape Instance, все частицы будут рендерированы, в виде формы Asteroid. Вместо этого другие события должны использовать другие формы и операторы Shape Facing. Однако, это выходит за рамки этой обучающей программы и остается за Вами. Перед Вами открываются безграничные возможности.

Мы бы предложили Вам создать каменистые обломки, с помощью анимированной геометрии образцов (Instance), созданных тем же самым методом, что и при создания астероидов. Вы могли бы сделать эффекты для следов, с помощью операторов Shape Facing и Material Dynamic, чтобы создать эффекты с картами градиента в течении жизни этих частиц.


Уроки от: 3ds Max
Перевод: Касилов Евгений


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

__________________
Bloke вне форума   Ответить с цитированием
Старый 23.03.2007, 23:54   #43888  
Хранитель
 
Аватар для Bloke
 
Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616
Регистрация: 24.06.2006
Адрес: КК
Сообщения: 424
По умолчанию Создание управляемых ракет

Создание управляемых ракет

Цели - это обычная возможность современных систем частиц, определение точки в пространстве, к которой направляются частицы или которую они ищут. Это может показаться простым, но хорошие инструменты для определения цели весьма сложны и требуют некоторых возможностей, чтобы сделать их полезными в работе. Эти возможности включают: поиск среди множественных целей, ускорения и замедления движения частиц к целям и от них, так же как и дальнейшие события, после достижения цели. Все это обрабатывает Particle Flow, используя тест Find Target. Вы можете считать тест Find Target, системой наведения для частиц, который делает ее совершенной для создания анимации управляемой ракеты.


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

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

Уровень знаний: Средний

Время обучения: 2–3 часа

Возможности, представленные в этом уроке
  • Создание ракет с применением частиц, вылетающих от выбранных поверхностей (полигонов)
  • Использование тестов Find Target
  • Создание следов дыма с помощью операторов Shape Facing и динамических материалов
  • Создание взрывов с помощью анимированных операторов Scale

Файлы этого обучения
Все необходимые файлы для этого урока находятся на Tutorial Files CD, в каталоге \tutorials\particle_effects\. Прежде чем начать это обучение, копируйте папку \tutorials в корневую папку \3dsmax8.
__________________
Bloke вне форума   Ответить с цитированием
Старый 05.10.2010, 18:35   #70378  
Хранитель
 
Аватар для Bloke
 
Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616
Регистрация: 24.06.2006
Адрес: КК
Сообщения: 424
По умолчанию

Ссылки на ресурсы

Тем, кто слышал, что такое Partical Flow и хотел бы ознакомится с самим модулем его возможностями, посоветую эти уроки:

После этого можно приступить к более сложным, но не менее интересным урокам:

http://compress.ru
__________________
Bloke вне форума   Ответить с цитированием
Старый 06.10.2010, 00:28   #70397  
Premium Member
 
Аватар для Cloud Strife
 
Репутация: 209115Репутация: 209115Репутация: 209115Репутация: 209115Репутация: 209115Репутация: 209115Репутация: 209115Репутация: 209115Репутация: 209115Репутация: 209115Репутация: 209115
Регистрация: 21.12.2006
Адрес: Ростов-на-Дону
Сообщения: 833
По умолчанию

Самый, по моему, распространённый урок. Все потом делают свой Ник/Имя:

Вот еще интересный:

__________________
http://artofcloud.tumblr.com/
Eloquent Madness
Cloud Strife вне форума   Ответить с цитированием
Старый 09.10.2010, 09:05   #70490  
Новичок
 
Аватар для NikolaS77S
 
Репутация: 1
Регистрация: 09.10.2010
Сообщения: 2
По умолчанию

Bloke Доброго времени суток. А можно ли в этих уроках применить плагины Fume FX или Afterburn
NikolaS77S вне форума   Ответить с цитированием
Старый 10.10.2010, 15:21   #70519  
Хранитель
 
Аватар для Bloke
 
Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616Репутация: 279616
Регистрация: 24.06.2006
Адрес: КК
Сообщения: 424
По умолчанию

Цитата:
Сообщение от NikolaS77S Посмотреть сообщение
Bloke Доброго времени суток. А можно ли в этих уроках применить плагины Fume FX или Afterburn
Вопрос не совсем понятен, огонь можно создавать как с помощью Partical Flow, так и с помощью Fume FX и Afterburn, хотя я думаю вы имели ввиду, можно ли внедрять операторы Fume FX или Afterburn в Partical Flowи управлять ими с помощью этого модуля? Думаю такая возможность существует, но я ее еще не изучал... Посмотрите тему http://foxter.ru/showthread.php?t=4143 или http://foxter.ru/showthread.php?t=5887 может что и найдете для себя...
__________________
Bloke вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей - 0 , гостей - 1)
 

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Powered by vBulletin
Copyright ©2000-2024, Jelsoft Enterprises Ltd.
[Foxter Skin] developed by: Foxter.ru