@newkrok/three-particles - v2.16.1
    Preparing search index...

    Type Alias GeneralData

    type GeneralData = {
        burstStates?: BurstState[];
        creationTimes: number[];
        currentWorldPosition: THREE.Vector3;
        distanceFromLastEmitByDistance: number;
        gravityVelocity: THREE.Vector3;
        isEnabled: boolean;
        lastWorldPosition: THREE.Vector3;
        lifetimeValues: Record<string, number[]>;
        linearVelocityData?: {
            speed: THREE.Vector3;
            valueModifiers: {
                x?: CurveFunction;
                y?: CurveFunction;
                z?: CurveFunction;
            };
        }[];
        noise: Noise;
        normalizedLifetimePercentage: number;
        orbitalVelocityData?: {
            positionOffset: THREE.Vector3;
            speed: THREE.Vector3;
            valueModifiers: {
                x?: CurveFunction;
                y?: CurveFunction;
                z?: CurveFunction;
            };
        }[];
        particleSystemId: number;
        positionHistory?: Float32Array;
        positionHistoryCount?: Uint16Array;
        positionHistoryIndex?: Uint16Array;
        sourceWorldMatrix: THREE.Matrix4;
        startValues: Record<string, number[]>;
        trailCameraPosition?: THREE.Vector3;
        trailLastSampledPosition?: Float32Array;
        trailLength?: number;
        trailPrevNormal?: Float32Array;
        trailSampleTimes?: Float64Array;
        worldEuler: THREE.Euler;
        worldPositionChange: THREE.Vector3;
        worldQuaternion: THREE.Quaternion;
        worldScale: THREE.Vector3;
        wrapperQuaternion: THREE.Quaternion;
    }
    Index

    Properties

    burstStates?: BurstState[]

    Tracks the state of each burst emission event

    creationTimes: number[]
    currentWorldPosition: THREE.Vector3
    distanceFromLastEmitByDistance: number
    gravityVelocity: THREE.Vector3
    isEnabled: boolean
    lastWorldPosition: THREE.Vector3
    lifetimeValues: Record<string, number[]>
    linearVelocityData?: {
        speed: THREE.Vector3;
        valueModifiers: { x?: CurveFunction; y?: CurveFunction; z?: CurveFunction };
    }[]
    noise: Noise
    normalizedLifetimePercentage: number
    orbitalVelocityData?: {
        positionOffset: THREE.Vector3;
        speed: THREE.Vector3;
        valueModifiers: { x?: CurveFunction; y?: CurveFunction; z?: CurveFunction };
    }[]
    particleSystemId: number
    positionHistory?: Float32Array

    Circular buffer storing position history for trail renderer. Each particle has trailLength slots of (x, y, z) positions. Only allocated when RendererType.TRAIL is used.

    positionHistoryCount?: Uint16Array

    Number of valid history samples per particle (fills up from 0 to trailLength).

    positionHistoryIndex?: Uint16Array

    Write index per particle into the circular position history buffer.

    sourceWorldMatrix: THREE.Matrix4

    For WORLD simulation space: the full world transform of the emitter (parent.matrixWorld × particleSystem.matrix). Used to position new particles in world coordinates at emit time and to orient the emission shape. The particleSystem's own matrixWorld is forced to identity so the buffer coordinates render as world coordinates.

    startValues: Record<string, number[]>
    trailCameraPosition?: THREE.Vector3

    Cached camera world position, updated each frame via onBeforeRender for billboard trails.

    trailLastSampledPosition?: Float32Array

    Last recorded position per particle for adaptive sampling (minVertexDistance). Layout: maxParticles * 3 (x, y, z).

    trailLength?: number

    Trail length (number of history samples per particle).

    trailPrevNormal?: Float32Array

    Per-particle previous ribbon normal vector for twist prevention. Layout: maxParticles * 3 (nx, ny, nz).

    trailSampleTimes?: Float64Array

    Timestamp (in ms) when each trail history sample was recorded. Used by maxTime to expire old segments. Layout: maxParticles * trailLength entries.

    worldEuler: THREE.Euler
    worldPositionChange: THREE.Vector3
    worldQuaternion: THREE.Quaternion
    worldScale: THREE.Vector3

    Emitter world scale (decomposed from the full parent chain). Used to match Unity's parent-scale semantics:

    • WORLD mode: scales the shape-emission offset at spawn time (the Shape module in Unity obeys parent scale when Scaling Mode is Local/Hierarchy). Live particles are unaffected.
    • LOCAL mode: gravity is stored in local units, so it is divided by this scale so the rendered fall matches world -g m/s² regardless of parent scale.
    wrapperQuaternion: THREE.Quaternion