1 Уроки Maya Программно-визуализируемые системы частиц [Часть 2]3 Сб Окт 02, 2010 6:39 am
Admin
Admin
Воспользуемся возможностью настройки столкновений частиц при моделировании фужера с шампанским. Вначале просто создайте фужер с жидкостью, пока негазированной. Фужер получите путем вращения сплайна (рис. 36). Для имитации жидкости смоделируйте полигональный цилиндр (рис. 37), переключитесь в режим редактирования граней (клавиша F11), выделите все грани, кроме тех, что принадлежат верхней плоскости (рис. 38), и удалите их. Вернитесь в режим работы на уровне объекта ( F8) и переместите полученную плоскую поверхность на место предполагаемой поверхности жидкости в фужере (рис. 39).
Теперь нужно негазированную жидкость превратить в шампанское, то есть внедрить в нее пузырьки воздуха. Щелкните на квадратике справа от команды Particles=> Crate Emitter (Частицы=>Создать эмиттер) и в открывшемся окне свойств эмиттера установите тип эмиттера Volume (Объемный), назначьте эмиттеру цилиндрическую форму (параметр Volume Shape), установите значения параметров Away From Axis и Along Axis равными 0 и 1 соответственно (рис. 40), а затем щелкните на кнопке Create. Это позволит сформировать частицы внутри фиксированного цилиндрического объема, причем сами частицы будут распространяться лишь в вертикальном направлении. Поместите эмиттер внутрь фужера и отрегулируйте его размеры (рис. 41).
Выделите систему частиц, откройте редактор атрибутов и в свитке LifespanAttributes (Атрибуты периода существования) измените режим LifespanMode (Режим периода существования) с варианта LiveForever (Вечно) на RandomRange (Случайный диапазон). А затем присвойте параметру Lifespan (Время жизни) значение 5, а параметр LifespanRandom (Случайное время жизни) оставьте равным 0 (рис. 42). В итоге каждая из частиц будет жить не более 5 секунд. В свитке RenderAttributes установите для визуализации частиц вариант BlobbySurface (s/w) (Слившиеся сферы) — частицы окажутся представленными в виде сфер, которые при столкновении станут сливаться друг с другом. После чего щелкните на кнопке CurrentRenderType (Параметры к текущему типу визуализации) и уменьшите значение радиуса сфер до 0,1 (рис. 43).
Проиграйте анимацию и убедитесь, что частицы спокойно вылетают из жидкости в воздух (рис. 44), чего в действительности быть не должно. Чтобы изменить ситуацию, необходимо настроить столкновение частиц с жидкостью, поскольку пузырьки, достигающие верхней границы жидкости (в нашем случае объекта pCylinder1), должны исчезать. Поэтому выделите систему частиц, а затем при нажатой клавише Shift — объект pCylinder1 и примените команду Particles=>MakeCollide (Частицы=>Задействовать столкновение). После этого поверхность жидкости станет представлять для пузырьков преграду, от которой они будут отталкиваться (рис. 45).
Однако возникает другая проблема: пузырьки, достигшие преграды, не сразу исчезают, а продолжают двигаться и в большом количестве скапливаются на границе. Да и общее количество пузырьков явно слишком велико. Поэтому вначале выделите эмиттер и в окне каналов уменьшите число испускаемых им за одну секунду частиц примерно до 30 (параметр Rate). А затем откройте редактор Particle Collision Events (команда Particles=> Particle Collision Events) и создайте событие типа Split с параметрами как на рис. 46. Это обеспечит постепенное умирание столкнувшихся с преградой частиц, а сами пузырьки в фужере уже будут располагаться достаточно правдоподобно (рис. 47). Создайте для объектов сцены подходящие материалы и обрамление, и после визуализации вы получите примерно такое же изображение, как представлено на рис. 48.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 36. Вид исходного сплайна и полученного на его базе фужера в проекции Front
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 37. Появление полигонального цилиндра
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 38. Выделение ненужных граней цилиндра
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 39. Фужер с негазированной жидкостью
Рис. 36. Вид исходного сплайна и полученного на его базе фужера в проекции Front
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 37. Появление полигонального цилиндра
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 38. Выделение ненужных граней цилиндра
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 39. Фужер с негазированной жидкостью
Теперь нужно негазированную жидкость превратить в шампанское, то есть внедрить в нее пузырьки воздуха. Щелкните на квадратике справа от команды Particles=> Crate Emitter (Частицы=>Создать эмиттер) и в открывшемся окне свойств эмиттера установите тип эмиттера Volume (Объемный), назначьте эмиттеру цилиндрическую форму (параметр Volume Shape), установите значения параметров Away From Axis и Along Axis равными 0 и 1 соответственно (рис. 40), а затем щелкните на кнопке Create. Это позволит сформировать частицы внутри фиксированного цилиндрического объема, причем сами частицы будут распространяться лишь в вертикальном направлении. Поместите эмиттер внутрь фужера и отрегулируйте его размеры (рис. 41).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 40. Настройка параметров эмиттера
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 41. Вид сцены в проекции Front после перемещения и масштабирования эмиттера
Рис. 40. Настройка параметров эмиттера
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 41. Вид сцены в проекции Front после перемещения и масштабирования эмиттера
Выделите систему частиц, откройте редактор атрибутов и в свитке LifespanAttributes (Атрибуты периода существования) измените режим LifespanMode (Режим периода существования) с варианта LiveForever (Вечно) на RandomRange (Случайный диапазон). А затем присвойте параметру Lifespan (Время жизни) значение 5, а параметр LifespanRandom (Случайное время жизни) оставьте равным 0 (рис. 42). В итоге каждая из частиц будет жить не более 5 секунд. В свитке RenderAttributes установите для визуализации частиц вариант BlobbySurface (s/w) (Слившиеся сферы) — частицы окажутся представленными в виде сфер, которые при столкновении станут сливаться друг с другом. После чего щелкните на кнопке CurrentRenderType (Параметры к текущему типу визуализации) и уменьшите значение радиуса сфер до 0,1 (рис. 43).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 42. Настройка параметров жизни частиц
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 43. Настройка параметров визуализации частиц
Рис. 42. Настройка параметров жизни частиц
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 43. Настройка параметров визуализации частиц
Проиграйте анимацию и убедитесь, что частицы спокойно вылетают из жидкости в воздух (рис. 44), чего в действительности быть не должно. Чтобы изменить ситуацию, необходимо настроить столкновение частиц с жидкостью, поскольку пузырьки, достигающие верхней границы жидкости (в нашем случае объекта pCylinder1), должны исчезать. Поэтому выделите систему частиц, а затем при нажатой клавише Shift — объект pCylinder1 и примените команду Particles=>MakeCollide (Частицы=>Задействовать столкновение). После этого поверхность жидкости станет представлять для пузырьков преграду, от которой они будут отталкиваться (рис. 45).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 44. Фужер с пузырьками воздуха, вылетающими за пределы жидкости
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 45. Результат назначения системе частиц столкновения (пузырьки уже не вылетают за пределы жидкости)
Рис. 44. Фужер с пузырьками воздуха, вылетающими за пределы жидкости
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 45. Результат назначения системе частиц столкновения (пузырьки уже не вылетают за пределы жидкости)
Однако возникает другая проблема: пузырьки, достигшие преграды, не сразу исчезают, а продолжают двигаться и в большом количестве скапливаются на границе. Да и общее количество пузырьков явно слишком велико. Поэтому вначале выделите эмиттер и в окне каналов уменьшите число испускаемых им за одну секунду частиц примерно до 30 (параметр Rate). А затем откройте редактор Particle Collision Events (команда Particles=> Particle Collision Events) и создайте событие типа Split с параметрами как на рис. 46. Это обеспечит постепенное умирание столкнувшихся с преградой частиц, а сами пузырьки в фужере уже будут располагаться достаточно правдоподобно (рис. 47). Создайте для объектов сцены подходящие материалы и обрамление, и после визуализации вы получите примерно такое же изображение, как представлено на рис. 48.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 46. Создание события
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 47. Распределение пузырьков в фужере после настройки события
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 48. Фужер с шампанским
]Рис. 46. Создание события
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 47. Распределение пузырьков в фужере после настройки события
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 48. Фужер с шампанским