Visual Effects and Cascade in Unreal Engine 367
(GPU Attributes – Continued)
Rotatio n:
•
Determined at spawn time and may vary per particle.
Rotatio n Rate:
•
Determined at spawn time and may vary per particle.
Sub Image Index:
•
The sub image index varies over the life of a particle as defined by
a curve.
•
The curve is shared among all particles.
GPU Particles Mo tion [17]
Particle motion is governed by simple Newtonian dynamics. At e ach time step, a
particle’s position and velocity are integrated forward based on its current position,
current velocity, a constant acceleration and force due to drag.
GPU particles a lso support orbit, tho ugh the details differ from that provided for
traditional CPU particles. Conceptually, the particle moves as if the sprite is o rbiting
around the actual location of the particle offset by a varying amount. Orbit can be
used to ad d additional d etail motion to particles.
Vector Fields [21]
The most interesting feature of GPU particles, aside from their efficiency, is vector
fields. A vector field is a uniform grid of vectors that influences the motion of par-
ticles. Vector fields are placed in the world as Actors (Global Vector Field) and can
be translated, rotated and scaled like any other Actor. They a re dynamic and may be
moved at any time. A field may also be placed within Cascade (Local Vector Field),
limiting its influence to the emitter with which it is associated. When a par ticle enters
the bounds of the vector field , its motion will be influenced by it and when a particle
leaves the bounds, the influence of the field will fade out.
By default, vector fields imp art a force on particles within them. Vector fields also
have a “tightness” parameter. This parameter controls how directly particles follow
the vectors in the field. When tightness is set to 1, particles read their velocity dire ctly
from the field an d thus follow the field exactly.
Static vector fields ar e those in which the grid of vectors never change. These fields
can be exported from Maya and imported as a volume texture. Static fields ar e very
cheap and can be used to add interesting motion to particles, especially by animating
the motion of the field itself.
Additionally, vector fields may be reconstructed from a 2D image. In this case, an
image much like a normal map ca n be imp orted and used to reconstru ct a volume
texture by extruding or revolving it around a volume. A static vector field may be