Skip to content

VfxShapeLegacy

14.1

Inheritance 1 ancestor · 2 siblings

Class Documentation

Edit documentation

A spawn shape that places particles at an authored offset, which can be animated, and turns them by an authored chain of axis-angle rotations.

Evaluation

  1. Once per spawn step, before the particles of the step are made, the shape evaluates emitOffset and every entry of emitRotationAngles at the emitter phase (see Clocks on VfxEmitterDefinitionData). Every particle of the step starts from these values. The curves are not sampled on particle age.
  2. For each particle, the probability tables of a curve multiply the step value (see VfxProbabilityTableData). For emitOffset each axis gets its own random draw. ParticlesShareRandomValue does not apply to these draws.
  3. The shape builds one rotation from the turns, in list order. Turn 0 is applied first. A turn is skipped when its angle is at most 0.000001 degrees in absolute value, or when emitRotationAxes has no entry at its index.
  4. If at least one turn was applied, the rotation turns the offset, the birth velocity and the birth acceleration.

How a ValueFloat or ValueVector3 combines constantValue and its curve is described on ValueFloat.

Properties

emitOffset

Embed<ValueVector3> = { "constantValue": [0, 0, 0], "dynamics": null }
Edit documentation

Offset from the birth position, in world units, in the emitter's local frame, before the turns. The offset factors of FlexShapeDefinition and the system scale multiply it.

emitRotationAngles

List<ValueFloat> = []
Edit documentation

Turn angles, in degrees, paired by index with emitRotationAxes and applied in list order.

emitRotationAxes

List<Vec3> = []
Edit documentation

Axes of the turns, in the emitter's local frame, paired by index with emitRotationAngles. Entries beyond the last angle are ignored.

The client uses each axis as authored and does not normalise it. A zero axis with a non-zero angle multiplies the offset, the birth velocity and the birth acceleration by the cosine of the angle instead of turning them, and reverses them past 90 degrees. An axis that is not of unit length gives a rotation that also scales and skews.