mirror of
https://github.com/exogen/t2-mapper.git
synced 2026-03-10 07:50:49 +00:00
62 lines
1.5 KiB
TypeScript
62 lines
1.5 KiB
TypeScript
/** Resolved particle data from a ParticleData datablock. */
|
|
export interface ParticleDataResolved {
|
|
dragCoefficient: number;
|
|
windCoefficient: number;
|
|
gravityCoefficient: number;
|
|
inheritedVelFactor: number;
|
|
constantAcceleration: number;
|
|
lifetimeMS: number;
|
|
lifetimeVarianceMS: number;
|
|
spinSpeed: number;
|
|
spinRandomMin: number;
|
|
spinRandomMax: number;
|
|
useInvAlpha: boolean;
|
|
/** 1-4 keyframes with normalized time (0-1). */
|
|
keys: ParticleKey[];
|
|
textureName: string;
|
|
}
|
|
|
|
export interface ParticleKey {
|
|
r: number;
|
|
g: number;
|
|
b: number;
|
|
a: number;
|
|
size: number;
|
|
time: number;
|
|
}
|
|
|
|
/** Resolved emitter data from a ParticleEmitterData datablock. */
|
|
export interface EmitterDataResolved {
|
|
ejectionPeriodMS: number;
|
|
periodVarianceMS: number;
|
|
ejectionVelocity: number;
|
|
velocityVariance: number;
|
|
ejectionOffset: number;
|
|
thetaMin: number;
|
|
thetaMax: number;
|
|
phiReferenceVel: number;
|
|
phiVariance: number;
|
|
overrideAdvances: boolean;
|
|
orientParticles: boolean;
|
|
orientOnVelocity: boolean;
|
|
lifetimeMS: number;
|
|
lifetimeVarianceMS: number;
|
|
particles: ParticleDataResolved;
|
|
}
|
|
|
|
/** Live particle instance during simulation. */
|
|
export interface Particle {
|
|
pos: [number, number, number];
|
|
vel: [number, number, number];
|
|
orientDir: [number, number, number];
|
|
currentAge: number;
|
|
totalLifetime: number;
|
|
dataIndex: number;
|
|
spinSpeed: number;
|
|
currentSpin: number;
|
|
r: number;
|
|
g: number;
|
|
b: number;
|
|
a: number;
|
|
size: number;
|
|
}
|