Projectiles
This page provides a basic breakdown of the projectiles templates – trajectory type, rotation mode, velocity mode, and spell data.
Trajectory Type
Bezier 3
A quadratic bezier curve is a curve defined by 3 points. Both the first and last points are controlled by code, but the middle point (also known as the control point) is controlled using the settings below.
Distance Min/Max | The distance at which the minimum offset and shift should be used, and the distance at which the maximum offset and shift should be used. |
---|---|
Offset Min/Max | The local (rotated) offset of the control point. X represents left/right and Y represents upwards/downwards.
|
Shift Min/Max | The forward/backward position of the control point. The value is a percentage range of 0 to 1 , but supports values outside that range.
|
The min/max values essentially allow you to define 2 curves that are lerped between, based on the distance between the source and target points.


Bezier 4
A cubic bezier curve is a curve defined by 4 points. Both the first and last points are controlled by code, but the middle points (also known as the control points) are controlled using the settings below.
Distance Min/Max | The distance at which the minimum offset and shift should be used, and the distance at which the maximum offset and shift should be used. |
---|---|
Offset Min/Max, A/B | The local (rotated) offset of the control point. X represents left/right and Y represents upwards/downwards.
|
Shift Min/Max, A/B | The forward/backward position of the control point. The value is a percentage range of 0 to 1 , but supports values outside that range.
|
The min/max values essentially allow you to define 2 curves that are lerped between, based on the distance between the source and target points.


Pathfind
This is a path that will pathfind its way from source to target position and convert the route it found into a smoothly splined curve. There are currently no settings to customise the path and it is entirely dependent on Navigation Cloud Trigger(s) being placed in the area and being created from a Projectile type spell.
Rotation Mode
Static
The object will not rotate.
Follow
The object will follow the rotation of the trajectory.
Lerp
The object will linearly interpolate from source rotation to target rotation.
SLerp
The object will spherically linearly interpolate from source rotation to target rotation.
Velocity Mode
Constant
The projectile will move at a constant speed throughout the entire lifetime.
Minimum velocity used will be 0.1 m/s.
Linear
The projectile will start with an initial velocity and accelerate throughout its lifetime.
Minimum initial velocity used will be 0.1 m/s.
Minimum acceleration used will be 0 m/s².
Mapped
The projectile’s velocity is sampled from an FCurve using the current interpolation value along the path.
Keys outside of the 0 → 1 X Axis are ignored.
Keys outside of the Y Axis 0.1 → Inf. are clamped to 0.1.
All keys placed in the FCurve will be treated as “Linear”.
Don’t exceed 10 keys as it does impact performance.

Spell Data
Multiple Trajectories
Projectile, ProjectileStrike, and Throw spells have a Trajectory column where you can fill in any number of projectile templates separated by commas (,
). Each extra template filled in represents an extra trajectory to test (if the trajectory before it failed to find a path to the target).
For spells that allow multiple projectiles/targets, each projectile/target group is separated by a semicolon (;
).

Trajectory Rules
In some cases, a waterfall of tests isn’t preferred and instead we want to use a specific trajectory based on the distance and height between the source and target position.
This can be done thanks to trajectory rules, which are defined in the TrajectoryRules/Projectiles UUID table.
Each rule has an associated projectile template ID, which will end up being used whenever that specific rule matches the provided source and target positions. In order to be used, rules have to be specified in the Trajectories spell data column with the rules:
prefix.

