Ваша первая система частиц

Wikis > Учебник по GUTS > Работа с частицами эффектов > Ваша первая система частиц

Что такое частица?

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

Я с нетерпением жду, чтобы увидеть ваши творения! — John Dunbar

Создаем свою первую систему частиц

В этом уроке мы начнем изучать работу редактора частиц, а также изучить некоторые свойства и аффекторы. Цель состоит в том, чтобы не делать что-то конкретное, но вы получите представление о том, как работает редактор, так что можете делать что захотите.
Давайте начнем!
Откройте GUTS (редактор) и убедитесь, что в левом окне вы находитесь на вкладке particle.

Теперь кликните правой кнопкой мыши в большом белом окне слева. Вы увидите список объектов, которые можете здесь создать. Выберите particle -> particle.

Вы сделали Частицы. Готово!

Хорошо, не все готово. Это частица не делает что либо, потому что она не имеет Эммитера. Давайте добавим один. Кликните правой кнопкой мыши на вашей новой частице в окне справа и выберите Emitter -> Emitter.
И так, это должно выглядеть так:

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

Теперь ваша система частиц работает, но не очень красиво. Она испускает серые квадраты. Давайте сделаем это похожим на что-нибудь другое.
Кликните на Particle в левом окне, чтобы выбрать это. Убедитесь, что на вкладке Properties в правом окне выбрана графа Texture. Кликните в поле справа от слова Texture, а затем кликните на кнопку с многоточием (…) и выберите новую картинку.

Если у вас есть игровые файлы, вы можете посмотреть картинки, которые мы использовали для создания всех частиц в игре. Они находятся в media/particles/textures. Сейчас выберите:
media/particles/textures/Flash/Flash09.dds

Серые квадраты превратились в картинку, которую вы выбрали, но если вы внимательно присмотритесь, то заметите, что проявляется квадратный чёрный фон.
В particle properties найдите Render Style и выберите additive. Вы можете попробовать другие additive, чтобы узнать больше, но в общем, это обозначает то, что чёрные части не картинки не будут отображаться и перекрывающиеся изображения будут становиться ярче. Заметьте как звёздочки стали ярче, так как были убраны чёрные квадраты и изображения наложились друг на друга.
Хорошо, давайте выберем несколько свойств в эммитере. Кликните на emitter в панели в левой части экрана, чтобы выбрать его, а затем посмотрите на свойство ParticleLife на панели в правой части экрана. Кликните на кнопку с многоточием. В выпадающем меню убедитесь, что выбран RANDOM, затем, в поле min установите 0.5, а в поле max 1.5. Нажмите enter после ввода значения, чтобы редактор обновил их.

Теперь все частицы рождающиеся из эммитера будут существовать между 0.5 и 1.5 секундами.
Далее установим размер для частиц. Посмотрите свойство ScaleOnLaunch. Откройте его (кликнув на многоточие) и установите в поле min 0.1,а в поле max 1.5. Теперь частицы будут рождаться со случайным размером, между 10% и 150% от нормального размера.
Точно также можно выбрать следующие свойства:
Установите ANGLE на 0. Это позволит рождать частицы в пределах 0 градусов, т.е. в линию.
Установите Type Of Emitter на Circle. Теперь частицы будут рождаться в виде кольца. Вы можете контролировать размер кольца, но оставьте пока это в покое.
Установите Velocity, чтобы значения были между 0 и 2. Это позволит задать скорость для частиц.
Установите EmitRate на 30. Это число частиц, испускаемых в секунду. Высокое число может ухудшить производительность, так что старайтесь использовать маленькие числа.
Ваши частицы должны быть похожи на эти:

Это начинает походить на волшебное кольцо, добавьте несколько цветов. Кликните правой кнопкой мыши на particle в левой панели и добавьте Affectors ->Color

Теперь вы можете кликнуть на Color affector, чтобы выбрать его, а затем открыть свойство Color Over Time в панели справа. В верхней части экрана будет большая белая полоса. Эта полоса контролирует цвета частиц в течение их жизни. Все частицы в этой системе буду начинать с цветом в левой части полосы, а когда они начнут исчезать, то будут использовать цвет из правой части полосы.
Кликните правой кнопкой мыши на полосе, чтобы добавить точку, а затем перетащите её влево до упора. Используйте ползунки, чтобы установить значения RGB (красный, зелёный, синий) на 0 для этой точки, чтобы это выглядело как на картинке ниже.

Теперь все частицы изменяют цвет с белого на чёрный с течением времени. Поскольку эти частицы смешанные (additive), то чёрный фон прозрачен, а частицы исчезают с течением времени. Заметьте, как мигают частицы, когда существуют, а потом плавно исчезают. Добавьте ещё несколько точек цвета в панели аффектора и попробуйте подобрать цвета, которые вам нравятся. Выберите точку, а затем используйте кнопку Pick Color, чтобы сделать это проще.
Выглядеть это должно примерно так:

Теперь добавьте Scale affector, как вы когда то добавили аффектор цвета. Выберите его и установите свойство Fixed на true. Это позволит масштабировать все направления. Теперь откройте свойство X и выберите в графе drop-down на Range. Это позволит изменять размер частиц на протяжении их жизни, так же как и меняются цвета. Кликните правой кнопкой мыши на сетку, чтобы добавить точку. Давайте начнём с двух точек, первая (0,0), а вторая (1,1). Это сделает частицу масштабом 0% в начале жизни и 100% в конце. Устанавливайте числа в графе Graph Bounds для облегчения перемещения точек по сетке.

Теперь ваши частицы начинаются от маленьких и ярких до больших, а потом исчезают. Для практики, попробуйте обратить процесс. Сделайте их начало с больших и тусклым, а затем, чтобы они сжимались в маленькие и яркие. Чтобы сделать это, вам потребуется установить точки в обратном порядке как в scale так и в color аффекторах. Также, увеличьте EmitRate до 50. Это много, но это позволит лучше увидеть, как работают следующие несколько аффекторов.
Добавьте Linear Force affector в вашем Particle и выберите его, также вы можете выбрать для него свойства. Этот аффектор может добавить небольшое усиление в определённом направлении при каждом обновлении. Выберите в Y значение 6. Теперь частицы будут ускоренно поднимать вверх. Также попробуйте установить в свойства X и Z различные значения, чтобы понаблюдать за эффектом. Это хороший способ симулировать ветер. Установите X и Z на 0 после установки значений.
Посмотрите ка, какое волшебное кольцо у вас там! Давайте сейчас добавим Gravity affector. Добавьте Gravity Well в вашу систему и установите свойство Gravity на 15. В отличие от многих аффекторов, значение в нем на самом деле важно. Это будет тянуть частицы назад или отталкивать, если в свойстве Gravity установлено отрицательно число. В Y установите значение на 3. Ваша система должна быть похожа на это:

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

Есть ещё несколько общих аффекторов, которые мы покажем до окончания этого урока. Когда будете готовы, выберите Emitter и установите свойство Width на 0.3. Это сделает ваши частицы более узкими, чтобы сделать вращение более заметным, когда мы его добавим.
Добавьте Texture Rotate affector. Найдите свойство StartingRotation и чтобы оно было случайным, установите его между 0 и 6.283. Это свойство задается в радианах, так что 6.283 это 360 градусов и начальное вращение будет совершенно случайным.
Теперь установите свойство Use Own Rotation на true, а затем откройте свойство RotationSpeed. Установите случайное число между -300 и 300. Если вы проследите за вашими частицами, то они должны случайно вращаться по часовой или против часовой стрелке, в верхней части конуса.
Последняя вещь, которую вы должны знать — это взрывающиеся частицы, которые очень важны. В эммитере установите свойство EmitDuration на 0, затем вновь нажмите зелёную стрелочку. Все частицы испустят в одном взрыве, и затем система завершиться. Используйте это для создания других взрывающихся частиц.
Установите EmitDuration обратно на 1, чтобы вернуть все обратно. Вы можете сохранить и перезаписать систему в меню File, если вам понравился взрывающийся эффект.
Это все!  Вы получили хорошую систему, с которой можете играть. Попробуйте потыкать в остальные свойства или подумать и попробовать сделать систему частиц, которую Вы бы хотели видеть. Чем больше Вы понимаете свойств и аффекторов, тем больше Вы можете сделать!
Развлекайтесь!

Ссылка на страницу

URL:

bbCode:

HTML: