@needle-tools/engine 2.41.0-pre → 2.43.0-pre

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.
Files changed (79) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/needle-engine.d.ts +226 -76
  3. package/dist/needle-engine.js +3847 -433
  4. package/dist/needle-engine.js.map +4 -4
  5. package/dist/needle-engine.min.js +51 -51
  6. package/dist/needle-engine.min.js.map +4 -4
  7. package/lib/engine/engine_element.js +1 -1
  8. package/lib/engine/engine_element.js.map +1 -1
  9. package/lib/engine/engine_element_loading.js +24 -3
  10. package/lib/engine/engine_element_loading.js.map +1 -1
  11. package/lib/engine/engine_gizmos.d.ts +8 -22
  12. package/lib/engine/engine_gizmos.js +37 -3
  13. package/lib/engine/engine_gizmos.js.map +1 -1
  14. package/lib/engine/engine_setup.d.ts +3 -0
  15. package/lib/engine/engine_setup.js +15 -0
  16. package/lib/engine/engine_setup.js.map +1 -1
  17. package/lib/engine/engine_three_utils.d.ts +17 -1
  18. package/lib/engine/engine_three_utils.js +104 -54
  19. package/lib/engine/engine_three_utils.js.map +1 -1
  20. package/lib/engine/engine_time.js +2 -0
  21. package/lib/engine/engine_time.js.map +1 -1
  22. package/lib/engine/engine_types.d.ts +6 -0
  23. package/lib/engine/engine_types.js.map +1 -1
  24. package/lib/engine/extensions/NEEDLE_techniques_webgl.js +42 -0
  25. package/lib/engine/extensions/NEEDLE_techniques_webgl.js.map +1 -1
  26. package/lib/engine-components/Animation.js +9 -1
  27. package/lib/engine-components/Animation.js.map +1 -1
  28. package/lib/engine-components/AnimationCurve.js +2 -2
  29. package/lib/engine-components/AnimationCurve.js.map +1 -1
  30. package/lib/engine-components/AnimatorController.js +4 -1
  31. package/lib/engine-components/AnimatorController.js.map +1 -1
  32. package/lib/engine-components/BoxHelperComponent.js +9 -10
  33. package/lib/engine-components/BoxHelperComponent.js.map +1 -1
  34. package/lib/engine-components/Camera.d.ts +3 -0
  35. package/lib/engine-components/Camera.js +17 -9
  36. package/lib/engine-components/Camera.js.map +1 -1
  37. package/lib/engine-components/ParticleSystem.d.ts +41 -13
  38. package/lib/engine-components/ParticleSystem.js +587 -219
  39. package/lib/engine-components/ParticleSystem.js.map +1 -1
  40. package/lib/engine-components/ParticleSystemBehaviours.d.ts +0 -0
  41. package/lib/engine-components/ParticleSystemBehaviours.js +2 -0
  42. package/lib/engine-components/ParticleSystemBehaviours.js.map +1 -0
  43. package/lib/engine-components/ParticleSystemModules.d.ts +123 -22
  44. package/lib/engine-components/ParticleSystemModules.js +377 -60
  45. package/lib/engine-components/ParticleSystemModules.js.map +1 -1
  46. package/lib/engine-components/ReflectionProbe.js +29 -11
  47. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  48. package/lib/engine-components/Renderer.d.ts +1 -0
  49. package/lib/engine-components/Renderer.js +4 -2
  50. package/lib/engine-components/Renderer.js.map +1 -1
  51. package/lib/engine-components/codegen/components.d.ts +5 -0
  52. package/lib/engine-components/codegen/components.js +5 -0
  53. package/lib/engine-components/codegen/components.js.map +1 -1
  54. package/lib/engine-components/js-extensions/RGBAColor.d.ts +1 -0
  55. package/lib/engine-components/js-extensions/RGBAColor.js +7 -0
  56. package/lib/engine-components/js-extensions/RGBAColor.js.map +1 -1
  57. package/package.json +3 -2
  58. package/src/engine/codegen/register_types.js +20 -0
  59. package/src/engine/dist/engine_three_utils.js +279 -0
  60. package/src/engine/engine_element.ts +1 -1
  61. package/src/engine/engine_element_loading.ts +23 -2
  62. package/src/engine/engine_gizmos.ts +45 -8
  63. package/src/engine/engine_setup.ts +25 -2
  64. package/src/engine/engine_three_utils.ts +113 -63
  65. package/src/engine/engine_time.ts +1 -0
  66. package/src/engine/engine_types.ts +8 -1
  67. package/src/engine/extensions/NEEDLE_techniques_webgl.ts +43 -1
  68. package/src/engine-components/Animation.ts +7 -1
  69. package/src/engine-components/AnimationCurve.ts +2 -2
  70. package/src/engine-components/AnimatorController.ts +5 -1
  71. package/src/engine-components/BoxHelperComponent.ts +12 -15
  72. package/src/engine-components/Camera.ts +17 -10
  73. package/src/engine-components/ParticleSystem.ts +660 -258
  74. package/src/engine-components/ParticleSystemBehaviours.ts +0 -0
  75. package/src/engine-components/ParticleSystemModules.ts +379 -64
  76. package/src/engine-components/ReflectionProbe.ts +37 -13
  77. package/src/engine-components/Renderer.ts +4 -2
  78. package/src/engine-components/codegen/components.ts +5 -0
  79. package/src/engine-components/js-extensions/RGBAColor.ts +7 -0
@@ -9,6 +9,15 @@ import { Mathf } from "../engine/engine_math";
9
9
  import { serializeable } from "../engine/engine_serialization";
10
10
  import { RGBAColor } from "./js-extensions/RGBAColor";
11
11
  import { AnimationCurve } from "./AnimationCurve";
12
+ export var ParticleSystemRenderMode;
13
+ (function (ParticleSystemRenderMode) {
14
+ ParticleSystemRenderMode[ParticleSystemRenderMode["Billboard"] = 0] = "Billboard";
15
+ // Stretch = 1,
16
+ // HorizontalBillboard = 2,
17
+ // VerticalBillboard = 3,
18
+ ParticleSystemRenderMode[ParticleSystemRenderMode["Mesh"] = 4] = "Mesh";
19
+ // None = 5,
20
+ })(ParticleSystemRenderMode || (ParticleSystemRenderMode = {}));
12
21
  export class Gradient {
13
22
  alphaKeys;
14
23
  colorKeys;
@@ -134,12 +143,12 @@ export class MinMaxCurve {
134
143
  case ParticleSystemCurveMode.Constant:
135
144
  return this.constant;
136
145
  case ParticleSystemCurveMode.Curve:
137
- t01 %= this.curve.duration;
138
- return this.curve.evaluate(t01);
146
+ t01 = Mathf.clamp01(t01);
147
+ return this.curve.evaluate(t01) * this.curveMultiplier;
139
148
  case ParticleSystemCurveMode.TwoCurves:
140
149
  const t1 = t01 * this.curveMin.duration;
141
150
  const t2 = t01 * this.curveMax.duration;
142
- return Mathf.lerp(this.curveMin.evaluate(t1), this.curveMax.evaluate(t2), t % 1);
151
+ return Mathf.lerp(this.curveMin.evaluate(t1), this.curveMax.evaluate(t2), t % 1) * this.curveMultiplier;
143
152
  case ParticleSystemCurveMode.TwoConstants:
144
153
  return Mathf.lerp(this.constantMin, this.constantMax, t % 1);
145
154
  default:
@@ -181,22 +190,29 @@ export class MinMaxGradient {
181
190
  gradient;
182
191
  gradientMin;
183
192
  gradientMax;
184
- _temp = new RGBAColor(0, 0, 0, 1);
193
+ static _temp = new RGBAColor(0, 0, 0, 1);
194
+ static _temp2 = new RGBAColor(0, 0, 0, 1);
185
195
  evaluate(t01, lerpFactor) {
186
196
  const t = lerpFactor === undefined ? Math.random() : lerpFactor;
187
197
  switch (this.mode) {
188
198
  case ParticleSystemGradientMode.Color:
189
199
  return this.color;
190
200
  case ParticleSystemGradientMode.Gradient:
191
- this.gradient.evaluate(t01, this._temp);
192
- return this._temp;
201
+ this.gradient.evaluate(t01, MinMaxGradient._temp);
202
+ return MinMaxGradient._temp;
193
203
  case ParticleSystemGradientMode.TwoColors:
194
- return this._temp.lerpColors(this.colorMin, this.colorMax, t);
204
+ const col1 = MinMaxGradient._temp.lerpColors(this.colorMin, this.colorMax, t);
205
+ return col1;
206
+ case ParticleSystemGradientMode.TwoGradients:
207
+ const t2 = Math.random();
208
+ this.gradientMin.evaluate(t2, MinMaxGradient._temp);
209
+ this.gradientMax.evaluate(t2, MinMaxGradient._temp2);
210
+ return MinMaxGradient._temp.lerp(MinMaxGradient._temp2, t);
195
211
  }
196
212
  // console.warn("Not implemented", ParticleSystemGradientMode[this.mode]);
197
- this._temp.set(0xff00ff);
198
- this._temp.alpha = 1;
199
- return this._temp;
213
+ MinMaxGradient._temp.set(0xff00ff);
214
+ MinMaxGradient._temp.alpha = 1;
215
+ return MinMaxGradient._temp;
200
216
  }
201
217
  }
202
218
  __decorate([
@@ -300,44 +316,96 @@ __decorate([
300
316
  __decorate([
301
317
  serializeable(MinMaxCurve)
302
318
  ], MainModule.prototype, "startSpeed", void 0);
319
+ export class ParticleBurst {
320
+ cycleCount;
321
+ maxCount;
322
+ minCount;
323
+ probability;
324
+ repeatInterval;
325
+ time;
326
+ count;
327
+ _performed = 0;
328
+ reset() {
329
+ this._performed = 0;
330
+ }
331
+ run(time) {
332
+ if (time <= this.time) {
333
+ this.reset();
334
+ return 0;
335
+ }
336
+ let amount = 0;
337
+ if (this.cycleCount === 0 || this._performed < this.cycleCount) {
338
+ const nextTime = this.time + this.repeatInterval * this._performed;
339
+ if (time >= nextTime) {
340
+ this._performed += 1;
341
+ if (Math.random() < this.probability) {
342
+ switch (this.count.mode) {
343
+ case ParticleSystemCurveMode.Constant:
344
+ amount = this.count.constant;
345
+ break;
346
+ case ParticleSystemCurveMode.TwoConstants:
347
+ amount = Mathf.lerp(this.count.constantMin, this.count.constantMax, Math.random());
348
+ break;
349
+ case ParticleSystemCurveMode.Curve:
350
+ amount = this.count.curve.evaluate(Math.random());
351
+ break;
352
+ case ParticleSystemCurveMode.TwoCurves:
353
+ const t = Math.random();
354
+ amount = Mathf.lerp(this.count.curveMin.evaluate(t), this.count.curveMax.evaluate(t), Math.random());
355
+ break;
356
+ }
357
+ }
358
+ }
359
+ }
360
+ return amount;
361
+ }
362
+ }
303
363
  export class EmissionModule {
304
- burstCount;
305
364
  enabled;
365
+ get burstCount() {
366
+ return this.bursts?.length ?? 0;
367
+ }
368
+ bursts;
306
369
  rateOverTime;
307
370
  rateOverTimeMultiplier;
308
371
  rateOverDistance;
309
372
  rateOverDistanceMultiplier;
310
- currentParticles = 0;
311
- maxParticles = Infinity;
312
- _time = 0;
313
- _summed = 0;
314
- // private _didEmit: boolean = false;
315
- /** called by nebula */
316
- init() {
317
- }
318
- /** called by nebula */
319
- getValue(deltaTime) {
320
- if (this.currentParticles >= this.maxParticles)
321
- return 0;
322
- // if (this._didEmit) return 0;
323
- // this._didEmit = true;
324
- // return 1;
325
- if (!this.enabled)
326
- return 0;
327
- const time = this._time += deltaTime;
328
- let count = this.rateOverTime.evaluate(time, Math.random());
329
- this._summed += count * deltaTime;
330
- const amount = Math.floor(this._summed);
331
- this._summed -= amount;
373
+ /** set from system */
374
+ system;
375
+ get time() { return this.system.time; }
376
+ getBurst() {
377
+ let amount = 0;
378
+ if (this.burstCount > 0) {
379
+ for (let i = 0; i < this.burstCount; i++) {
380
+ const burst = this.bursts[i];
381
+ if (burst.time >= this.time) {
382
+ burst.reset();
383
+ continue;
384
+ }
385
+ amount += Math.round(burst.run(this.time));
386
+ }
387
+ }
332
388
  return amount;
333
389
  }
334
390
  }
391
+ __decorate([
392
+ serializeable()
393
+ ], EmissionModule.prototype, "enabled", void 0);
394
+ __decorate([
395
+ serializeable()
396
+ ], EmissionModule.prototype, "bursts", void 0);
335
397
  __decorate([
336
398
  serializeable(MinMaxCurve)
337
399
  ], EmissionModule.prototype, "rateOverTime", void 0);
400
+ __decorate([
401
+ serializeable()
402
+ ], EmissionModule.prototype, "rateOverTimeMultiplier", void 0);
338
403
  __decorate([
339
404
  serializeable(MinMaxCurve)
340
405
  ], EmissionModule.prototype, "rateOverDistance", void 0);
406
+ __decorate([
407
+ serializeable()
408
+ ], EmissionModule.prototype, "rateOverDistanceMultiplier", void 0);
341
409
  export class ColorOverLifetimeModule {
342
410
  enabled;
343
411
  color;
@@ -350,14 +418,21 @@ export class SizeOverLifetimeModule {
350
418
  separateAxes;
351
419
  size;
352
420
  sizeMultiplier;
353
- sizeX;
354
- sizeXMultiplier;
355
- sizeY;
356
- sizeYMultiplier;
357
- sizeZ;
358
- sizeZMultiplier;
421
+ x;
422
+ xMultiplier;
423
+ y;
424
+ yMultiplier;
425
+ z;
426
+ zMultiplier;
359
427
  _time = 0;
428
+ _temp = new Vector3();
360
429
  evaluate(t01, target) {
430
+ if (!target)
431
+ target = this._temp;
432
+ if (!this.enabled) {
433
+ target.x = target.y = target.z = 1;
434
+ return target;
435
+ }
361
436
  if (!this.separateAxes) {
362
437
  const scale = this.size.evaluate(t01) * this.sizeMultiplier;
363
438
  target.x = scale;
@@ -365,9 +440,9 @@ export class SizeOverLifetimeModule {
365
440
  // target.z = scale;
366
441
  }
367
442
  else {
368
- target.x = this.sizeX.evaluate(this._time) * this.sizeXMultiplier;
369
- // target.y = this.sizeY.evaluate(this._time) * this.sizeYMultiplier;
370
- // target.z = this.sizeZ.evaluate(this._time) * this.sizeZMultiplier;
443
+ target.x = this.x.evaluate(t01) * this.xMultiplier;
444
+ target.y = this.y.evaluate(t01) * this.yMultiplier;
445
+ target.z = this.z.evaluate(t01) * this.zMultiplier;
371
446
  }
372
447
  return target;
373
448
  }
@@ -377,14 +452,27 @@ __decorate([
377
452
  ], SizeOverLifetimeModule.prototype, "size", void 0);
378
453
  __decorate([
379
454
  serializeable(MinMaxCurve)
380
- ], SizeOverLifetimeModule.prototype, "sizeX", void 0);
455
+ ], SizeOverLifetimeModule.prototype, "x", void 0);
381
456
  __decorate([
382
457
  serializeable(MinMaxCurve)
383
- ], SizeOverLifetimeModule.prototype, "sizeY", void 0);
458
+ ], SizeOverLifetimeModule.prototype, "y", void 0);
384
459
  __decorate([
385
460
  serializeable(MinMaxCurve)
386
- ], SizeOverLifetimeModule.prototype, "sizeZ", void 0);
461
+ ], SizeOverLifetimeModule.prototype, "z", void 0);
387
462
  export class ShapeModule {
463
+ get type() {
464
+ return ParticleSystemShapeType[this.shapeType];
465
+ }
466
+ initialize(particle) {
467
+ this.getPosition();
468
+ particle.position.copy(this._vector);
469
+ }
470
+ toJSON() {
471
+ return this;
472
+ }
473
+ clone() {
474
+ return new ShapeModule();
475
+ }
388
476
  shapeType = ParticleSystemShapeType.Box;
389
477
  enabled = true;
390
478
  alignToDirection = false;
@@ -421,7 +509,6 @@ export class ShapeModule {
421
509
  get vector() {
422
510
  return this._vector;
423
511
  }
424
- /** called by nebula */
425
512
  getPosition() {
426
513
  switch (this.shapeType) {
427
514
  case ParticleSystemShapeType.Box:
@@ -432,6 +519,9 @@ export class ShapeModule {
432
519
  case ParticleSystemShapeType.Sphere:
433
520
  randomSpherePoint(this.position.x, this.position.y, this.position.z, this.radius, this.radiusThickness, this.arc, this._vector);
434
521
  break;
522
+ default:
523
+ this._vector.set(0, 0, 0);
524
+ break;
435
525
  // case ParticleSystemShapeType.Hemisphere:
436
526
  // randomSpherePoint(this.position.x, this.position.y, this.position.z, this.radius, this.radiusThickness, 180, this._vector);
437
527
  // break;
@@ -507,7 +597,6 @@ function randomSpherePoint(x0, y0, z0, radius, thickness, arc, vec) {
507
597
  vec.z = z;
508
598
  }
509
599
  import { createNoise4D } from 'simplex-noise';
510
- import { Context } from "../engine/engine_setup";
511
600
  export class NoiseModule {
512
601
  damping;
513
602
  enabled;
@@ -542,32 +631,33 @@ export class NoiseModule {
542
631
  }
543
632
  /** nebula implementations: */
544
633
  _temp = new Vector3();
545
- applyNoise(index, pos, vel, deltaTime, age, life) {
634
+ apply(_index, pos, vel, _deltaTime, age, life) {
546
635
  if (!this.enabled)
547
636
  return;
548
637
  if (!this._noise) {
549
638
  this._noise = createNoise4D(() => 0);
550
639
  }
551
- const t = age / life;
552
- const dt = Context.Current.time.deltaTime;
553
640
  const temp = this._temp.set(pos.x, pos.y, pos.z).multiplyScalar(this.frequency);
554
641
  const nx = this._noise(temp.x, temp.y, temp.z, this._time);
555
- const ny = this._noise(temp.x, temp.y, temp.z, this._time + .2);
556
- const nz = this._noise(temp.x, temp.y, temp.z, this._time + .5);
642
+ const ny = this._noise(temp.x, temp.y, temp.z, this._time + .3);
643
+ const nz = this._noise(temp.x, temp.y, temp.z, this._time + 1);
557
644
  this._temp.set(nx, ny, nz).normalize();
645
+ const t = age / life;
558
646
  let strengthFactor = this.positionAmount.evaluate(t);
559
647
  if (!this.separateAxes) {
560
- if (this.strengthX)
561
- strengthFactor *= this.strengthX.evaluate(t, index * 1.1);
562
- strengthFactor *= this.strengthMultiplier;
563
- strengthFactor *= .1;
648
+ if (this.strengthX) {
649
+ strengthFactor *= this.strengthX.evaluate(t) * Math.PI;
650
+ }
651
+ // strengthFactor *= this.strengthMultiplier;
652
+ // strengthFactor *= deltaTime;
564
653
  this._temp.multiplyScalar(strengthFactor);
565
654
  }
566
- if (this.separateAxes) {
567
- this._temp.x *= strengthFactor * deltaTime * this.strengthXMultiplier;
568
- this._temp.y *= strengthFactor * deltaTime * this.strengthYMultiplier;
569
- this._temp.z *= strengthFactor * deltaTime * this.strengthZMultiplier;
655
+ else {
656
+ this._temp.x *= strengthFactor * this.strengthXMultiplier;
657
+ this._temp.y *= strengthFactor * this.strengthYMultiplier;
658
+ this._temp.z *= strengthFactor * this.strengthZMultiplier;
570
659
  }
660
+ // this._temp.setLength(strengthFactor * deltaTime);
571
661
  vel.x += this._temp.x;
572
662
  vel.y += this._temp.y;
573
663
  vel.z += this._temp.z;
@@ -651,4 +741,231 @@ __decorate([
651
741
  __decorate([
652
742
  serializeable()
653
743
  ], NoiseModule.prototype, "strengthZMultiplier", void 0);
744
+ export class TrailModule {
745
+ enabled;
746
+ }
747
+ __decorate([
748
+ serializeable()
749
+ ], TrailModule.prototype, "enabled", void 0);
750
+ export class VelocityOverLifetimeModule {
751
+ enabled;
752
+ /* orbital settings */
753
+ space = ParticleSystemSimulationSpace.Local;
754
+ speedModifier;
755
+ speedModifierMultiplier;
756
+ x;
757
+ xMultiplier;
758
+ y;
759
+ yMultiplier;
760
+ z;
761
+ zMultiplier;
762
+ _system;
763
+ // private _worldRotation: Quaternion = new Quaternion();
764
+ update(system) {
765
+ this._system = system;
766
+ }
767
+ _temp = new Vector3();
768
+ apply(_index, _pos, vel, _dt, age, life) {
769
+ if (!this.enabled)
770
+ return;
771
+ const t = age / life;
772
+ const speed = this.speedModifier.evaluate(t) * this.speedModifierMultiplier;
773
+ const x = this.x.evaluate(t) * speed;
774
+ const y = this.y.evaluate(t) * speed;
775
+ const z = this.z.evaluate(t) * speed;
776
+ this._temp.set(-x, y, z);
777
+ if (this._system) {
778
+ if (this.space === ParticleSystemSimulationSpace.World) {
779
+ this._temp.applyQuaternion(this._system.worldQuaternionInverted);
780
+ }
781
+ if (this._system.main.simulationSpace === ParticleSystemSimulationSpace.World) {
782
+ this._temp.applyQuaternion(this._system.worldQuaternion);
783
+ }
784
+ }
785
+ vel.x += this._temp.x;
786
+ vel.y += this._temp.y;
787
+ vel.z += this._temp.z;
788
+ }
789
+ }
790
+ __decorate([
791
+ serializeable()
792
+ ], VelocityOverLifetimeModule.prototype, "enabled", void 0);
793
+ __decorate([
794
+ serializeable()
795
+ ], VelocityOverLifetimeModule.prototype, "space", void 0);
796
+ __decorate([
797
+ serializeable(MinMaxCurve)
798
+ ], VelocityOverLifetimeModule.prototype, "speedModifier", void 0);
799
+ __decorate([
800
+ serializeable()
801
+ ], VelocityOverLifetimeModule.prototype, "speedModifierMultiplier", void 0);
802
+ __decorate([
803
+ serializeable(MinMaxCurve)
804
+ ], VelocityOverLifetimeModule.prototype, "x", void 0);
805
+ __decorate([
806
+ serializeable()
807
+ ], VelocityOverLifetimeModule.prototype, "xMultiplier", void 0);
808
+ __decorate([
809
+ serializeable(MinMaxCurve)
810
+ ], VelocityOverLifetimeModule.prototype, "y", void 0);
811
+ __decorate([
812
+ serializeable()
813
+ ], VelocityOverLifetimeModule.prototype, "yMultiplier", void 0);
814
+ __decorate([
815
+ serializeable(MinMaxCurve)
816
+ ], VelocityOverLifetimeModule.prototype, "z", void 0);
817
+ __decorate([
818
+ serializeable()
819
+ ], VelocityOverLifetimeModule.prototype, "zMultiplier", void 0);
820
+ var ParticleSystemAnimationTimeMode;
821
+ (function (ParticleSystemAnimationTimeMode) {
822
+ ParticleSystemAnimationTimeMode[ParticleSystemAnimationTimeMode["Lifetime"] = 0] = "Lifetime";
823
+ ParticleSystemAnimationTimeMode[ParticleSystemAnimationTimeMode["Speed"] = 1] = "Speed";
824
+ ParticleSystemAnimationTimeMode[ParticleSystemAnimationTimeMode["FPS"] = 2] = "FPS";
825
+ })(ParticleSystemAnimationTimeMode || (ParticleSystemAnimationTimeMode = {}));
826
+ var ParticleSystemAnimationMode;
827
+ (function (ParticleSystemAnimationMode) {
828
+ ParticleSystemAnimationMode[ParticleSystemAnimationMode["Grid"] = 0] = "Grid";
829
+ ParticleSystemAnimationMode[ParticleSystemAnimationMode["Sprites"] = 1] = "Sprites";
830
+ })(ParticleSystemAnimationMode || (ParticleSystemAnimationMode = {}));
831
+ var ParticleSystemAnimationRowMode;
832
+ (function (ParticleSystemAnimationRowMode) {
833
+ ParticleSystemAnimationRowMode[ParticleSystemAnimationRowMode["Custom"] = 0] = "Custom";
834
+ ParticleSystemAnimationRowMode[ParticleSystemAnimationRowMode["Random"] = 1] = "Random";
835
+ ParticleSystemAnimationRowMode[ParticleSystemAnimationRowMode["MeshIndex"] = 2] = "MeshIndex";
836
+ })(ParticleSystemAnimationRowMode || (ParticleSystemAnimationRowMode = {}));
837
+ var ParticleSystemAnimationType;
838
+ (function (ParticleSystemAnimationType) {
839
+ ParticleSystemAnimationType[ParticleSystemAnimationType["WholeSheet"] = 0] = "WholeSheet";
840
+ ParticleSystemAnimationType[ParticleSystemAnimationType["SingleRow"] = 1] = "SingleRow";
841
+ })(ParticleSystemAnimationType || (ParticleSystemAnimationType = {}));
842
+ export class TextureSheetAnimationModule {
843
+ animation;
844
+ enabled;
845
+ cycleCount;
846
+ frameOverTime;
847
+ frameOverTimeMultiplier;
848
+ numTilesX;
849
+ numTilesY;
850
+ startFrame;
851
+ startFrameMultiplier;
852
+ rowMode;
853
+ rowIndex;
854
+ spriteCount;
855
+ timeMode;
856
+ sampleOnceAtStart() {
857
+ if (this.timeMode === ParticleSystemAnimationTimeMode.Lifetime) {
858
+ switch (this.frameOverTime.mode) {
859
+ case ParticleSystemCurveMode.Constant:
860
+ case ParticleSystemCurveMode.TwoConstants:
861
+ return true;
862
+ }
863
+ }
864
+ return false;
865
+ }
866
+ getStartIndex() {
867
+ if (this.sampleOnceAtStart()) {
868
+ return this.frameOverTime.evaluate(Math.random());
869
+ }
870
+ return 0;
871
+ }
872
+ evaluate(t01) {
873
+ if (this.sampleOnceAtStart()) {
874
+ return;
875
+ }
876
+ return this.getIndex(t01);
877
+ }
878
+ getIndex(t01) {
879
+ const tiles = this.numTilesX * this.numTilesY;
880
+ // let pos = t01 * this.cycleCount;
881
+ let index = this.frameOverTime.evaluate(t01 % 1);
882
+ index *= this.frameOverTimeMultiplier;
883
+ index *= tiles;
884
+ index = index % tiles;
885
+ index = Math.floor(index);
886
+ // console.log(index);
887
+ return index;
888
+ }
889
+ }
890
+ __decorate([
891
+ serializeable()
892
+ ], TextureSheetAnimationModule.prototype, "animation", void 0);
893
+ __decorate([
894
+ serializeable()
895
+ ], TextureSheetAnimationModule.prototype, "enabled", void 0);
896
+ __decorate([
897
+ serializeable()
898
+ ], TextureSheetAnimationModule.prototype, "cycleCount", void 0);
899
+ __decorate([
900
+ serializeable(MinMaxCurve)
901
+ ], TextureSheetAnimationModule.prototype, "frameOverTime", void 0);
902
+ __decorate([
903
+ serializeable()
904
+ ], TextureSheetAnimationModule.prototype, "frameOverTimeMultiplier", void 0);
905
+ __decorate([
906
+ serializeable()
907
+ ], TextureSheetAnimationModule.prototype, "numTilesX", void 0);
908
+ __decorate([
909
+ serializeable()
910
+ ], TextureSheetAnimationModule.prototype, "numTilesY", void 0);
911
+ __decorate([
912
+ serializeable(MinMaxCurve)
913
+ ], TextureSheetAnimationModule.prototype, "startFrame", void 0);
914
+ __decorate([
915
+ serializeable()
916
+ ], TextureSheetAnimationModule.prototype, "startFrameMultiplier", void 0);
917
+ __decorate([
918
+ serializeable()
919
+ ], TextureSheetAnimationModule.prototype, "rowMode", void 0);
920
+ __decorate([
921
+ serializeable()
922
+ ], TextureSheetAnimationModule.prototype, "rowIndex", void 0);
923
+ __decorate([
924
+ serializeable()
925
+ ], TextureSheetAnimationModule.prototype, "spriteCount", void 0);
926
+ __decorate([
927
+ serializeable()
928
+ ], TextureSheetAnimationModule.prototype, "timeMode", void 0);
929
+ export class RotationOverLifetimeModule {
930
+ enabled;
931
+ separateAxes;
932
+ x;
933
+ xMultiplier;
934
+ y;
935
+ yMultiplier;
936
+ z;
937
+ zMultiplier;
938
+ evaluate(t01) {
939
+ if (!this.enabled)
940
+ return 0;
941
+ if (!this.separateAxes) {
942
+ return this.z.evaluate(t01) * -1;
943
+ }
944
+ return 0;
945
+ }
946
+ }
947
+ __decorate([
948
+ serializeable()
949
+ ], RotationOverLifetimeModule.prototype, "enabled", void 0);
950
+ __decorate([
951
+ serializeable()
952
+ ], RotationOverLifetimeModule.prototype, "separateAxes", void 0);
953
+ __decorate([
954
+ serializeable(MinMaxCurve)
955
+ ], RotationOverLifetimeModule.prototype, "x", void 0);
956
+ __decorate([
957
+ serializeable()
958
+ ], RotationOverLifetimeModule.prototype, "xMultiplier", void 0);
959
+ __decorate([
960
+ serializeable(MinMaxCurve)
961
+ ], RotationOverLifetimeModule.prototype, "y", void 0);
962
+ __decorate([
963
+ serializeable()
964
+ ], RotationOverLifetimeModule.prototype, "yMultiplier", void 0);
965
+ __decorate([
966
+ serializeable(MinMaxCurve)
967
+ ], RotationOverLifetimeModule.prototype, "z", void 0);
968
+ __decorate([
969
+ serializeable()
970
+ ], RotationOverLifetimeModule.prototype, "zMultiplier", void 0);
654
971
  //# sourceMappingURL=ParticleSystemModules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParticleSystemModules.js","sourceRoot":"","sources":["../../../engine-components/ParticleSystemModules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ParticleSystemModules.js","sourceRoot":"","sources":["../../../engine-components/ParticleSystemModules.ts"],"names":[],"mappings":"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"}