1 Уроки Maya Программно-визуализируемые системы частиц [Часть 2]4 Сб Окт 02, 2010 6:40 am
Admin
Admin
Попробуем воспользоваться системой частиц, привлекаемых мишенью для создания горящей свечи. Для этого вначале смоделируйте свечу — ее роль могут сыграть два полигональных цилиндра, один из которых представляет саму свечу (он для правдоподобности деформирован путем перемещения отдельных групп вершин), а второй — ее фитиль (рис. 49). Затем сформируйте систему частиц с направленным вверх Directional-эмиттером, для чего эмиттер следует повернуть на 90° относительно оси Z. Увеличьте для эмиттера значение параметра Spread примерно до 0,2 (частицы станут испускаться в разных направлениях), увеличьте скорость движения частиц и сделайте ее случайной (параметры Speed и SpeedRandom, в данном случае установлены равными 2 и 1 соответственно). А затем переместите эмиттер на вершину фитиля свечи (рис. 50).
Отрегулируйте параметры жизни частиц, изменив в редакторе атрибутов в свитке LifespanAttributes режим LifespanMode (Режим периода существования) с варианта LiveForever (Вечно) на Constant (Постоянно), а затем присвоив параметру Lifespan (Время жизни) значение 3. Установите для визуализации частиц вариант Cloud (Облако) — рис. 51.
Теперь нужно сделать так, чтобы размер частиц стал различным. Для этого при выделенной системе частиц откройте в редакторе атрибутов свиток AddDynamicAttributes (Добавление динамических атрибутов), щелкните на кнопке General (Общие), откройте вкладку Particle (Частицы), выделите строчку radiusPP и щелкните на кнопке О k. Это приведет к появлению в разделе PerParticleArrayAttributes (Атрибуты одной частицы массива) нового атрибута radiusPP (Радиус одной частицы). Нажмите правую кнопку на появившемся в итоге в разделе PerParticleArrayAttributes поле radiusPP и выберите в контекстном меню команду CreateRamp (Создать градиент). Щелкните на поле radiusPP правой кнопкой мыши, выберите из контекстного меню команду Edit Ramp (Редактировать градиент) и измените параметры градиента в соответствии с рис. 52. В итоге радиус у Cloud-частиц станет с возрастом уменьшаться (рис. 53).
Попробуем добиться того, чтобы поток частиц колебался при движении, отклоняясь то в одну, то в другую сторону — то есть примерно так, как это происходит с пламенем свечи. Для этого создайте две сферы (они будут выполнять роль мишеней) и поместите их с разных по горизонтали сторон от эмиттера (рис. 54). Назначьте данные сферы мишенями для системы частиц. Для этого вначале выделите частицы, а затем при нажатой клавише Shift — первую сферу и воспользуйтесь командой Particles=>Goal, а затем точно такую же операцию проделайте в отношении второй сферы. Пока это не даст желаемого эффекта, поскольку целевые весы обеих мишеней равны — как между собой, так и на всем протяжении анимации. Теперь требуется для каждой из мишеней вручную подобрать нужные веса, причем с учетом кадров. В нашем случае мы остановились на следующем варианте, подобранном под анимацию длиной в 70 кадров. В 1-м кадре у первой сферы вес равен 0,150, а у второй — 0, на оба веса установлены ключи (рис. 55). В 21-м кадре веса сфер равны 0,100 и 0,150 соответственно (рис. 56), в 41-м— 0,150 и 0,100, а в 61-м — 0,100 и 0,150. После этого поток частиц станет отклоняться желаемым образом (рис. 57).
Осталось позаботиться о материале для пламени. Но вначале следует сделать так, чтобы частицы вблизи фитиля были практически прозрачны, а по мере удаления от него уровень их прозрачности уменьшался, так как пламя свечи в верхней части более яркое, нежели у фитиля. Для этого придется добавить атрибут прозрачности, чтобы сделать прозрачность динамической. Выделите систему частиц и в свитке Add Dynamic Attributes редактора атрибутов щелкните на кнопке Opacity (Непрозрачность). В открывшемся окне включите флажок Add Per Particle Attribute (Добавить атрибут для частиц) — рис. 58 и щелкните на кнопке Add Attribute (Добавить атрибут). Это приведет к появлению нового атрибута opacityPP в свитке PerParticleArrayAttributes. Нажмите правую кнопку на поле opacityPP и выберите в контекстном меню команду Create Ramp (Создать градиент). Щелкните на поле opacityPP правой кнопкой мыши, выберите из контекстного меню команду Edit Ramp (Редактировать градиент) и измените параметры градиента в соответствии с рис. 59. После этого прозрачность частиц станет зависеть от возраста.
Ну а теперь самое время перейти к созданию материала. Однако создавать новый материал мы не будем, а лишь отредактируем автоматически назначенный системе частиц объемный материал particleCloud1. Откройте редактор материалов, активируйте названный материал и назначьте ему Ramp-градиенты в полях Life Color и LifeTransparency, а затем подберите значения параметров Glow Intensity, Density, Diffuse Coeff и Translucence Coeff. Все настройки названных параметров, равно как и Ramp-градиентов, представлены на рис. 60. В заключение можно создать подходящее обрамление для горящей свечи и текстурировать элементы сцены — возможный вид одного из промежуточных кадров полученной в итоге анимации представлен на рис. 61.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 49. Первоначальный вид свечи
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 50. Свеча с исходной системой частиц
Рис. 49. Первоначальный вид свечи
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 50. Свеча с исходной системой частиц
Отрегулируйте параметры жизни частиц, изменив в редакторе атрибутов в свитке LifespanAttributes режим LifespanMode (Режим периода существования) с варианта LiveForever (Вечно) на Constant (Постоянно), а затем присвоив параметру Lifespan (Время жизни) значение 3. Установите для визуализации частиц вариант Cloud (Облако) — рис. 51.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 51. Вид частиц после изменения варианта визуализации
Рис. 51. Вид частиц после изменения варианта визуализации
Теперь нужно сделать так, чтобы размер частиц стал различным. Для этого при выделенной системе частиц откройте в редакторе атрибутов свиток AddDynamicAttributes (Добавление динамических атрибутов), щелкните на кнопке General (Общие), откройте вкладку Particle (Частицы), выделите строчку radiusPP и щелкните на кнопке О k. Это приведет к появлению в разделе PerParticleArrayAttributes (Атрибуты одной частицы массива) нового атрибута radiusPP (Радиус одной частицы). Нажмите правую кнопку на появившемся в итоге в разделе PerParticleArrayAttributes поле radiusPP и выберите в контекстном меню команду CreateRamp (Создать градиент). Щелкните на поле radiusPP правой кнопкой мыши, выберите из контекстного меню команду Edit Ramp (Редактировать градиент) и измените параметры градиента в соответствии с рис. 52. В итоге радиус у Cloud-частиц станет с возрастом уменьшаться (рис. 53).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 52. Параметры настройки градиента для динамического радиуса
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 53. Вид частиц после назначения им динамического радиуса
Рис. 52. Параметры настройки градиента для динамического радиуса
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 53. Вид частиц после назначения им динамического радиуса
Попробуем добиться того, чтобы поток частиц колебался при движении, отклоняясь то в одну, то в другую сторону — то есть примерно так, как это происходит с пламенем свечи. Для этого создайте две сферы (они будут выполнять роль мишеней) и поместите их с разных по горизонтали сторон от эмиттера (рис. 54). Назначьте данные сферы мишенями для системы частиц. Для этого вначале выделите частицы, а затем при нажатой клавише Shift — первую сферу и воспользуйтесь командой Particles=>Goal, а затем точно такую же операцию проделайте в отношении второй сферы. Пока это не даст желаемого эффекта, поскольку целевые весы обеих мишеней равны — как между собой, так и на всем протяжении анимации. Теперь требуется для каждой из мишеней вручную подобрать нужные веса, причем с учетом кадров. В нашем случае мы остановились на следующем варианте, подобранном под анимацию длиной в 70 кадров. В 1-м кадре у первой сферы вес равен 0,150, а у второй — 0, на оба веса установлены ключи (рис. 55). В 21-м кадре веса сфер равны 0,100 и 0,150 соответственно (рис. 56), в 41-м— 0,150 и 0,100, а в 61-м — 0,100 и 0,150. После этого поток частиц станет отклоняться желаемым образом (рис. 57).
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 54. Появление в сцене двух сфер
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 55. Создание ключей для целевых весов в 1-м кадре
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 56. Создание ключей для целевых весов в 21-м кадре
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 57. Вид потока частиц в одном из промежуточных кадров
Рис. 54. Появление в сцене двух сфер
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 55. Создание ключей для целевых весов в 1-м кадре
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 56. Создание ключей для целевых весов в 21-м кадре
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 57. Вид потока частиц в одном из промежуточных кадров
Осталось позаботиться о материале для пламени. Но вначале следует сделать так, чтобы частицы вблизи фитиля были практически прозрачны, а по мере удаления от него уровень их прозрачности уменьшался, так как пламя свечи в верхней части более яркое, нежели у фитиля. Для этого придется добавить атрибут прозрачности, чтобы сделать прозрачность динамической. Выделите систему частиц и в свитке Add Dynamic Attributes редактора атрибутов щелкните на кнопке Opacity (Непрозрачность). В открывшемся окне включите флажок Add Per Particle Attribute (Добавить атрибут для частиц) — рис. 58 и щелкните на кнопке Add Attribute (Добавить атрибут). Это приведет к появлению нового атрибута opacityPP в свитке PerParticleArrayAttributes. Нажмите правую кнопку на поле opacityPP и выберите в контекстном меню команду Create Ramp (Создать градиент). Щелкните на поле opacityPP правой кнопкой мыши, выберите из контекстного меню команду Edit Ramp (Редактировать градиент) и измените параметры градиента в соответствии с рис. 59. После этого прозрачность частиц станет зависеть от возраста.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 58. Добавление атрибута прозрачности
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 59. Параметры настройки градиента для динамической прозрачности
Рис. 58. Добавление атрибута прозрачности
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 59. Параметры настройки градиента для динамической прозрачности
Ну а теперь самое время перейти к созданию материала. Однако создавать новый материал мы не будем, а лишь отредактируем автоматически назначенный системе частиц объемный материал particleCloud1. Откройте редактор материалов, активируйте названный материал и назначьте ему Ramp-градиенты в полях Life Color и LifeTransparency, а затем подберите значения параметров Glow Intensity, Density, Diffuse Coeff и Translucence Coeff. Все настройки названных параметров, равно как и Ramp-градиентов, представлены на рис. 60. В заключение можно создать подходящее обрамление для горящей свечи и текстурировать элементы сцены — возможный вид одного из промежуточных кадров полученной в итоге анимации представлен на рис. 61.
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 60. Настройка параметров материала для горения
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 61. Горящая свеча
]Рис. 60. Настройка параметров материала для горения
[Вы должны быть зарегистрированы и подключены, чтобы видеть это изображение]
Рис. 61. Горящая свеча