Использование систем частиц в Unity
Unity implements particle systems with a Component, so placing a system in a scene is a simple matter of adding a pre-made object (menu: GameObject > Create General > Particle System) or adding the component to an existing object (menu: Component > Effects > Particle System). Since the component is quite complicated, the inspector is divided into a number of collapsible sub-sections or modules that each contain a group of related properties. Additionally, you can edit one or more systems at the same time using a separate editor window accessed via the Open Window button on the inspector. The many options available for the Particle System component are described in detail on its component reference page and the pages for the individual modules.
При выборе объекта с системой частиц, в окне Scene появится небольшая панель Particle Effect с простыми элементами управления для удобной визуализации изменений, вносимых в настройки системы.
Скорость проигрывания (поле Playback Speed) позволяет ускорить или замедлить симуляцию частиц, что позволяет быстро проверить как она будет работать в заданном режиме. Время проигрывания (поле Playback Time) показывает количество времени, прошедшего с начала симуляции; оно может не совпадать в реальным временем, если изменялась скорость проигрывания. Время проигрывание может быть “отмотано” назад и вперед с помощью зажатия левой клавиши мыши над надписью Playback Time с последующим перетаскиванием воображаемого ползунка влево и вправо. Кнопки в верхней части панели позволяют приостановить и продолжить выполнение симуляции, либо остановить её и сбросить в первоначальное состояние.
Изменение свойств с течением времени
Многие числовые свойства частиц или даже всей системы могут изменяться с течением времени. Unity предоставляет несколько различных способов указания как будет происходить изменение:-
- Constant: Значение свойства не меняется со временем.
- Curve: Значение меняется по кривой / графу.
- Random between two constants: Два постоянных значения определяют верхнюю и нижнюю границы для итогового значения, которое выбирается случайно из всех значений, попадающих в эти рамки.
- Random between two curves: Две кривые определяют верхнюю и нижнюю границы диапазона значений в определённый момент времени; текущее значение случайным образом выбирается из этого диапазона.
For color properties, such as Color over lifetime, there are two separate options:
- Gradient: Значение цвета выбирается из градиента.
- Random between two gradients: Два градиента определяют верхнюю и нижнюю границы значения цвета в определённый момент времени; текущее значение является случайным средневзвешенным из цветов на границах.
Система частиц (партиклы)
система частиц Компонент, моделирующий текучие объекты, такие как жидкости, облака и пламя, путем создания и анимации большого количества маленьких частиц. 2D изображения в сцене. Подробнее
См. в Словарь моделирует и визуализирует множество небольших изображений или мешей, называемых частицами, для производить визуальный эффект. Каждая частица в системе представляет собой отдельный графический элемент эффекта. Система имитирует каждую частицу вместе, чтобы создать впечатление полного эффекта.
Системы частиц полезны, когда вы хотите создать динамические объекты, такие как огонь, дым или жидкости, потому что такие объекты трудно изобразить с помощью Mesh Основной графический примитив Unity. Меши составляют большую часть ваших 3D-миров. Unity поддерживает триангулированные или четырехугольные полигональные сетки. Поверхности Nurbs, Nurms, Subdiv должны быть преобразованы в полигоны. Подробнее
См. в Словарь (3D) или Спрайт Двухмерные графические объекты. Если вы привыкли работать в 3D, спрайты — это, по сути, просто стандартные текстуры, но существуют специальные приемы комбинирования текстур спрайтов и управления ими для повышения эффективности и удобства во время разработки. Подробнее
См. в Словарь (2D). Меши и спрайты лучше подходят для изображения твердых объектов, таких как дом или автомобиль.
Этот раздел содержит информацию о:
- Какое решение системы частиц использовать для вашего проекта.
- Встроенная система частиц.
- График визуальных эффектов.
Использование систем частиц в Unity
Unity implements Particle Systems with a component, so placing a Particle System in a Scene is a matter of adding a pre-made GameObject (menu: GameObject > Effects > Particle System) or adding the component to an existing GameObject (menu: Component > Effects > Particle System). Because the component is quite complicated, the Inspector is divided into a number of collapsible sub-sections or modules that each contain a group of related properties. Additionally, you can edit one or more systems at the same time using a separate Editor window accessed via the Open Window button in the Inspector. See documentation on the Particle System component and individual Particle System modules to learn more.
При выборе объекта с системой частиц, в окне Scene появится небольшая панель Particle Effect с простыми элементами управления для удобной визуализации изменений, вносимых в настройки системы.
Скорость проигрывания (поле Playback Speed) позволяет ускорить или замедлить симуляцию частиц, что позволяет быстро проверить как она будет работать в заданном режиме. Время проигрывания (поле Playback Time) показывает количество времени, прошедшего с начала симуляции; оно может не совпадать в реальным временем, если изменялась скорость проигрывания. Время проигрывание может быть “отмотано” назад и вперед с помощью зажатия левой клавиши мыши над надписью Playback Time с последующим перетаскиванием воображаемого ползунка влево и вправо. Кнопки в верхней части панели позволяют приостановить и продолжить выполнение симуляции, либо остановить её и сбросить в первоначальное состояние.
Изменение свойств с течением времени
Многие числовые свойства частиц или даже всей системы могут изменяться с течением времени. Unity предоставляет несколько различных способов указания как будет происходить изменение:-
- Constant: Значение свойства не меняется со временем.
- Curve: Значение меняется по кривой / графу.
- Random between two constants: Два постоянных значения определяют верхнюю и нижнюю границы для итогового значения, которое выбирается случайно из всех значений, попадающих в эти рамки.
- Random Between Two Curves: Two curves define the upper and lower bounds of the value at a given point in its lifetime; the current value varies randomly between those bounds.
When you set a property to Curve or Random Between Two Curves, the Particle System Curves editor appears at the bottom of the Inspector:
To edit a curve, click and drag an end point or key to reshape the curve:
Particle System curves are similar to Animation curves. For information on using curves, see the documentation on Editing Curves.
The Particle System Curves editor has the following buttons:
- Optimize: Fits the curve into four or fewer keys to build a fast evaluator called a Polynomial, which is more efficient than reading the unoptimized curve.
- Remove: Deletes the selected curve.
To edit the way in which the Particle System plays curves, click the cog next to a selected key and choose one of the following options:
- Loop: Plays the curve the specified number times over a particle’s life. For example, if you make a curve that scales a particle’s size up and down, you can tell it to loop multiple times, which causes the “up and down” animation to happen multiple times before the particle dies, instead of just once.
- Ping Pong: Similar to Loop, but plays the curve forwards then backwards in a continuous oscillation.
- Clamp: Limits particle queries that fall outside the curve time range to the first or last value of the curve.
Similarly, the Start Color property in the main module has the following options:
- Constant: Значение свойства не меняется со временем.
- Gradient: Particles are emitted with a start color specified by a gradient, with the gradient representing the lifetime of the Particle System.
- Random Between Two Colors: The starting particle color is chosen as a random linear interpolation between the two given colors.
- Random Between Two Gradients: Two colors are picked from the given Gradients at the point corresponding to the current age of the Particle System; the starting particle color is chosen as a random linear interpolation between these colors.
- Random Color: Picks any point at random from the Gradient for every newly spawned particle.
When you set the Gradient color for particles, the Gradient Editor appears:
- Mode: Determines whether the particle color settings are blended or not.
- Color: Displays the color of the currently selected key in the Gradient. Use this to edit the color at that position of the Gradient.
- Location: Shows how far along on the Gradient the currently selected key is.
- Presets: Allows you to save Gradient settings. Click New to make the current set of values a Gradient preset.
Color properties in various modules are multiplied together per channel to calculate the final particle color result.
Animation bindings
All particle properties are accessible by the Animation system, meaning you can keyframe them in and control them from your animations.
To access the Particle System’s properties, there must be an Animator component attached to the Particle System’s GameObject. An Animation Controller and an Animation are also required.
To animate a Particle System property, open the Animation Window with the GameObject containing the Animator and Particle System selected. Click Add Property to add properties.
Scroll to the right to reveal the add controls.
Note that for curves, you can only keyframe the overall curve multiplier, which can be found next to the curve editor in the Inspector.
- 2018–11–27 Page amended with limited editorial review
- GameObject menu changed in Unity 4.6
- Particle System loop/ping-pong curve playing added in 2018.3 NewIn20183X
Партиклы – система частиц
Партиклы или система частиц – это часто используемый в видеоиграх инструмент для представления объемных эффектов, не имеющих чётких геометрических границ (взрывы, струи пара, шлейфы от ракет, дым, снег, дождь и многие другие).
В этой статье в начале я расскажу о том, что такое партиклы (системы частиц), а потом посмотрим видео-уроки профессиональных VFX-специалистов (vfx – visual effects) по созданию разных крутых эффектов в Unity3d.
Далее по тексту я буду использовать англицизм “партиклы” вместе с более адекватным русским вариантом “система частиц”. За что заранее прошу прощения: вербально в студиях где я работал, мы использовали именно “партиклы”, и это выгодно с точки зрения поисковой оптимизации.
Партиклы в эффектах
Эффект, использующий партиклы состоит из некоторого количества частиц. Каждая из этих частиц имеет определенный набор атрибутов, которые влияют на ее поведение. Все это зависит от среды: разные игровые движки и 3d пакеты предоставляют разную функциональность.
В Unity среди атрибутов есть, например: скорость, ориентация, угловая скорость, цвет. Изменение этих атрибутов задается “кривыми” и интерполируется с течением времени жизни каждой частички.
В большинстве реализаций работают системы частиц таким образом: существует некоторый объект, который испускает частицы он называется “эмиттер”. В пространстве он может быть представлен точкой, плоскостью и даже поверхностью. Например, в случае если мы делаем систему частиц для снега, система частиц может иметь эмиттер в форме круга-основания цилиндра, а все частицы направленно будут в объеме этого цилиндра падать.
В играх и других real-time приложениях просчитывать свет/тень для каждой частицы было бы непозволительно неэффективно. Поэтому партиклы не отбрасывают тени друг на друга.
В настоящее время не существует общепринятого формата для партиклов. В разных игровых движках и 3D пакетах реализации собственные реализации. А это значит, что свойства, поведение и внешний вид систем частиц могут отличаться.
Нас как unity3d программистов больше всего интересуют возможности системы частиц в Unity. В видео-подборке ниже отличные примеры визуальных эффектов из видео-игр.
Примеры систем частиц в Unity3d
В начале видео показываются примеры партиклов, а далее в форме step by step туториала рассказывается как этого эффекта достичь в Unity.
Симпатичный визуальный эффект
Система частиц (партиклов) для healing-эффекта.
Партиклы для эффекта slash and blood
Какие-то эффекты достигаются применением обычных mesh-renderer’ов вместе с партиклами, например как в видео ниже.
Понравилась статья? Поделиться с друзьями:
Время от времени пишет статьи о разработке игр и проводит интервью с разработчиками. Сейчас работает engine-progremmer’ом в Larian Studios. Большой поклонник игр Naughty Dog.