Link:INB Home|INB English| INB русский язык|INB العربية|INB Türkiye|INB فارسی|INB Español|INB Français|INB Português|INB Deutsch|INB 國語|INB 中文|INB 日本语|INB 한국어|INB ภาษาไทย|INB tiếng Việt||Уроки Maya Работа с модулем Particle Flow 2
INB русский язык Форум
Добро пожаловать! inbforum.COM Интернет без границ Форум Здесь вы можете обсудить с друзьями по всему миру прений, приходите и присоединяйтесь к нам! Постоянный имя: Ruinbforum.forumotion.com
INB русский язык Форум
Добро пожаловать! inbforum.COM Интернет без границ Форум Здесь вы можете обсудить с друзьями по всему миру прений, приходите и присоединяйтесь к нам! Постоянный имя: Ruinbforum.forumotion.com
INB русский язык Форум

Добро пожаловать! inbforum.COM Интернет без границ Форум Здесь вы можете обсудить с друзьями по всему миру прений, приходите и присоединяйтесь к нам! Постоянный имя: Ruinbforum.forumotion.com


Вы не подключены. Войдите или зарегистрируйтесь

《《《《《《《上一页INBforum   Перейти вниз

上一页INBforum》》》》》》》Предыдущая тема Следующая тема Перейти вниз  Сообщение [Страница 1 из 1]

1Уроки Maya Работа с модулем Particle Flow 2 Empty Уроки Maya Работа с модулем Particle Flow 2 Сб Окт 02, 2010 6:58 am

Admin

Admin
Admin
Попробуем воспользоваться системой частиц ParticleFlow для имитации искр, летящих от горящего костра. Смоделируйте в качестве основы сцены плоскость с лежащими на ней и сложенными горкой несколькими цилиндрами, которые будут играть роль поленьев. Каждый цилиндр следует заключить в цилиндрический гизмо для того, чтобы в дальнейшем зажечь поленья путем назначения их гизмо атмосферного эффекта FireEffect. Чтобы минимизировать затраты труда, создайте единственный цилиндр-полено и сразу же (то есть до поворота и перемещения) заключите его в превосходящий по размеру цилиндрический гизмо. Для этого создайте гизмо при помощи команды Create => Helpers => AtmosphericApparatus => CyGizmo, а затем отрегулируйте его размеры и выровняйте относительно цилиндра. Объедините цилиндр и цилиндрический гизмо в группу, клонируйте группу, поверните ее требуемым образом, вновь клонируйте — и так до тех пор, пока не будет сформирована требуемая горка поленьев (рис. 23).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 23. Первоначальный вид сцены


Увеличьте общее число кадров анимации до 400 (кнопка Time Configuration). Создайте систему частиц ParticleFlow, воспользовавшись командой Create => Geometry => ParticleSystems => PF Source, и отрегулируйте размеры эмиттера и его положение так, чтобы он охватывал всю горку поленьев (рис. 24). Проиграйте полученную анимацию — очевидно, что частицы живут всего первые 30 кадров, количество их явно недостаточно, да и летят они совсем не так, как нужно (рис. 25). Нам же необходимо добиться более-менее одинакового числа частиц во всех кадрах, которые должны разлетаться от костра в разных направлениях, причем в целом перемещаясь вверх. Для этого вначале заставим эмиттер генерировать большое количество частиц с самого начала анимации. Откройте окно ParticleView (клавиша 6), выделите в событии Event 01 строку Birth 01 и установите значение параметра EmitStart равным –100 (отрицательное значение требуется для того, чтобы нужное число частиц сформировалось еще до начала анимации), EmitStop — 400, а Amount — 5000 (рис. 26). После это количество частиц во всех кадрах станет визуально одинаковым.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 24. Появление источника частиц

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

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 26. Настройка параметров генерации частиц


Выделите строку Speed, уменьшите скорость перемещения частиц (параметр Speed) примерно до 85, включите флажок Reverse и установите параметр Divergence равным 50 (рис. 27). В итоге частицы станут разлетаться от костра в разные стороны. После этого создайте в событии Event 01 критерий AgeTest и установите для него параметр TestValue равным 50, а Variation — 15. Создайте новое событие Event 02, перетащив оператор D elete в свободную от событий область диаграммы, и установите для него вариант ByParticleAge, оставив значение параметра LifeSpan (Время жизни) равным по умолчанию; параметр Variation (Отклонение) обнулите, а затем свяжите критерий AgeTest 01 с событием Event 02 (рис. 28). Все это в комплексе позволит ограничить время жизни частиц и сделать его случайным (рис. 29).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 27. Настройка параметров перемещения частиц

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 28. Вид диаграммы событий после создания критерия AgeTest и события Event 02

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


Поскольку частицы должны подвергаться некоторому воздействию гравитации, создайте слабую гравитационную силу (мы остановились на значении параметра Strength равном 0,035) и назначьте ее частицам посредством оператора Force, внедренном в событие Event 01. Откорректируйте размеры источника частиц, чтобы поток частиц выглядел более реалистично (рис. 30).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 30. Результат внедрения гравитации и корректировки размеров источника


Теперь нужно настроить вид визуализации частиц. Для этого лучше всего создать образец-заместитель, который по форме мог бы напоминать искру, — путь это будет обычный конус. Добавьте в событие Event 01 на место оператора Shape оператор Shape Instance — для этого достаточно просто перетащить новый оператор прямо на старый. Щелкните на строке Shape Instance, а затем в подокне параметров на кнопке None и укажите созданный образец-заместитель. Добейтесь нужного размера частиц путем корректировки размера объекта-образца или через параметр Scale оператора Shape Instance (рис. 31).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 31. Вид визуализированной сцены после корректировки размера частиц


Перейдем к текстурированию частиц. Попробуем создать для них динамический материал MaterialDynamic, благодаря которому частицы со временем будут менять свой цвет, что как раз и характерно для искр. Откройте редактор материалов, в пустом слоте создайте новый стандартный материал, увеличьте для него значение параметра Self-Illumination до 100 (чтобы материал светился) и установите на канале Diffuse текстурную карту Particle Age, изменяющую текстуру частиц в зависимости от их возраста. Установите в качестве цветов карты Particle Age оранжевый, красный и черный и уменьшите значение параметра Age #2 примерно до 20 (рис. 32). Это будет означать, что в момент рождения частицы будут окрашиваться первым цветом (ему соответствует параметр Age #1), затем по мере их взросления цвет будет меняться, пока по достижении частицами возраста Age #2 не совпадет со вторым цветом и т.д. В итоге получится, что цвет частиц будет зависеть от возраста. Теперь следует сделать так, чтобы прозрачность частиц тоже зависела от возраста и вдобавок была неоднородной. Поэтому установите на канале Opacity текстурную карту Mask и в качестве карты, которая будет видна через маску (поле Map), выберите карту Noise, установив переключатель NoiseType в положение Fractal и в качестве первого из цветов указав карту Particle Age (рис. 33), — в итоге характер шума станет зависеть от возраста частицы. Вернитесь к параметрам карты Mask, установите в качестве маски карту GradientRamp, изменив тип градиента на Mapping, и в качестве карты-источника (параметр Source Map) также укажите Particle Age (рис. 34). Полученный в итоге материал представлен на рис. 35.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 32. Настройка параметров карты ParticleAge

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 33. Настройка параметров карты Map для текстурной карты Mask

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 34. Настройка параметров карты Mask для текстурной карты Mask

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 35. Динамический материал для искр


Теперь следует подключить созданный материал к системе частиц. Переключитесь в окно ParticleView и в событии E vent 01 добавьте оператор MaterialDynamic. Выделите строку MaterialDynamic, щелкните на кнопке None и укажите созданный выше материал (выбирать его нужно из списка Mtl Editor). Обратите внимание, что срок жизни частицы, используемый в карте ParticleAge и определяемый в том же событии, где фигурирует оператор MaterialDynamic, — в некоторой степени величина случайная. В итоге не исключены накладки при установке взаимодействия между реальным возрастом частицы и динамическим материалом, поэтому обычно сразу после оператора MaterialDynamic устанавливают оператор Delete с выбранным режимом ByParticleAge (По возрасту частицы). Благодаря этому срок жизни каждой конкретной частицы определяется точно (а все частицы с истекшим сроком жизни тут же удаляются) и карта ParticleAge работает идеально. Кроме того, учитывая, что какая-то часть частиц отображается уже по событию E vent 02, следует и в него внедрить оператор MaterialDynamic, подключив к нему тот же самый материал (рис. 36 и 37).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 36. Вид диаграммы ParticleFlow после подключения динамического материала

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 37. Вид визуализированной сцены после настройки материала


Перейдем к созданию имитации горения, что несложно реализовать путем подключения атмосферного эффекта FireEffect. Для этого из меню Rendering (Визуализация) откройте команду Environment (Окружение), в свитке Atmosphere (Атмосферные эффекты) щелкните по кнопке Add (Добавить) и выберите эффект FireEffect. В области FireEffectParameters окна EnvironmentandEffects щелкните на кнопке PickGismo (Указать гизмо) и укажите сразу все ранее созданные цилиндрические гизмо через окно Select by Name. Измените параметры эффекта FireEffect в соответствии с рис. 38 и при рендеринге увидите, что поленья загорятся (рис. 39). Аналогичным образом создайте основное пламя костра, установив сферический гизмо и создав для него дополнительный FireEffect с подходящими параметрами. Анимируйте созданный огонь. Включите режим автоматического создания ключей, щелкнув на кнопке ToggleAutoKeyMode, перетащите ползунок временной шкалы на последний кадр и в области FireEffectParameters окна EnvironmentandEffects установите для параметра Drift (Дрейв), определяющего скорость разрастания огня, значение 200. Отключите режим автоматического создания ключей.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 38. Настройка параметров эффекта FireEffect

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 39. Результат подключения эффекта горения


При необходимости подкорректируйте положение источника частиц, их количество и скорость испускания так, чтобы они удачно вписались в общую сцену. В заключение можно создать подходящее обрамление для горящего костра и текстурировать поленья — возможный вид одного из промежуточных кадров полученной в итоге анимации представлен на рис. 40.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 40. Горящий костер

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Праздничный фейерверк


Создадим на базе системы частиц ParticleFlow имитацию праздничного фейерверка. В целях знакомства с некоторыми полезными возможностями данной системы частиц мы изменим вид традиционного фейерверка — ракеты, выпущенные из одной точки, у нас будут разлетаться не полностью перемешиваясь, а достаточно четко выраженными пятью разноцветными потоками.
Создайте систему частиц ParticleFlow с малым по площади эмиттером. Откройте окно ParticleView (клавиша 6) и удалите из события Event 01 все строки, кроме Birth 01 и Position Icon 01 (рис. 41). Выделите строку Birth 01 и установите значение параметра EmitStop — 100 (так как в анимации 100 кадров), а Amount — 2000. Выделите строку Position Icon 01 и в поле Location установите вариант Pivot — в результате частицы будут вылетать из одной точки. Создайте в данном событии критерии Spawn с параметрами по умолчанию и SplitAmount, установив для последнего значение параметра Ratio равным 20%. Критерий Spawn обеспечит рождение множества новых частиц в самом начале анимации, а SplitAmount позволит извлечь из общего потока частиц подпоток, содержащий одну пятую от общего потока. Продублируйте критерий SplitAmount четыре раза (рис. 42) — это создаст основу для пяти потоков частиц.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 41. Первоначальный вид окна ParticleView

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 42. Результат формирования события Event 01


Перетащите оператор Speed на свободную область диаграммы — будет создано событие Event 02. Установите для данного оператора параметр Speed равным 200, Divergence — 30 и включите флажок Reverse. Добавьте в это же событие под строку Speed 01 операторы Force и Shape. В операторе Shape уменьшите размер частиц примерно до 3. Переключитесь на панель Create и в окне Perspective создайте гравитационную силу, направленную вниз, вернитесь в окно ParticleView и подключите данную силу в операторе Force, щелкнув на строке By List (рис. 43). Свяжите данное событие с первым оператором SplitAmount из события Event 01. Настройте силу воздействия гравитации так, чтобы частицы вначале немного поднимались вверх, а потом разлетались в разные стороны и падали вниз — в данном случае мы установили значение параметра Strength равным 0,3 (рис. 44). Создайте источник ветра, открыв свиток Forces, кликнув на кнопке Wind и сформировав источник в окне Left. Подключите данную силу через оператор Force в событии Event 02. Настройте параметры источника так, чтобы поток изгибался под воздействием ветра требуемым образом (рис. 45). Поскольку по мере удаления от источника количество частиц становится заметно меньше, то добавьте в событие Event 02 критерий Spawn для генерации дополнительных частиц (рис. 46).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 43. Вид диаграммы после создания события Event 02

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 44. Вид потока частиц после настройки гравитации

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 45. Настройка воздействия ветра

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 46. Вид диаграммы после настройки события Event 02


Через контекстное меню сделайте копию события Event 02, свяжите его со вторым оператором SplitAmount из события Event 01. Переключитесь на окно проекции Top и создайте в нем дубликат источника ветра, а затем поверните его вокруг собственного центра на 20°. Вернитесь в окно ParticleView, выделите в событии Event 03 строку Force, удалите из списка силу Wind 01 и добавьте силу Wind 02. После этого выделите строку Display 02 и измените цвет частиц для того, чтобы четко различать потоки (рис. 47). В итоге поток частиц распадется на две части (рис. 48).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 47. Вид диаграммы после настройки события Event 03

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 48. Результат разбиения потока на две части


Путем такого же клонирования в проекции Top с последующим поворотом на 20° создайте еще три источника ветра. Затем переключитесь в окно ParticleView и скопируйте событие Event 02 три раза, каждый раз меняя цвет частиц и источник воздействия ветра. Полученная в итоге диаграмма потока представлена на рис. 49, а вид частиц в окне проекции — на рис. 50. Поскольку потоки оказались слишком узко направлены, увеличьте степень расхождения частиц при движении примерно до 75 (параметр Divergence в строке Speed для каждого из событий), а также увеличьте общее число частиц до 10 тыс. — потоки окажутся мощнее и будут частично перекрываться (рис. 51). В заключение создайте для каждого из пяти потоков свой светящийся материал, внедрите в каждое из последних пяти событий оператор MaterialStatic и подключите к данным операторам созданные материалы (рис. 52). Клонируйте несколько раз полученную в итоге систему частиц и при рендеринге увидите примерно такой результат, как представлен на рис. 53.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 49. Окончательный вид диаграммы ParticleFlow

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

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 51. Вид частиц после корректировки мощности и ширины потоков

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 52. Подключение оператора MaterialStatic

[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 53. Праздничный фейерверк
]

http://ru.inbforum.com

上一页INBforum   Перейти вниз

上一页INBforumПредыдущая тема Следующая тема Вернуться к началу  Сообщение [Страница 1 из 1]

Права доступа к этому форуму:
Вы не можете отвечать на сообщения

Copyright ©2009-2010 LTD Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

IT:SINGLESERVGoogle谷歌翻译TranslateFORUMSOFTLAYERGoogle谷歌广告联盟AdSenseAsia

 

Бесплатные форумы | ©phpBB | Бесплатный форум поддержки | Сообщить о нарушении | Последние обсуждения