@newkrok/three-particles 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,6 +10,21 @@ import { calculateRandomPositionAndVelocityOnBox, calculateRandomPositionAndVelo
10
10
  export * from './types.js';
11
11
  let _particleSystemId = 0;
12
12
  let createdParticleSystems = [];
13
+ /**
14
+ * Mapping of blending mode string identifiers to Three.js blending constants.
15
+ *
16
+ * Used for converting serialized particle system configurations (e.g., from JSON)
17
+ * to actual Three.js blending mode constants.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * import { blendingMap } from '@newkrok/three-particles';
22
+ *
23
+ * // Convert string to Three.js constant
24
+ * const blending = blendingMap['THREE.AdditiveBlending'];
25
+ * // blending === THREE.AdditiveBlending
26
+ * ```
27
+ */
13
28
  export const blendingMap = {
14
29
  'THREE.NoBlending': THREE.NoBlending,
15
30
  'THREE.NormalBlending': THREE.NormalBlending,
@@ -17,6 +32,27 @@ export const blendingMap = {
17
32
  'THREE.SubtractiveBlending': THREE.SubtractiveBlending,
18
33
  'THREE.MultiplyBlending': THREE.MultiplyBlending,
19
34
  };
35
+ /**
36
+ * Returns a deep copy of the default particle system configuration.
37
+ *
38
+ * This is useful when you want to start with default settings and modify specific properties
39
+ * without affecting the internal default configuration object.
40
+ *
41
+ * @returns A new object containing all default particle system settings
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * import { getDefaultParticleSystemConfig, createParticleSystem } from '@newkrok/three-particles';
46
+ *
47
+ * // Get default config and modify it
48
+ * const config = getDefaultParticleSystemConfig();
49
+ * config.emission.rateOverTime = 100;
50
+ * config.startColor.min = { r: 1, g: 0, b: 0 };
51
+ *
52
+ * const { instance } = createParticleSystem(config);
53
+ * scene.add(instance);
54
+ * ```
55
+ */
20
56
  export const getDefaultParticleSystemConfig = () => JSON.parse(JSON.stringify(DEFAULT_PARTICLE_SYSTEM_CONFIG));
21
57
  const DEFAULT_PARTICLE_SYSTEM_CONFIG = {
22
58
  transform: {
@@ -104,14 +140,33 @@ const DEFAULT_PARTICLE_SYSTEM_CONFIG = {
104
140
  ],
105
141
  },
106
142
  },
107
- /* colorOverLifetime: {
108
- isActive: false,
109
- lifetimeCurve: {
110
- type: LifeTimeCurve.EASING,
111
- scale: 1,
112
- curveFunction: CurveFunctionId.LINEAR,
113
- },
114
- }, */
143
+ colorOverLifetime: {
144
+ isActive: false,
145
+ r: {
146
+ type: "BEZIER" /* LifeTimeCurve.BEZIER */,
147
+ scale: 1,
148
+ bezierPoints: [
149
+ { x: 0, y: 1, percentage: 0 },
150
+ { x: 1, y: 1, percentage: 1 },
151
+ ],
152
+ },
153
+ g: {
154
+ type: "BEZIER" /* LifeTimeCurve.BEZIER */,
155
+ scale: 1,
156
+ bezierPoints: [
157
+ { x: 0, y: 1, percentage: 0 },
158
+ { x: 1, y: 1, percentage: 1 },
159
+ ],
160
+ },
161
+ b: {
162
+ type: "BEZIER" /* LifeTimeCurve.BEZIER */,
163
+ scale: 1,
164
+ bezierPoints: [
165
+ { x: 0, y: 1, percentage: 0 },
166
+ { x: 1, y: 1, percentage: 1 },
167
+ ],
168
+ },
169
+ },
115
170
  opacityOverLifetime: {
116
171
  isActive: false,
117
172
  lifetimeCurve: {
@@ -185,6 +240,64 @@ const destroyParticleSystem = (particleSystem) => {
185
240
  return false;
186
241
  });
187
242
  };
243
+ /**
244
+ * Creates a new particle system with the specified configuration.
245
+ *
246
+ * This is the primary function for instantiating particle effects. It handles the complete
247
+ * setup of a particle system including geometry creation, material configuration, shader setup,
248
+ * and initialization of all particle properties.
249
+ *
250
+ * @param config - Configuration object for the particle system. If not provided, uses default settings.
251
+ * See {@link ParticleSystemConfig} for all available options.
252
+ * @param externalNow - Optional custom timestamp in milliseconds. If not provided, uses `Date.now()`.
253
+ * Useful for synchronized particle systems or testing.
254
+ *
255
+ * @returns A {@link ParticleSystem} object containing:
256
+ * - `instance`: The THREE.Object3D that should be added to your scene
257
+ * - `resumeEmitter()`: Function to resume particle emission
258
+ * - `pauseEmitter()`: Function to pause particle emission
259
+ * - `dispose()`: Function to clean up resources and remove the particle system
260
+ *
261
+ * @example
262
+ * ```typescript
263
+ * import { createParticleSystem, updateParticleSystems } from '@newkrok/three-particles';
264
+ *
265
+ * // Create a basic particle system with default settings
266
+ * const { instance, dispose } = createParticleSystem();
267
+ * scene.add(instance);
268
+ *
269
+ * // Create a custom fire effect
270
+ * const fireEffect = createParticleSystem({
271
+ * duration: 2.0,
272
+ * looping: true,
273
+ * startLifetime: { min: 0.5, max: 1.5 },
274
+ * startSpeed: { min: 2, max: 4 },
275
+ * startSize: { min: 0.5, max: 1.5 },
276
+ * startColor: {
277
+ * min: { r: 1.0, g: 0.3, b: 0.0 },
278
+ * max: { r: 1.0, g: 0.8, b: 0.0 }
279
+ * },
280
+ * emission: { rateOverTime: 50 },
281
+ * shape: {
282
+ * shape: Shape.CONE,
283
+ * cone: { angle: 10, radius: 0.2 }
284
+ * }
285
+ * });
286
+ * scene.add(fireEffect.instance);
287
+ *
288
+ * // In your animation loop
289
+ * function animate(time) {
290
+ * updateParticleSystems({ now: time, delta: deltaTime, elapsed: elapsedTime });
291
+ * renderer.render(scene, camera);
292
+ * }
293
+ *
294
+ * // Clean up when done
295
+ * fireEffect.dispose();
296
+ * ```
297
+ *
298
+ * @see {@link updateParticleSystems} - Required function to call in your animation loop
299
+ * @see {@link ParticleSystemConfig} - Complete configuration options
300
+ */
188
301
  export const createParticleSystem = (config = DEFAULT_PARTICLE_SYSTEM_CONFIG, externalNow) => {
189
302
  const now = externalNow || Date.now();
190
303
  const generalData = {
@@ -271,6 +384,9 @@ export const createParticleSystem = (config = DEFAULT_PARTICLE_SYSTEM_CONFIG, ex
271
384
  startValueKeys.forEach((key) => {
272
385
  generalData.startValues[key] = Array.from({ length: maxParticles }, () => calculateValue(generalData.particleSystemId, normalizedConfig[key], 0));
273
386
  });
387
+ generalData.startValues.startColorR = Array.from({ length: maxParticles }, () => 0);
388
+ generalData.startValues.startColorG = Array.from({ length: maxParticles }, () => 0);
389
+ generalData.startValues.startColorB = Array.from({ length: maxParticles }, () => 0);
274
390
  const lifetimeValueKeys = [
275
391
  'rotationOverLifetime',
276
392
  ];
@@ -383,6 +499,12 @@ export const createParticleSystem = (config = DEFAULT_PARTICLE_SYSTEM_CONFIG, ex
383
499
  startColor.min.b +
384
500
  colorRandomRatio * (startColor.max.b - startColor.min.b);
385
501
  geometry.attributes.colorB.needsUpdate = true;
502
+ generalData.startValues.startColorR[particleIndex] =
503
+ geometry.attributes.colorR.array[particleIndex];
504
+ generalData.startValues.startColorG[particleIndex] =
505
+ geometry.attributes.colorG.array[particleIndex];
506
+ generalData.startValues.startColorB[particleIndex] =
507
+ geometry.attributes.colorB.array[particleIndex];
386
508
  geometry.attributes.startFrame.array[particleIndex] =
387
509
  textureSheetAnimation.startFrame
388
510
  ? calculateValue(generalData.particleSystemId, textureSheetAnimation.startFrame, 0)
@@ -484,6 +606,78 @@ export const createParticleSystem = (config = DEFAULT_PARTICLE_SYSTEM_CONFIG, ex
484
606
  dispose,
485
607
  };
486
608
  };
609
+ /**
610
+ * Updates all active particle systems created with {@link createParticleSystem}.
611
+ *
612
+ * This function must be called once per frame in your animation loop to animate all particles.
613
+ * It handles particle emission, movement, lifetime tracking, modifier application, and cleanup
614
+ * of expired particle systems.
615
+ *
616
+ * @param cycleData - Object containing timing information for the current frame:
617
+ * - `now`: Current timestamp in milliseconds (typically from `performance.now()` or `Date.now()`)
618
+ * - `delta`: Time elapsed since the last frame in seconds
619
+ * - `elapsed`: Total time elapsed since the animation started in seconds
620
+ *
621
+ * @example
622
+ * ```typescript
623
+ * import { createParticleSystem, updateParticleSystems } from '@newkrok/three-particles';
624
+ *
625
+ * const { instance } = createParticleSystem({
626
+ * // your config
627
+ * });
628
+ * scene.add(instance);
629
+ *
630
+ * // Animation loop
631
+ * let lastTime = 0;
632
+ * let elapsedTime = 0;
633
+ *
634
+ * function animate(currentTime) {
635
+ * requestAnimationFrame(animate);
636
+ *
637
+ * const delta = (currentTime - lastTime) / 1000; // Convert to seconds
638
+ * elapsedTime += delta;
639
+ * lastTime = currentTime;
640
+ *
641
+ * // Update all particle systems
642
+ * updateParticleSystems({
643
+ * now: currentTime,
644
+ * delta: delta,
645
+ * elapsed: elapsedTime
646
+ * });
647
+ *
648
+ * renderer.render(scene, camera);
649
+ * }
650
+ *
651
+ * animate(0);
652
+ * ```
653
+ *
654
+ * @example
655
+ * ```typescript
656
+ * // Using Three.js Clock for timing
657
+ * import * as THREE from 'three';
658
+ * import { updateParticleSystems } from '@newkrok/three-particles';
659
+ *
660
+ * const clock = new THREE.Clock();
661
+ *
662
+ * function animate() {
663
+ * requestAnimationFrame(animate);
664
+ *
665
+ * const delta = clock.getDelta();
666
+ * const elapsed = clock.getElapsedTime();
667
+ *
668
+ * updateParticleSystems({
669
+ * now: performance.now(),
670
+ * delta: delta,
671
+ * elapsed: elapsed
672
+ * });
673
+ *
674
+ * renderer.render(scene, camera);
675
+ * }
676
+ * ```
677
+ *
678
+ * @see {@link createParticleSystem} - Creates particle systems to be updated
679
+ * @see {@link CycleData} - Timing data structure
680
+ */
487
681
  export const updateParticleSystems = ({ now, delta, elapsed }) => {
488
682
  createdParticleSystems.forEach((props) => {
489
683
  const { onUpdate, generalData, onComplete, particleSystem, wrapper, creationTime, lastEmissionTime, duration, looping, emission, normalizedConfig, iterationCount, velocities, deactivateParticle, activateParticle, simulationSpace, gravity, } = props;
@@ -137,13 +137,52 @@ export type Transform = {
137
137
  rotation?: THREE.Vector3;
138
138
  scale?: THREE.Vector3;
139
139
  };
140
+ /**
141
+ * Represents an RGB color with normalized values (0.0 to 1.0).
142
+ *
143
+ * @example
144
+ * ```typescript
145
+ * // Pure red
146
+ * const red: Rgb = { r: 1.0, g: 0.0, b: 0.0 };
147
+ *
148
+ * // Pure white
149
+ * const white: Rgb = { r: 1.0, g: 1.0, b: 1.0 };
150
+ *
151
+ * // Orange
152
+ * const orange: Rgb = { r: 1.0, g: 0.5, b: 0.0 };
153
+ * ```
154
+ */
140
155
  export type Rgb = {
156
+ /** Red channel (0.0 to 1.0) */
141
157
  r?: number;
158
+ /** Green channel (0.0 to 1.0) */
142
159
  g?: number;
160
+ /** Blue channel (0.0 to 1.0) */
143
161
  b?: number;
144
162
  };
163
+ /**
164
+ * Defines a color range for random particle colors.
165
+ * Each particle will receive a random color between min and max on emission.
166
+ *
167
+ * @example
168
+ * ```typescript
169
+ * // Random colors between red and yellow
170
+ * const fireColors: MinMaxColor = {
171
+ * min: { r: 1.0, g: 0.0, b: 0.0 }, // Red
172
+ * max: { r: 1.0, g: 1.0, b: 0.0 } // Yellow
173
+ * };
174
+ *
175
+ * // Fixed white color (no randomness)
176
+ * const white: MinMaxColor = {
177
+ * min: { r: 1.0, g: 1.0, b: 1.0 },
178
+ * max: { r: 1.0, g: 1.0, b: 1.0 }
179
+ * };
180
+ * ```
181
+ */
145
182
  export type MinMaxColor = {
183
+ /** Minimum color values (lower bound for random selection) */
146
184
  min?: Rgb;
185
+ /** Maximum color values (upper bound for random selection) */
147
186
  max?: Rgb;
148
187
  };
149
188
  /**
@@ -861,6 +900,86 @@ export type ParticleSystemConfig = {
861
900
  isActive: boolean;
862
901
  lifetimeCurve: LifetimeCurve;
863
902
  };
903
+ /**
904
+ * Controls the color of particles over their lifetime.
905
+ * Each RGB channel can be adjusted independently using a lifetime curve (Bézier or easing).
906
+ * The curves act as multipliers (0-1 range) that are applied to the particle's start color.
907
+ *
908
+ * This follows Unity's Color over Lifetime behavior where the final color is:
909
+ * finalColor = startColor * colorOverLifetime
910
+ *
911
+ * **IMPORTANT**: To achieve full color transitions, set startColor to white { r: 1, g: 1, b: 1 }.
912
+ * If startColor has any channel set to 0, that channel cannot be modified by colorOverLifetime.
913
+ *
914
+ * @example
915
+ * // Rainbow effect - requires white startColor
916
+ * startColor: { min: { r: 1, g: 1, b: 1 }, max: { r: 1, g: 1, b: 1 } }
917
+ * colorOverLifetime: {
918
+ * isActive: true,
919
+ * r: { // Red: full -> half -> off
920
+ * type: LifeTimeCurve.BEZIER,
921
+ * scale: 1,
922
+ * bezierPoints: [
923
+ * { x: 0, y: 1, percentage: 0 },
924
+ * { x: 0.5, y: 0.5, percentage: 0.5 },
925
+ * { x: 1, y: 0, percentage: 1 },
926
+ * ],
927
+ * },
928
+ * g: { // Green: off -> full -> off
929
+ * type: LifeTimeCurve.BEZIER,
930
+ * scale: 1,
931
+ * bezierPoints: [
932
+ * { x: 0, y: 0, percentage: 0 },
933
+ * { x: 0.5, y: 1, percentage: 0.5 },
934
+ * { x: 1, y: 0, percentage: 1 },
935
+ * ],
936
+ * },
937
+ * b: { // Blue: off -> half -> full
938
+ * type: LifeTimeCurve.BEZIER,
939
+ * scale: 1,
940
+ * bezierPoints: [
941
+ * { x: 0, y: 0, percentage: 0 },
942
+ * { x: 0.5, y: 0.5, percentage: 0.5 },
943
+ * { x: 1, y: 1, percentage: 1 },
944
+ * ],
945
+ * },
946
+ * }
947
+ *
948
+ * @default
949
+ * colorOverLifetime: {
950
+ * isActive: false,
951
+ * r: {
952
+ * type: LifeTimeCurve.BEZIER,
953
+ * scale: 1,
954
+ * bezierPoints: [
955
+ * { x: 0, y: 1, percentage: 0 },
956
+ * { x: 1, y: 1, percentage: 1 },
957
+ * ],
958
+ * },
959
+ * g: {
960
+ * type: LifeTimeCurve.BEZIER,
961
+ * scale: 1,
962
+ * bezierPoints: [
963
+ * { x: 0, y: 1, percentage: 0 },
964
+ * { x: 1, y: 1, percentage: 1 },
965
+ * ],
966
+ * },
967
+ * b: {
968
+ * type: LifeTimeCurve.BEZIER,
969
+ * scale: 1,
970
+ * bezierPoints: [
971
+ * { x: 0, y: 1, percentage: 0 },
972
+ * { x: 1, y: 1, percentage: 1 },
973
+ * ],
974
+ * },
975
+ * }
976
+ */
977
+ colorOverLifetime?: {
978
+ isActive: boolean;
979
+ r: LifetimeCurve;
980
+ g: LifetimeCurve;
981
+ b: LifetimeCurve;
982
+ };
864
983
  /**
865
984
  * Controls the rotation of particles over their lifetime.
866
985
  * The rotation can be randomized between two constants, and the feature can be toggled on or off.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/js/effects/three-particles/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/js/effects/three-particles/types.ts"],"names":[],"mappings":"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"}