@galacean/engine-core 1.1.0-alpha.1 → 1.1.0-alpha.2

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 (145) hide show
  1. package/dist/main.js +93 -31
  2. package/dist/main.js.map +1 -1
  3. package/dist/miniprogram.js +93 -31
  4. package/dist/module.js +93 -31
  5. package/dist/module.js.map +1 -1
  6. package/package.json +3 -3
  7. package/types/RenderPipeline/MeshRenderElement.d.ts +1 -3
  8. package/types/RenderPipeline/RenderElementX.d.ts +12 -0
  9. package/types/RenderPipeline/SpriteElement.d.ts +1 -3
  10. package/types/RenderPipeline/SpriteMaskElement.d.ts +1 -3
  11. package/types/RenderPipeline/TextRenderElement.d.ts +1 -3
  12. package/types/SafeLoopArray.d.ts +37 -0
  13. package/types/Ticker.d.ts +30 -0
  14. package/types/Transform.d.ts +1 -0
  15. package/types/animation/internal/AnimationCurveOwnerLayerData.d.ts +1 -0
  16. package/types/asset/Loader.d.ts +1 -1
  17. package/types/asset/ResourceManager.d.ts +8 -0
  18. package/types/graphic/Primitive.d.ts +1 -0
  19. package/types/graphic/PrimitiveVertexBinding.d.ts +1 -0
  20. package/types/graphic/SubPrimitive.d.ts +9 -0
  21. package/types/index.d.ts +1 -1
  22. package/types/particle/ParticleBufferUtils.d.ts +1 -0
  23. package/types/particle/ParticleData.d.ts +1 -0
  24. package/types/particle/ParticleGenerator.d.ts +72 -0
  25. package/types/particle/ParticleMaterial.d.ts +28 -0
  26. package/types/particle/ParticleMesh.d.ts +289 -0
  27. package/types/particle/ParticleShaderDeclaration.d.ts +1 -0
  28. package/types/particle/ParticleShaderMacro.d.ts +1 -0
  29. package/types/particle/ParticleShaderProperty.d.ts +1 -0
  30. package/types/particle/ParticleSystem.d.ts +41 -0
  31. package/types/particle/ParticleVertexElements.d.ts +1 -0
  32. package/types/particle/ParticleVertexUtils.d.ts +1 -0
  33. package/types/particle/enum/ParticleAnimationRowMode.d.ts +9 -0
  34. package/types/particle/enum/ParticleAnimationType.d.ts +9 -0
  35. package/types/particle/enum/ParticleCurveMode.d.ts +13 -0
  36. package/types/particle/enum/ParticleGradientMode.d.ts +13 -0
  37. package/types/particle/enum/ParticleRenderMode.d.ts +17 -0
  38. package/types/particle/enum/ParticleScaleMode.d.ts +11 -0
  39. package/types/particle/enum/ParticleShapeMultiModeValue.d.ts +9 -0
  40. package/types/particle/enum/ParticleShapeType.d.ts +15 -0
  41. package/types/particle/enum/ParticleSimulationSpace.d.ts +9 -0
  42. package/types/particle/enum/index.d.ts +9 -0
  43. package/types/particle/enums/ParticleCurveMode.d.ts +9 -0
  44. package/types/particle/enums/ParticleGradientMode.d.ts +9 -0
  45. package/types/particle/enums/ParticleRandomSubSeeds.d.ts +1 -0
  46. package/types/particle/enums/ParticleRenderMode.d.ts +17 -0
  47. package/types/particle/enums/ParticleScaleMode.d.ts +11 -0
  48. package/types/particle/enums/ParticleSimulationSpace.d.ts +9 -0
  49. package/types/particle/enums/ParticleStopMode.d.ts +6 -0
  50. package/types/particle/enums/attributes/BillboardParticleVertexAttribute.d.ts +1 -0
  51. package/types/particle/enums/attributes/MeshParticleVertexAttribute.d.ts +5 -0
  52. package/types/particle/enums/attributes/ParticleInstanceVertexAttribute.d.ts +1 -0
  53. package/types/particle/module/Burst.d.ts +38 -0
  54. package/types/particle/module/ColorGradient.d.ts +75 -0
  55. package/types/particle/module/ColorOverLifetimeModule.d.ts +20 -0
  56. package/types/particle/module/EmissionModule.d.ts +63 -0
  57. package/types/particle/module/FrameOverTime.d.ts +73 -0
  58. package/types/particle/module/ParticleCurve.d.ts +37 -0
  59. package/types/particle/module/RotationOverLifetimeModule.d.ts +21 -0
  60. package/types/particle/module/RotationVelocityGradient.d.ts +184 -0
  61. package/types/particle/module/SizeGradient.d.ts +151 -0
  62. package/types/particle/module/SizeOverLifetimeModule.d.ts +21 -0
  63. package/types/particle/module/StartFrame.d.ts +46 -0
  64. package/types/particle/module/TextureSheetAnimationModule.d.ts +37 -0
  65. package/types/particle/module/VelocityGradient.d.ts +110 -0
  66. package/types/particle/module/VelocityOverLifetimeModule.d.ts +22 -0
  67. package/types/particle/module/index.d.ts +15 -0
  68. package/types/particle/module/shape/BaseShape.d.ts +26 -0
  69. package/types/particle/module/shape/BoxShape.d.ts +20 -0
  70. package/types/particle/module/shape/CircleShape.d.ts +27 -0
  71. package/types/particle/module/shape/ConeShape.d.ts +35 -0
  72. package/types/particle/module/shape/HemisphereShape.d.ts +23 -0
  73. package/types/particle/module/shape/ShapeUtils.d.ts +1 -0
  74. package/types/particle/module/shape/SphereShape.d.ts +23 -0
  75. package/types/particle/module/shape/index.d.ts +5 -0
  76. package/types/particle/modules/Burst.d.ts +14 -0
  77. package/types/particle/modules/ColorOverLifetimeModule.d.ts +20 -0
  78. package/types/particle/modules/EmissionModule.d.ts +45 -0
  79. package/types/particle/modules/MainModule.d.ts +68 -0
  80. package/types/particle/modules/ParticleCompositeCurve.d.ts +56 -0
  81. package/types/particle/modules/ParticleCompositeGradient.d.ts +55 -0
  82. package/types/particle/modules/ParticleCurve.d.ts +56 -0
  83. package/types/particle/modules/ParticleGeneratorModule.d.ts +12 -0
  84. package/types/particle/modules/ParticleGradient.d.ts +94 -0
  85. package/types/particle/modules/RotationOverLifetimeModule.d.ts +34 -0
  86. package/types/particle/modules/ShapeModule.d.ts +9 -0
  87. package/types/particle/modules/SizeOverLifetimeModule.d.ts +34 -0
  88. package/types/particle/modules/TextureSheetAnimationModule.d.ts +42 -0
  89. package/types/particle/modules/VelocityOverLifetimeModule.d.ts +34 -0
  90. package/types/particle/modules/shape/BaseShape.d.ts +12 -0
  91. package/types/particle/modules/shape/BoxShape.d.ts +11 -0
  92. package/types/particle/modules/shape/CircleShape.d.ts +17 -0
  93. package/types/particle/modules/shape/ConeShape.d.ts +28 -0
  94. package/types/particle/modules/shape/HemisphereShape.d.ts +9 -0
  95. package/types/particle/modules/shape/ShapeUtils.d.ts +1 -0
  96. package/types/particle/modules/shape/SphereShape.d.ts +9 -0
  97. package/types/particle/modules/shape/enums/ParticleShapeArcMode.d.ts +9 -0
  98. package/types/particle/modules/shape/enums/ParticleShapeMultiModeValue.d.ts +9 -0
  99. package/types/particle/modules/shape/enums/ParticleShapeType.d.ts +15 -0
  100. package/types/particle/modules/shape/index.d.ts +6 -0
  101. package/types/particle/moudules/Burst.d.ts +25 -0
  102. package/types/particle/moudules/Emission.d.ts +47 -0
  103. package/types/particle/moudules/EmissionModule.d.ts +49 -0
  104. package/types/particle/moudules/MainModule.d.ts +59 -0
  105. package/types/particle/moudules/ParticleCurve.d.ts +27 -0
  106. package/types/particle/moudules/ParticleGradient.d.ts +28 -0
  107. package/types/particle/moudules/ShapeModule.d.ts +7 -0
  108. package/types/particle/moudules/shape/BaseShape.d.ts +28 -0
  109. package/types/particle/moudules/shape/BoxShape.d.ts +20 -0
  110. package/types/particle/moudules/shape/CircleShape.d.ts +27 -0
  111. package/types/particle/moudules/shape/ConeShape.d.ts +35 -0
  112. package/types/particle/moudules/shape/HemisphereShape.d.ts +23 -0
  113. package/types/particle/moudules/shape/ShapeUtils.d.ts +1 -0
  114. package/types/particle/moudules/shape/SphereShape.d.ts +23 -0
  115. package/types/particle/moudules/shape/enums/ParticleShapeMultiModeValue.d.ts +9 -0
  116. package/types/particle/moudules/shape/enums/ParticleShapeType.d.ts +15 -0
  117. package/types/particle/moudules/shape/index.d.ts +5 -0
  118. package/types/physics/PhysicsScene.d.ts +6 -2
  119. package/types/shaderlib/particle/index.d.ts +14 -0
  120. package/types/shadow/PipelinePass.d.ts +16 -0
  121. package/types/utils/BoolUpdateFlag.d.ts +12 -0
  122. package/types/utils/DisorderedArray.d.ts +18 -0
  123. package/types/utils/UpdateFlag.d.ts +20 -0
  124. package/types/utils/UpdateFlagManager.d.ts +1 -0
  125. package/types/utils/Utils.d.ts +31 -0
  126. package/types/xr/XRManager.d.ts +31 -0
  127. package/types/xr/component/XRPoseDriver.d.ts +10 -0
  128. package/types/xr/data/XRCamera.d.ts +6 -0
  129. package/types/xr/data/XRDevice.d.ts +9 -0
  130. package/types/xr/data/XRHandle.d.ts +10 -0
  131. package/types/xr/enum/EnumXRButton.d.ts +5 -0
  132. package/types/xr/enum/EnumXRDevicePhase.d.ts +4 -0
  133. package/types/xr/enum/EnumXRFeature.d.ts +9 -0
  134. package/types/xr/enum/EnumXRInputSource.d.ts +8 -0
  135. package/types/xr/enum/EnumXRMode.d.ts +7 -0
  136. package/types/xr/enum/EnumXRSubsystem.d.ts +4 -0
  137. package/types/xr/enum/EnumXRTrackingMode.d.ts +7 -0
  138. package/types/xr/feature/XRCameraManager.d.ts +21 -0
  139. package/types/xr/feature/XRFeature.d.ts +29 -0
  140. package/types/xr/feature/XRImageTrackManager.d.ts +10 -0
  141. package/types/xr/feature/XRInputManager.d.ts +16 -0
  142. package/types/xr/index.d.ts +18 -0
  143. package/types/xr/provider/XRProvider.d.ts +19 -0
  144. package/types/xr/subsystem/XRInputSubsystem.d.ts +5 -0
  145. package/types/xr/subsystem/XRSubsystem.d.ts +30 -0
@@ -0,0 +1,34 @@
1
+ import { ShaderMacro } from "../../shader";
2
+ import { ShaderProperty } from "../../shader/ShaderProperty";
3
+ import { ParticleSimulationSpace } from "../enums/ParticleSimulationSpace";
4
+ import { ParticleCompositeCurve } from "./ParticleCompositeCurve";
5
+ import { ParticleGeneratorModule } from "./ParticleGeneratorModule";
6
+ /**
7
+ * Velocity over lifetime module.
8
+ */
9
+ export declare class VelocityOverLifetimeModule extends ParticleGeneratorModule {
10
+ static readonly _constantMacro: ShaderMacro;
11
+ static readonly _curveMacro: ShaderMacro;
12
+ static readonly _randomConstantMacro: ShaderMacro;
13
+ static readonly _randomCurveMacro: ShaderMacro;
14
+ static readonly _minConstantProperty: ShaderProperty;
15
+ static readonly _maxConstantProperty: ShaderProperty;
16
+ static readonly _minGradientXProperty: ShaderProperty;
17
+ static readonly _minGradientYProperty: ShaderProperty;
18
+ static readonly _minGradientZProperty: ShaderProperty;
19
+ static readonly _maxGradientXProperty: ShaderProperty;
20
+ static readonly _maxGradientYProperty: ShaderProperty;
21
+ static readonly _maxGradientZProperty: ShaderProperty;
22
+ static readonly _spaceProperty: ShaderProperty;
23
+ /** Velocity over lifetime for x axis. */
24
+ velocityX: ParticleCompositeCurve;
25
+ /** Velocity over lifetime for z axis. */
26
+ velocityY: ParticleCompositeCurve;
27
+ /** Velocity over lifetime for z axis. */
28
+ velocityZ: ParticleCompositeCurve;
29
+ /** Velocity space. */
30
+ space: ParticleSimulationSpace;
31
+ private _velocityMinConstant;
32
+ private _velocityMaxConstant;
33
+ private _velocityMacro;
34
+ }
@@ -0,0 +1,12 @@
1
+ import { ParticleShapeType } from "./enums/ParticleShapeType";
2
+ /**
3
+ * Base class for all particle shapes.
4
+ */
5
+ export declare abstract class BaseShape {
6
+ /** The type of shape to emit particles from. */
7
+ shapeType: ParticleShapeType;
8
+ /** Specifies whether the ShapeModule is enabled or disabled. */
9
+ enable: boolean;
10
+ /** Randomizes the starting direction of particles. */
11
+ randomDirectionAmount: number;
12
+ }
@@ -0,0 +1,11 @@
1
+ import { Vector3 } from "@galacean/engine-math";
2
+ import { BaseShape } from "./BaseShape";
3
+ /**
4
+ * Particle shape that emits particles from a box.
5
+ */
6
+ export declare class BoxShape extends BaseShape {
7
+ private static _tempVector30;
8
+ /** The size of the box. */
9
+ size: Vector3;
10
+ constructor();
11
+ }
@@ -0,0 +1,17 @@
1
+ import { BaseShape } from "./BaseShape";
2
+ import { ParticleShapeArcMode } from "./enums/ParticleShapeArcMode";
3
+ /**
4
+ * Particle shape that emits particles from a circle.
5
+ */
6
+ export declare class CircleShape extends BaseShape {
7
+ private static _tempPositionPoint;
8
+ /** Radius of the shape to emit particles from. */
9
+ radius: number;
10
+ /** Angle of the circle arc to emit particles from. */
11
+ arc: number;
12
+ /** The mode to generate particles around the arc. */
13
+ arcMode: ParticleShapeArcMode;
14
+ /** The speed of complete 360 degree rotation. */
15
+ arcSpeed: number;
16
+ constructor();
17
+ }
@@ -0,0 +1,28 @@
1
+ import { BaseShape } from "./BaseShape";
2
+ /**
3
+ * Cone shape.
4
+ */
5
+ export declare class ConeShape extends BaseShape {
6
+ private static _tempVector20;
7
+ private static _tempVector21;
8
+ private static _tempVector30;
9
+ private static _tempVector31;
10
+ /** Angle of the cone to emit particles from. */
11
+ angle: number;
12
+ /** Radius of the shape to emit particles from. */
13
+ radius: number;
14
+ /** Length of the cone to emit particles from. */
15
+ length: number;
16
+ /** Cone emitter type. */
17
+ emitType: ConeEmitType;
18
+ constructor();
19
+ }
20
+ /**
21
+ * Cone emitter type.
22
+ */
23
+ export declare enum ConeEmitType {
24
+ /** Emit particles from the base of the cone. */
25
+ Base = 0,
26
+ /** Emit particles from the volume of the cone. */
27
+ Volume = 1
28
+ }
@@ -0,0 +1,9 @@
1
+ import { BaseShape } from "./BaseShape";
2
+ /**
3
+ * Particle shape that emits particles from a hemisphere.
4
+ */
5
+ export declare class HemisphereShape extends BaseShape {
6
+ /** Radius of the shape to emit particles from. */
7
+ radius: number;
8
+ constructor();
9
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ import { BaseShape } from "./BaseShape";
2
+ /**
3
+ * Particle shape that emits particles from a sphere.
4
+ */
5
+ export declare class SphereShape extends BaseShape {
6
+ /** Radius of the shape to emit particles from. */
7
+ radius: number;
8
+ constructor();
9
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Particle shape multi mode value.
3
+ */
4
+ export declare enum ParticleShapeArcMode {
5
+ /** Generate points randomly. */
6
+ Random = 0,
7
+ /** Animate the emission point around the shape. */
8
+ Loop = 1
9
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The mode used to generate new points in a shape.
3
+ */
4
+ export declare enum ParticleShapeMultiModeValue {
5
+ /** Generate points randomly. (Default) */
6
+ Random = 0,
7
+ /** Animate the emission point around the shape. */
8
+ Loop = 1
9
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * The emission shape.
3
+ */
4
+ export declare enum ParticleShapeType {
5
+ /** Emit from the volume of a box. */
6
+ Box = 0,
7
+ /** Emit from a circle. */
8
+ Circle = 1,
9
+ /** Emit from the base of a cone. */
10
+ Cone = 2,
11
+ /** Emit from a half-sphere. */
12
+ Hemisphere = 3,
13
+ /** Emit from a sphere. */
14
+ Sphere = 4
15
+ }
@@ -0,0 +1,6 @@
1
+ export { BoxShape } from "./BoxShape";
2
+ export { CircleShape } from "./CircleShape";
3
+ export { ConeShape, ConeEmitType } from "./ConeShape";
4
+ export { HemisphereShape } from "./HemisphereShape";
5
+ export { SphereShape } from "./SphereShape";
6
+ export { ParticleShapeArcMode } from "./enums/ParticleShapeArcMode";
@@ -0,0 +1,25 @@
1
+ import { IClone } from "@galacean/engine-design";
2
+ import { ParticleCurve } from "./ParticleCurve";
3
+ /**
4
+ * A burst is a particle emission event, where a number of particles are all emitted at the same time
5
+ */
6
+ export declare class Burst implements IClone {
7
+ time: number;
8
+ count: ParticleCurve;
9
+ /**
10
+ * Create burst object.
11
+ * @param time - Time to emit the burst
12
+ * @param count - Count of particles to emit
13
+ */
14
+ constructor(time: number, count: ParticleCurve);
15
+ /**
16
+ * clone to
17
+ * @param destBurst - The dest
18
+ */
19
+ cloneTo(destBurst: Burst): void;
20
+ /**
21
+ * clone
22
+ * @return The copy
23
+ */
24
+ clone(): Burst;
25
+ }
@@ -0,0 +1,47 @@
1
+ import { IClone } from "@galacean/engine-design";
2
+ import { Burst } from "./Burst";
3
+ import { ParticleCurve } from "./ParticleCurve";
4
+ /**
5
+ * The EmissionModule of a Particle System.
6
+ */
7
+ export declare class EmissionModule implements IClone {
8
+ /** Specifies whether the EmissionModule is enabled or disabled. */
9
+ enable: boolean;
10
+ /** The rate of particle emission. */
11
+ rateOverTime: ParticleCurve;
12
+ /** The rate at which the emitter spawns new particles over distance. */
13
+ rateOverDistance: ParticleCurve;
14
+ private _bursts;
15
+ /**
16
+ * Gets the burst array.
17
+ */
18
+ get bursts(): ReadonlyArray<Burst>;
19
+ constructor();
20
+ /**
21
+ * Add a single burst.
22
+ * @param burst - The burst
23
+ */
24
+ addBurst(burst: Burst): void;
25
+ /**
26
+ * Remove a single burst from the array of bursts.
27
+ * @param burst - The burst data
28
+ */
29
+ removeBurst(burst: Burst): void;
30
+ /**
31
+ * Remove a single burst from the array of bursts.
32
+ * @param index - The burst data index
33
+ */
34
+ removeBurstByIndex(index: number): void;
35
+ /**
36
+ * Clear burst data.
37
+ */
38
+ clearBurst(): void;
39
+ /**
40
+ * @override
41
+ */
42
+ cloneTo(destEmission: EmissionModule): void;
43
+ /**
44
+ * @override
45
+ */
46
+ clone(): EmissionModule;
47
+ }
@@ -0,0 +1,49 @@
1
+ import { ParticleSystem } from "../ParticleSystem";
2
+ import { Burst } from "./Burst";
3
+ import { ParticleCurve } from "./ParticleCurve";
4
+ /**
5
+ * The EmissionModule of a Particle System.
6
+ */
7
+ export declare class EmissionModule {
8
+ /** Specifies whether the EmissionModule is enabled or disabled. */
9
+ enabled: boolean;
10
+ /** The rate of particle emission. */
11
+ rateOverTime: ParticleCurve;
12
+ /** The rate at which the emitter spawns new particles over distance. */
13
+ rateOverDistance: ParticleCurve;
14
+ private _bursts;
15
+ private _frameRateTime;
16
+ private _currentBurstIndex;
17
+ private _particleSystem;
18
+ /**
19
+ * Gets the burst array.
20
+ */
21
+ get bursts(): ReadonlyArray<Burst>;
22
+ constructor(particleSystem: ParticleSystem);
23
+ /**
24
+ * Add a single burst.
25
+ * @param burst - The burst
26
+ */
27
+ addBurst(burst: Burst): void;
28
+ /**
29
+ * Remove a single burst from the array of bursts.
30
+ * @param burst - The burst data
31
+ */
32
+ removeBurst(burst: Burst): void;
33
+ /**
34
+ * Remove a single burst from the array of bursts.
35
+ * @param index - The burst data index
36
+ */
37
+ removeBurstByIndex(index: number): void;
38
+ /**
39
+ * Clear burst data.
40
+ */
41
+ clearBurst(): void;
42
+ /**
43
+ * @override
44
+ */
45
+ cloneTo(destEmission: EmissionModule): void;
46
+ private _emitByRateOverTime;
47
+ private _emitByBurst;
48
+ private _emitBySubBurst;
49
+ }
@@ -0,0 +1,59 @@
1
+ import { ParticleSystem } from "../ParticleSystem";
2
+ import { ParticleScaleMode } from "../enums/ParticleScaleMode";
3
+ import { ParticleSimulationSpace } from "../enums/ParticleSimulationSpace";
4
+ import { ParticleCurve } from "./ParticleCurve";
5
+ import { ParticleGradient } from "./ParticleGradient";
6
+ export declare class MainModule {
7
+ /** The duration of the Particle System in seconds. */
8
+ duration: number;
9
+ /** Specifies whether the Particle System is looping. */
10
+ loop: boolean;
11
+ /** Start delay in seconds. */
12
+ startDelay: ParticleCurve;
13
+ /** The initial lifetime of particles when emitted. */
14
+ startLifetime: ParticleCurve;
15
+ /** The initial speed of particles when the Particle System first spawns them. */
16
+ startSpeed: ParticleCurve;
17
+ /** A flag to enable specifying particle size individually for each axis. */
18
+ startSize3D: boolean;
19
+ /** The initial size of particles when the Particle System first spawns them. */
20
+ startSize: ParticleCurve;
21
+ /** The initial size of particles along the x-axis when the Particle System first spawns them. */
22
+ startSizeX: ParticleCurve;
23
+ /** The initial size of particles along the y-axis when the Particle System first spawns them. */
24
+ startSizeY: ParticleCurve;
25
+ /** The initial size of particles along the z-axis when the Particle System first spawns them. */
26
+ startSizeZ: ParticleCurve;
27
+ /** A flag to enable 3D particle rotation. */
28
+ startRotation3D: boolean;
29
+ /** The initial rotation of particles when the Particle System first spawns them. */
30
+ startRotation: ParticleCurve;
31
+ /** The initial rotation of particles around the x-axis when emitted.*/
32
+ startRotationX: ParticleCurve;
33
+ /** The initial rotation of particles around the y-axis when emitted. */
34
+ startRotationY: ParticleCurve;
35
+ /** The initial rotation of particles around the z-axis when emitted. */
36
+ startRotationZ: ParticleCurve;
37
+ /** Makes some particles spin in the opposite direction. */
38
+ flipRotation: number;
39
+ /** The mode of start color */
40
+ startColor: ParticleGradient;
41
+ /** A scale that this Particle System applies to gravity, defined by Physics.gravity. */
42
+ gravityModifier: ParticleCurve;
43
+ /** This selects the space in which to simulate particles. It can be either world or local space. */
44
+ simulationSpace: ParticleSimulationSpace;
45
+ /** Override the default playback speed of the Particle System. */
46
+ simulationSpeed: number;
47
+ /** Control how the Particle System applies its Transform component to the particles it emits. */
48
+ scalingMode: ParticleScaleMode;
49
+ /** If set to true, the Particle System automatically begins to play on startup. */
50
+ playOnAwake: boolean;
51
+ private _bufferMaxParticles;
52
+ private _particleSystem;
53
+ /**
54
+ * Max particles count.
55
+ */
56
+ get maxParticles(): number;
57
+ set maxParticles(value: number);
58
+ constructor(particleSystem: ParticleSystem);
59
+ }
@@ -0,0 +1,27 @@
1
+ import { IClone } from "@galacean/engine-design";
2
+ import { ParticleCurveMode } from "../enums/ParticleCurveMode";
3
+ /**
4
+ * Particle curve.
5
+ */
6
+ export declare class ParticleCurve implements IClone {
7
+ /** The curve mode. */
8
+ mode: ParticleCurveMode;
9
+ constant: number;
10
+ constantMin: number;
11
+ constantMax: number;
12
+ /**
13
+ * Query the curve value at the specified time.
14
+ * @param time - Normalized time at which to evaluate the curve, Valid when `mode` is set to `Curve` or `TwoCurves`
15
+ * @param lerpFactor - Lerp factor between two constants or curves, Valid when `mode` is set to `TwoConstants` or `TwoCurves`
16
+ * @returns - The result curve value
17
+ */
18
+ evaluate(time: number, lerpFactor: number): number;
19
+ /**
20
+ * @inheritDoc
21
+ */
22
+ cloneTo(destEmission: ParticleCurve): void;
23
+ /**
24
+ * @inheritDoc
25
+ */
26
+ clone(): ParticleCurve;
27
+ }
@@ -0,0 +1,28 @@
1
+ import { IClone } from "@galacean/engine-design";
2
+ import { Color } from "@galacean/engine-math";
3
+ import { ParticleGradientMode } from "../enums/ParticleGradientMode";
4
+ /**
5
+ * Particle curve.
6
+ */
7
+ export declare class ParticleGradient implements IClone {
8
+ /** The curve mode. */
9
+ mode: ParticleGradientMode;
10
+ color: Color;
11
+ colorMin: Color;
12
+ colorMax: Color;
13
+ /**
14
+ * Query the color at the specified time.
15
+ * @param time - Normalized time at which to evaluate the gradient, Valid when `mode` is set to `Gradient` or `TwoGradients`
16
+ * @param lerpFactor - Lerp factor between two colors or gradients, Valid when `mode` is set to `TwoColors` or `TwoGradients`
17
+ * @param out - The result color
18
+ */
19
+ evaluate(time: number, lerpFactor: number, out: Color): void;
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ cloneTo(destEmission: ParticleGradient): void;
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ clone(): ParticleGradient;
28
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Shape module of `ParticleSystem`.
3
+ */
4
+ export declare class ShapeModule {
5
+ /** Specifies whether the Shape Module is enabled or disabled. */
6
+ enabled: boolean;
7
+ }
@@ -0,0 +1,28 @@
1
+ import { IClone } from "@galacean/engine-design";
2
+ import { BoundingBox, Rand } from "@galacean/engine-math";
3
+ import { ParticleShapeType } from "./enums/ParticleShapeType";
4
+ /**
5
+ * Configures the initial positions and directions of particles.
6
+ */
7
+ export declare class BaseShape implements IClone {
8
+ /** The type of shape to emit particles from. */
9
+ shapeType: ParticleShapeType;
10
+ /** Specifies whether the ShapeModule is enabled or disabled. */
11
+ enable: boolean;
12
+ /** Randomizes the starting direction of particles. */
13
+ randomDirectionAmount: number;
14
+ protected _rand: Rand;
15
+ constructor(randSeed?: number);
16
+ /**
17
+ * @override
18
+ * @inheritDoc
19
+ */
20
+ cloneTo(destShape: BaseShape): void;
21
+ /**
22
+ * @override
23
+ * @inheritDoc
24
+ */
25
+ clone(): BaseShape;
26
+ protected _getShapeBoundBox(boundBox: BoundingBox): void;
27
+ protected _getSpeedBoundBox(boundBox: BoundingBox): void;
28
+ }
@@ -0,0 +1,20 @@
1
+ import { BoundingBox, Vector3 } from "@galacean/engine-math";
2
+ import { BaseShape } from "./BaseShape";
3
+ /**
4
+ * Box emitter shape
5
+ */
6
+ export declare class BoxShape extends BaseShape {
7
+ /** Thickness of the box to emit particles from. */
8
+ boxThickness: Vector3;
9
+ constructor();
10
+ /**
11
+ * @inheritDoc
12
+ */
13
+ protected _getShapeBoundBox(boundBox: BoundingBox): void;
14
+ /**
15
+ * @inheritDoc
16
+ */
17
+ protected _getSpeedBoundBox(boundBox: BoundingBox): void;
18
+ cloneTo(destShape: BoxShape): void;
19
+ clone(): BoxShape;
20
+ }
@@ -0,0 +1,27 @@
1
+ import { BoundingBox, Vector2, Vector3 } from "@galacean/engine-math";
2
+ import { BaseShape } from "./BaseShape";
3
+ import { ParticleShapeMultiModeValue } from "./enums/ParticleShapeMultiModeValue";
4
+ /**
5
+ * Circle Particle Emitter
6
+ */
7
+ export declare class CircleShape extends BaseShape {
8
+ protected static _tempPositionPoint: Vector2;
9
+ /** Radius of the shape to emit particles from. */
10
+ radius: number;
11
+ /** Angle of the circle arc to emit particles from. */
12
+ arc: number;
13
+ /** The mode to generate particles around the arc. */
14
+ arcMode: ParticleShapeMultiModeValue;
15
+ constructor();
16
+ /**
17
+ * @inheritDoc
18
+ */
19
+ protected _getShapeBoundBox(boundBox: BoundingBox): void;
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ protected _getSpeedBoundBox(boundBox: BoundingBox): void;
24
+ _generatePositionAndDirection(position: Vector3, direction: Vector3): void;
25
+ cloneTo(destShape: CircleShape): void;
26
+ clone(): CircleShape;
27
+ }
@@ -0,0 +1,35 @@
1
+ import { BoundingBox, Vector2, Vector3 } from "@galacean/engine-math";
2
+ import { BaseShape } from "./BaseShape";
3
+ export declare enum ConeEmitType {
4
+ Base = 0,
5
+ BaseShell = 1,
6
+ Volume = 2,
7
+ VolumeShell = 3
8
+ }
9
+ /**
10
+ * Cone particle emitter
11
+ */
12
+ export declare class ConeShape extends BaseShape {
13
+ protected static _tempPositionPoint: Vector2;
14
+ protected static _tempDirectionPoint: Vector2;
15
+ /** Angle of the cone to emit particles from. */
16
+ angle: number;
17
+ /** Radius of the shape to emit particles from. */
18
+ radius: number;
19
+ /** Length of the cone to emit particles from. */
20
+ length: number;
21
+ /** Cone emitter subtype */
22
+ emitType: ConeEmitType;
23
+ constructor();
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ protected _getShapeBoundBox(boundBox: BoundingBox): void;
28
+ /**
29
+ * @inheritDoc
30
+ */
31
+ protected _getSpeedBoundBox(boundBox: BoundingBox): void;
32
+ _generatePositionAndDirection(position: Vector3, direction: Vector3): void;
33
+ cloneTo(destShape: ConeShape): void;
34
+ clone(): ConeShape;
35
+ }
@@ -0,0 +1,23 @@
1
+ import { BoundingBox, Vector3 } from "@galacean/engine-math";
2
+ import { BaseShape } from "./BaseShape";
3
+ /**
4
+ * Hemisphere emitter
5
+ */
6
+ export declare class HemisphereShape extends BaseShape {
7
+ /** Radius of the shape to emit particles from. */
8
+ radius: number;
9
+ /** Whether emit from shell */
10
+ emitFromShell: boolean;
11
+ constructor();
12
+ /**
13
+ * @inheritDoc
14
+ */
15
+ protected _getShapeBoundBox(boundBox: BoundingBox): void;
16
+ /**
17
+ * @inheritDoc
18
+ */
19
+ protected _getSpeedBoundBox(boundBox: BoundingBox): void;
20
+ _generatePositionAndDirection(position: Vector3, direction: Vector3): void;
21
+ cloneTo(destShape: HemisphereShape): void;
22
+ clone(): HemisphereShape;
23
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ import { BoundingBox, Rand, Vector3 } from "@galacean/engine-math";
2
+ import { BaseShape } from "./BaseShape";
3
+ /**
4
+ * Sphere emitter
5
+ */
6
+ export declare class SphereShape extends BaseShape {
7
+ /** Radius of the shape to emit particles from. */
8
+ radius: number;
9
+ /** Whether emit from shell */
10
+ emitFromShell: boolean;
11
+ constructor();
12
+ /**
13
+ * @inheritDoc
14
+ */
15
+ protected _getShapeBoundBox(boundBox: BoundingBox): void;
16
+ /**
17
+ * @inheritDoc
18
+ */
19
+ protected _getSpeedBoundBox(boundBox: BoundingBox): void;
20
+ _generatePositionAndDirection(position: Vector3, direction: Vector3, rand?: Rand, randomSeeds?: Uint32Array): void;
21
+ cloneTo(destShape: SphereShape): void;
22
+ clone(): SphereShape;
23
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The mode used to generate new points in a shape.
3
+ */
4
+ export declare enum ParticleShapeMultiModeValue {
5
+ /** Generate points randomly. (Default) */
6
+ Random = 0,
7
+ /** Animate the emission point around the shape. */
8
+ Loop = 1
9
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * The emission shape.
3
+ */
4
+ export declare enum ParticleShapeType {
5
+ /** Emit from the volume of a box. */
6
+ Box = 0,
7
+ /** Emit from a circle. */
8
+ Circle = 1,
9
+ /** Emit from the base of a cone. */
10
+ Cone = 2,
11
+ /** Emit from a half-sphere. */
12
+ Hemisphere = 3,
13
+ /** Emit from a sphere. */
14
+ Sphere = 4
15
+ }
@@ -0,0 +1,5 @@
1
+ export { BoxShape } from "./BoxShape";
2
+ export { CircleShape } from "./CircleShape";
3
+ export { ConeShape, ConeEmitType } from "./ConeShape";
4
+ export { HemisphereShape } from "./HemisphereShape";
5
+ export { SphereShape } from "./SphereShape";
@@ -9,6 +9,7 @@ export declare class PhysicsScene {
9
9
  private static _collision;
10
10
  private _scene;
11
11
  private _restTime;
12
+ private _fixedTimeStep;
12
13
  private _colliders;
13
14
  private _gravity;
14
15
  private _nativePhysicsScene;
@@ -18,13 +19,16 @@ export declare class PhysicsScene {
18
19
  private _onTriggerEnter;
19
20
  private _onTriggerExit;
20
21
  private _onTriggerStay;
21
- /** The fixed time step in seconds at which physics are performed. */
22
- fixedTimeStep: number;
23
22
  /**
24
23
  * The gravity of physics scene.
25
24
  */
26
25
  get gravity(): Vector3;
27
26
  set gravity(value: Vector3);
27
+ /**
28
+ * The fixed time step in seconds at which physics are performed.
29
+ */
30
+ get fixedTimeStep(): number;
31
+ set fixedTimeStep(value: number);
28
32
  constructor(scene: Scene);
29
33
  /**
30
34
  * Casts a ray through the Scene and returns the first hit.