@galacean/engine-core 1.0.0-beta.9 → 1.0.1
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.
- package/dist/main.js +11947 -11300
- package/dist/main.js.map +1 -1
- package/dist/miniprogram.js +11947 -11300
- package/dist/module.js +11943 -11302
- package/dist/module.js.map +1 -1
- package/package.json +3 -3
- package/types/2d/sprite/Sprite.d.ts +3 -0
- package/types/2d/sprite/SpriteMask.d.ts +1 -2
- package/types/2d/sprite/SpriteRenderer.d.ts +1 -2
- package/types/2d/text/TextRenderer.d.ts +1 -2
- package/types/Camera.d.ts +5 -2
- package/types/ComponentsManager.d.ts +3 -2
- package/types/DisorderedArray.d.ts +4 -3
- package/types/Engine.d.ts +5 -3
- package/types/Entity.d.ts +1 -1
- package/types/RenderPipeline/ClassPool.d.ts +3 -1
- package/types/RenderPipeline/CullingResults.d.ts +1 -0
- package/types/RenderPipeline/DepthOnlyPass.d.ts +1 -0
- package/types/RenderPipeline/IPoolElement.d.ts +3 -0
- package/types/RenderPipeline/MeshRenderData.d.ts +3 -1
- package/types/RenderPipeline/PipelinePass.d.ts +16 -0
- package/types/RenderPipeline/PipelineUtils.d.ts +1 -0
- package/types/RenderPipeline/RenderElement.d.ts +3 -1
- package/types/RenderPipeline/RenderElementX.d.ts +12 -0
- package/types/RenderPipeline/SpriteMaskRenderData.d.ts +3 -1
- package/types/RenderPipeline/SpriteRenderData.d.ts +3 -1
- package/types/RenderPipeline/TextRenderData.d.ts +3 -1
- package/types/Renderer.d.ts +7 -3
- package/types/SafeLoopArray.d.ts +37 -0
- package/types/Scene.d.ts +10 -4
- package/types/Ticker.d.ts +30 -0
- package/types/Transform.d.ts +1 -0
- package/types/animation/Animator.d.ts +7 -4
- package/types/animation/animationCurve/AnimationRectCurve.d.ts +8 -0
- package/types/animation/animationCurve/AnimationRefCurve.d.ts +8 -0
- package/types/animation/enums/LayerState.d.ts +3 -1
- package/types/animation/internal/AnimationCurveLayerOwner.d.ts +1 -0
- package/types/animation/internal/AnimationCurveOwnerLayerData.d.ts +1 -0
- package/types/asset/LoadItem.d.ts +16 -9
- package/types/asset/request.d.ts +7 -3
- package/types/base/EventDispatcher.d.ts +1 -1
- package/types/enums/ActiveChangeFlag.d.ts +6 -0
- package/types/enums/DepthTextureMode.d.ts +7 -0
- package/types/graphic/Primitive.d.ts +1 -0
- package/types/graphic/PrimitiveVertexBinding.d.ts +1 -0
- package/types/graphic/SubMesh.d.ts +3 -1
- package/types/graphic/SubPrimitive.d.ts +9 -0
- package/types/index.d.ts +1 -1
- package/types/lighting/AmbientLight.d.ts +4 -1
- package/types/lighting/LightManager.d.ts +1 -0
- package/types/material/Material.d.ts +9 -2
- package/types/mesh/MeshRenderer.d.ts +1 -2
- package/types/particle/ParticleBufferUtils.d.ts +1 -0
- package/types/particle/ParticleData.d.ts +1 -0
- package/types/particle/ParticleGenerator.d.ts +72 -0
- package/types/particle/ParticleMaterial.d.ts +28 -0
- package/types/particle/ParticleMesh.d.ts +289 -0
- package/types/particle/ParticleShaderDeclaration.d.ts +1 -0
- package/types/particle/ParticleShaderMacro.d.ts +1 -0
- package/types/particle/ParticleShaderProperty.d.ts +1 -0
- package/types/particle/ParticleSystem.d.ts +41 -0
- package/types/particle/ParticleVertexElements.d.ts +1 -0
- package/types/particle/ParticleVertexUtils.d.ts +1 -0
- package/types/particle/enum/ParticleAnimationRowMode.d.ts +9 -0
- package/types/particle/enum/ParticleAnimationType.d.ts +9 -0
- package/types/particle/enum/ParticleCurveMode.d.ts +13 -0
- package/types/particle/enum/ParticleGradientMode.d.ts +13 -0
- package/types/particle/enum/ParticleRenderMode.d.ts +17 -0
- package/types/particle/enum/ParticleScaleMode.d.ts +11 -0
- package/types/particle/enum/ParticleShapeMultiModeValue.d.ts +9 -0
- package/types/particle/enum/ParticleShapeType.d.ts +15 -0
- package/types/particle/enum/ParticleSimulationSpace.d.ts +9 -0
- package/types/particle/enum/index.d.ts +9 -0
- package/types/particle/enums/ParticleCurveMode.d.ts +9 -0
- package/types/particle/enums/ParticleGradientMode.d.ts +9 -0
- package/types/particle/enums/ParticleRandomSubSeeds.d.ts +1 -0
- package/types/particle/enums/ParticleRenderMode.d.ts +17 -0
- package/types/particle/enums/ParticleScaleMode.d.ts +11 -0
- package/types/particle/enums/ParticleSimulationSpace.d.ts +9 -0
- package/types/particle/enums/ParticleStopMode.d.ts +6 -0
- package/types/particle/enums/attributes/BillboardParticleVertexAttribute.d.ts +1 -0
- package/types/particle/enums/attributes/MeshParticleVertexAttribute.d.ts +5 -0
- package/types/particle/enums/attributes/ParticleInstanceVertexAttribute.d.ts +1 -0
- package/types/particle/module/Burst.d.ts +38 -0
- package/types/particle/module/ColorGradient.d.ts +75 -0
- package/types/particle/module/ColorOverLifetimeModule.d.ts +20 -0
- package/types/particle/module/EmissionModule.d.ts +63 -0
- package/types/particle/module/FrameOverTime.d.ts +73 -0
- package/types/particle/module/ParticleCurve.d.ts +37 -0
- package/types/particle/module/RotationOverLifetimeModule.d.ts +21 -0
- package/types/particle/module/RotationVelocityGradient.d.ts +184 -0
- package/types/particle/module/SizeGradient.d.ts +151 -0
- package/types/particle/module/SizeOverLifetimeModule.d.ts +21 -0
- package/types/particle/module/StartFrame.d.ts +46 -0
- package/types/particle/module/TextureSheetAnimationModule.d.ts +37 -0
- package/types/particle/module/VelocityGradient.d.ts +110 -0
- package/types/particle/module/VelocityOverLifetimeModule.d.ts +22 -0
- package/types/particle/module/index.d.ts +15 -0
- package/types/particle/module/shape/BaseShape.d.ts +26 -0
- package/types/particle/module/shape/BoxShape.d.ts +20 -0
- package/types/particle/module/shape/CircleShape.d.ts +27 -0
- package/types/particle/module/shape/ConeShape.d.ts +35 -0
- package/types/particle/module/shape/HemisphereShape.d.ts +23 -0
- package/types/particle/module/shape/ShapeUtils.d.ts +1 -0
- package/types/particle/module/shape/SphereShape.d.ts +23 -0
- package/types/particle/module/shape/index.d.ts +5 -0
- package/types/particle/modules/Burst.d.ts +14 -0
- package/types/particle/modules/ColorOverLifetimeModule.d.ts +20 -0
- package/types/particle/modules/EmissionModule.d.ts +45 -0
- package/types/particle/modules/MainModule.d.ts +68 -0
- package/types/particle/modules/ParticleCompositeCurve.d.ts +56 -0
- package/types/particle/modules/ParticleCompositeGradient.d.ts +55 -0
- package/types/particle/modules/ParticleCurve.d.ts +56 -0
- package/types/particle/modules/ParticleGeneratorModule.d.ts +12 -0
- package/types/particle/modules/ParticleGradient.d.ts +94 -0
- package/types/particle/modules/RotationOverLifetimeModule.d.ts +34 -0
- package/types/particle/modules/ShapeModule.d.ts +9 -0
- package/types/particle/modules/SizeOverLifetimeModule.d.ts +34 -0
- package/types/particle/modules/TextureSheetAnimationModule.d.ts +42 -0
- package/types/particle/modules/VelocityOverLifetimeModule.d.ts +34 -0
- package/types/particle/modules/shape/BaseShape.d.ts +12 -0
- package/types/particle/modules/shape/BoxShape.d.ts +11 -0
- package/types/particle/modules/shape/CircleShape.d.ts +17 -0
- package/types/particle/modules/shape/ConeShape.d.ts +28 -0
- package/types/particle/modules/shape/HemisphereShape.d.ts +9 -0
- package/types/particle/modules/shape/ShapeUtils.d.ts +1 -0
- package/types/particle/modules/shape/SphereShape.d.ts +9 -0
- package/types/particle/modules/shape/enums/ParticleShapeArcMode.d.ts +9 -0
- package/types/particle/modules/shape/enums/ParticleShapeMultiModeValue.d.ts +9 -0
- package/types/particle/modules/shape/enums/ParticleShapeType.d.ts +15 -0
- package/types/particle/modules/shape/index.d.ts +6 -0
- package/types/particle/moudules/Burst.d.ts +25 -0
- package/types/particle/moudules/Emission.d.ts +47 -0
- package/types/particle/moudules/EmissionModule.d.ts +49 -0
- package/types/particle/moudules/MainModule.d.ts +59 -0
- package/types/particle/moudules/ParticleCurve.d.ts +27 -0
- package/types/particle/moudules/ParticleGradient.d.ts +28 -0
- package/types/particle/moudules/ShapeModule.d.ts +7 -0
- package/types/particle/moudules/shape/BaseShape.d.ts +28 -0
- package/types/particle/moudules/shape/BoxShape.d.ts +20 -0
- package/types/particle/moudules/shape/CircleShape.d.ts +27 -0
- package/types/particle/moudules/shape/ConeShape.d.ts +35 -0
- package/types/particle/moudules/shape/HemisphereShape.d.ts +23 -0
- package/types/particle/moudules/shape/ShapeUtils.d.ts +1 -0
- package/types/particle/moudules/shape/SphereShape.d.ts +23 -0
- package/types/particle/moudules/shape/enums/ParticleShapeMultiModeValue.d.ts +9 -0
- package/types/particle/moudules/shape/enums/ParticleShapeType.d.ts +15 -0
- package/types/particle/moudules/shape/index.d.ts +5 -0
- package/types/physics/PhysicsManager.d.ts +4 -2
- package/types/physics/PhysicsScene.d.ts +79 -0
- package/types/shader/enums/RenderStateElementKey.d.ts +60 -0
- package/types/shader/index.d.ts +1 -0
- package/types/shader/state/index.d.ts +6 -0
- package/types/shaderlib/particle/index.d.ts +14 -0
- package/types/shadow/PipelinePass.d.ts +16 -0
- package/types/sky/Sky.d.ts +12 -4
- package/types/texture/Texture.d.ts +6 -0
- package/types/texture/Texture2D.d.ts +3 -1
- package/types/texture/enums/TextureUsage.d.ts +9 -0
- package/types/texture/index.d.ts +1 -0
- package/types/utils/BoolUpdateFlag.d.ts +12 -0
- package/types/utils/DisorderedArray.d.ts +18 -0
- package/types/utils/SafeLoopArray.d.ts +41 -0
- package/types/utils/UpdateFlag.d.ts +20 -0
- package/types/utils/UpdateFlagManager.d.ts +1 -0
- package/types/utils/Utils.d.ts +31 -0
- package/types/xr/XRManager.d.ts +31 -0
- package/types/xr/component/XRPoseDriver.d.ts +10 -0
- package/types/xr/data/XRCamera.d.ts +6 -0
- package/types/xr/data/XRDevice.d.ts +9 -0
- package/types/xr/data/XRHandle.d.ts +10 -0
- package/types/xr/enum/EnumXRButton.d.ts +5 -0
- package/types/xr/enum/EnumXRDevicePhase.d.ts +4 -0
- package/types/xr/enum/EnumXRFeature.d.ts +9 -0
- package/types/xr/enum/EnumXRInputSource.d.ts +8 -0
- package/types/xr/enum/EnumXRMode.d.ts +7 -0
- package/types/xr/enum/EnumXRSubsystem.d.ts +4 -0
- package/types/xr/enum/EnumXRTrackingMode.d.ts +7 -0
- package/types/xr/feature/XRCameraManager.d.ts +21 -0
- package/types/xr/feature/XRFeature.d.ts +29 -0
- package/types/xr/feature/XRImageTrackManager.d.ts +10 -0
- package/types/xr/feature/XRInputManager.d.ts +16 -0
- package/types/xr/index.d.ts +18 -0
- package/types/xr/provider/XRProvider.d.ts +19 -0
- package/types/xr/subsystem/XRInputSubsystem.d.ts +5 -0
- package/types/xr/subsystem/XRSubsystem.d.ts +30 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { ICustomClone } from "../../clone/ComponentCloner";
|
|
2
|
+
import { ParticleScaleMode } from "../enums/ParticleScaleMode";
|
|
3
|
+
import { ParticleSimulationSpace } from "../enums/ParticleSimulationSpace";
|
|
4
|
+
import { ParticleCompositeCurve } from "./ParticleCompositeCurve";
|
|
5
|
+
import { ParticleCompositeGradient } from "./ParticleCompositeGradient";
|
|
6
|
+
export declare class MainModule implements ICustomClone {
|
|
7
|
+
private static _tempVector40;
|
|
8
|
+
private static _vector3One;
|
|
9
|
+
private static readonly _positionScale;
|
|
10
|
+
private static readonly _sizeScale;
|
|
11
|
+
private static readonly _worldPosition;
|
|
12
|
+
private static readonly _worldRotation;
|
|
13
|
+
private static readonly _gravity;
|
|
14
|
+
private static readonly _simulationSpace;
|
|
15
|
+
private static readonly _startRotation3D;
|
|
16
|
+
private static readonly _scaleMode;
|
|
17
|
+
/** The duration of the Particle Generator in seconds. */
|
|
18
|
+
duration: number;
|
|
19
|
+
/** Specifies whether the Particle Generator loops. */
|
|
20
|
+
isLoop: boolean;
|
|
21
|
+
/** Start delay in seconds. */
|
|
22
|
+
startDelay: ParticleCompositeCurve;
|
|
23
|
+
/** The initial lifetime of particles when emitted. */
|
|
24
|
+
startLifetime: ParticleCompositeCurve;
|
|
25
|
+
/** The initial speed of particles when the Particle Generator first spawns them. */
|
|
26
|
+
startSpeed: ParticleCompositeCurve;
|
|
27
|
+
/** A flag to enable specifying particle size individually for each axis. */
|
|
28
|
+
startSize3D: boolean;
|
|
29
|
+
/** The initial size of particles when the Particle Generator first spawns them. */
|
|
30
|
+
startSize: ParticleCompositeCurve;
|
|
31
|
+
/** The initial size of particles along the x-axis when the Particle Generator first spawns them. */
|
|
32
|
+
startSizeX: ParticleCompositeCurve;
|
|
33
|
+
/** The initial size of particles along the y-axis when the Particle Generator first spawns them. */
|
|
34
|
+
startSizeY: ParticleCompositeCurve;
|
|
35
|
+
/** The initial size of particles along the z-axis when the Particle Generator first spawns them. */
|
|
36
|
+
startSizeZ: ParticleCompositeCurve;
|
|
37
|
+
/** A flag to enable 3D particle rotation. */
|
|
38
|
+
startRotation3D: boolean;
|
|
39
|
+
/** The initial rotation of particles when the Particle Generator first spawns them. */
|
|
40
|
+
startRotation: ParticleCompositeCurve;
|
|
41
|
+
/** The initial rotation of particles around the x-axis when emitted.*/
|
|
42
|
+
startRotationX: ParticleCompositeCurve;
|
|
43
|
+
/** The initial rotation of particles around the y-axis when emitted. */
|
|
44
|
+
startRotationY: ParticleCompositeCurve;
|
|
45
|
+
startRotationZ: ParticleCompositeCurve;
|
|
46
|
+
/** Makes some particles spin in the opposite direction. */
|
|
47
|
+
flipRotation: number;
|
|
48
|
+
/** The mode of start color */
|
|
49
|
+
startColor: ParticleCompositeGradient;
|
|
50
|
+
/** A scale that this Particle Generator applies to gravity, defined by Physics.gravity. */
|
|
51
|
+
gravityModifier: ParticleCompositeCurve;
|
|
52
|
+
/** This selects the space in which to simulate particles. It can be either world or local space. */
|
|
53
|
+
simulationSpace: ParticleSimulationSpace;
|
|
54
|
+
/** Override the default playback speed of the Particle Generator. */
|
|
55
|
+
simulationSpeed: number;
|
|
56
|
+
/** Control how the Particle Generator applies its Transform component to the particles it emits. */
|
|
57
|
+
scalingMode: ParticleScaleMode;
|
|
58
|
+
/** If set to true, the Particle Generator automatically begins to play on startup. */
|
|
59
|
+
playOnEnabled: boolean;
|
|
60
|
+
private _maxParticles;
|
|
61
|
+
private _generator;
|
|
62
|
+
private _gravity;
|
|
63
|
+
/**
|
|
64
|
+
* Max particles count.
|
|
65
|
+
*/
|
|
66
|
+
get maxParticles(): number;
|
|
67
|
+
set maxParticles(value: number);
|
|
68
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ParticleCurveMode } from "../enums/ParticleCurveMode";
|
|
2
|
+
import { ParticleCurve } from "./ParticleCurve";
|
|
3
|
+
/**
|
|
4
|
+
* Particle composite curve.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ParticleCompositeCurve {
|
|
7
|
+
/** The curve mode. */
|
|
8
|
+
mode: ParticleCurveMode;
|
|
9
|
+
/** The min constant value used by the curve if mode is set to `TwoConstants`.*/
|
|
10
|
+
constantMin: number;
|
|
11
|
+
/** The max constant value used by the curve if mode is set to `TwoConstants`.*/
|
|
12
|
+
constantMax: number;
|
|
13
|
+
/** The min curve used by the curve if mode is set to `TwoCurves`. */
|
|
14
|
+
curveMin: ParticleCurve;
|
|
15
|
+
/** The max curve used by the curve if mode is set to `TwoCurves`. */
|
|
16
|
+
curveMax: ParticleCurve;
|
|
17
|
+
/**
|
|
18
|
+
* The constant value used by the curve if mode is set to `Constant`.
|
|
19
|
+
*/
|
|
20
|
+
get constant(): number;
|
|
21
|
+
set constant(value: number);
|
|
22
|
+
/**
|
|
23
|
+
* The curve used by the curve if mode is set to `Curve`.
|
|
24
|
+
*/
|
|
25
|
+
get curve(): ParticleCurve;
|
|
26
|
+
set curve(value: ParticleCurve);
|
|
27
|
+
/**
|
|
28
|
+
* Create a particle curve that generates a constant value.
|
|
29
|
+
* @param constant - The constant value
|
|
30
|
+
*/
|
|
31
|
+
constructor(constant: number);
|
|
32
|
+
/**
|
|
33
|
+
* Create a particle curve that can generate values between a minimum constant and a maximum constant.
|
|
34
|
+
* @param constantMin - The min constant value
|
|
35
|
+
* @param constantMax - The max constant value
|
|
36
|
+
*/
|
|
37
|
+
constructor(constantMin: number, constantMax: number);
|
|
38
|
+
/**
|
|
39
|
+
* Create a particle composite curve by a curve.
|
|
40
|
+
* @param curve - The curve
|
|
41
|
+
*/
|
|
42
|
+
constructor(curve: ParticleCurve);
|
|
43
|
+
/**
|
|
44
|
+
* Create a particle composite curve by min and max curves.
|
|
45
|
+
* @param curveMin - The min curve
|
|
46
|
+
* @param curveMax - The max curve
|
|
47
|
+
*/
|
|
48
|
+
constructor(curveMin: ParticleCurve, curveMax: ParticleCurve);
|
|
49
|
+
/**
|
|
50
|
+
* Query the value at the specified time.
|
|
51
|
+
* @param time - Normalized time at which to evaluate the curve, Valid when `mode` is set to `Curve` or `TwoCurves`
|
|
52
|
+
* @param lerpFactor - Lerp factor between two constants or curves, Valid when `mode` is set to `TwoConstants` or `TwoCurves`
|
|
53
|
+
* @returns - The result curve value
|
|
54
|
+
*/
|
|
55
|
+
evaluate(time: number, lerpFactor: number): number;
|
|
56
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Color } from "@galacean/engine-math";
|
|
2
|
+
import { ParticleGradientMode } from "../enums/ParticleGradientMode";
|
|
3
|
+
import { ParticleGradient } from "./ParticleGradient";
|
|
4
|
+
/**
|
|
5
|
+
* Particle composite gradient.
|
|
6
|
+
*/
|
|
7
|
+
export declare class ParticleCompositeGradient {
|
|
8
|
+
/** The gradient mode. */
|
|
9
|
+
mode: ParticleGradientMode;
|
|
10
|
+
constantMin: Color;
|
|
11
|
+
constantMax: Color;
|
|
12
|
+
/** The min gradient used by the gradient if mode is set to `Gradient`. */
|
|
13
|
+
gradientMin: ParticleGradient;
|
|
14
|
+
/** The max gradient used by the gradient if mode is set to `Gradient`. */
|
|
15
|
+
gradientMax: ParticleGradient;
|
|
16
|
+
/**
|
|
17
|
+
* The constant color used by the gradient if mode is set to `Constant`.
|
|
18
|
+
*/
|
|
19
|
+
get constant(): Color;
|
|
20
|
+
set constant(value: Color);
|
|
21
|
+
/**
|
|
22
|
+
* The gradient used by the gradient if mode is set to `Gradient`.
|
|
23
|
+
*/
|
|
24
|
+
get gradient(): ParticleGradient;
|
|
25
|
+
set gradient(value: ParticleGradient);
|
|
26
|
+
/**
|
|
27
|
+
* Create a particle gradient that generates a constant color.
|
|
28
|
+
* @param constant - The constant color
|
|
29
|
+
*/
|
|
30
|
+
constructor(constant: Color);
|
|
31
|
+
/**
|
|
32
|
+
* Create a particle gradient that can generate color between a minimum constant and a maximum constant.
|
|
33
|
+
* @param constantMin - The min constant color
|
|
34
|
+
* @param constantMax - The max constant color
|
|
35
|
+
*/
|
|
36
|
+
constructor(constantMin: Color, constantMax: Color);
|
|
37
|
+
/**
|
|
38
|
+
* Create a particle gradient that generates a color from a gradient.
|
|
39
|
+
* @param gradient - The gradient
|
|
40
|
+
*/
|
|
41
|
+
constructor(gradient: ParticleGradient);
|
|
42
|
+
/**
|
|
43
|
+
* Create a particle gradient that can generate color from a minimum gradient and a maximum gradient.
|
|
44
|
+
* @param gradientMin - The min gradient
|
|
45
|
+
*
|
|
46
|
+
*/
|
|
47
|
+
constructor(gradientMin: ParticleGradient, gradientMax: ParticleGradient);
|
|
48
|
+
/**
|
|
49
|
+
* Query the color at the specified time.
|
|
50
|
+
* @param time - Normalized time at which to evaluate the gradient, Valid when `mode` is set to `Gradient` or `TwoGradients`
|
|
51
|
+
* @param lerpFactor - Lerp factor between two constants or gradients, Valid when `mode` is set to `TwoConstants` or `TwoGradients`
|
|
52
|
+
* @param out - The result color
|
|
53
|
+
*/
|
|
54
|
+
evaluate(time: number, lerpFactor: number, out: Color): void;
|
|
55
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Particle curve.
|
|
3
|
+
*/
|
|
4
|
+
export declare class ParticleCurve {
|
|
5
|
+
private _keys;
|
|
6
|
+
private _typeArray;
|
|
7
|
+
private _typeArrayDirty;
|
|
8
|
+
/**
|
|
9
|
+
* The keys of the curve.
|
|
10
|
+
*/
|
|
11
|
+
get keys(): ReadonlyArray<CurveKey>;
|
|
12
|
+
/**
|
|
13
|
+
* Create a new particle curve.
|
|
14
|
+
* @param keys - The keys of the curve
|
|
15
|
+
*/
|
|
16
|
+
constructor(...keys: CurveKey[]);
|
|
17
|
+
/**
|
|
18
|
+
* Add an key to the curve.
|
|
19
|
+
* @param key - The key
|
|
20
|
+
*/
|
|
21
|
+
addKey(key: CurveKey): void;
|
|
22
|
+
/**
|
|
23
|
+
* Add an key to the curve.
|
|
24
|
+
* @param time - The key time
|
|
25
|
+
* @param value - The key value
|
|
26
|
+
*/
|
|
27
|
+
addKey(time: number, value: number): void;
|
|
28
|
+
/**
|
|
29
|
+
* Remove a key from the curve.
|
|
30
|
+
* @param index - The remove key index
|
|
31
|
+
*/
|
|
32
|
+
removeKey(index: number): void;
|
|
33
|
+
/**
|
|
34
|
+
* Set the keys of the curve.
|
|
35
|
+
* @param keys - The keys
|
|
36
|
+
*/
|
|
37
|
+
setKeys(keys: CurveKey[]): void;
|
|
38
|
+
private _addKey;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The key of the curve.
|
|
42
|
+
*/
|
|
43
|
+
export declare class CurveKey {
|
|
44
|
+
/** The key time. */
|
|
45
|
+
time: number;
|
|
46
|
+
/** The key value. */
|
|
47
|
+
value: number;
|
|
48
|
+
/**
|
|
49
|
+
* Create a new key.
|
|
50
|
+
*/
|
|
51
|
+
constructor(
|
|
52
|
+
/** The key time. */
|
|
53
|
+
time: number,
|
|
54
|
+
/** The key value. */
|
|
55
|
+
value: number);
|
|
56
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ShaderData, ShaderMacro } from "../../shader";
|
|
2
|
+
import { ParticleGenerator } from "../ParticleGenerator";
|
|
3
|
+
/**
|
|
4
|
+
* Particle generator module.
|
|
5
|
+
*/
|
|
6
|
+
export declare abstract class ParticleGeneratorModule {
|
|
7
|
+
/** Specifies whether the module is enabled or not. */
|
|
8
|
+
enabled: boolean;
|
|
9
|
+
protected _generator: ParticleGenerator;
|
|
10
|
+
constructor(generator: ParticleGenerator);
|
|
11
|
+
protected _enableMacro(shaderData: ShaderData, lastEnableMacro: ShaderMacro, enableMacro: ShaderMacro): ShaderMacro;
|
|
12
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { Color } from "@galacean/engine-math";
|
|
2
|
+
/**
|
|
3
|
+
* Particle gradient.
|
|
4
|
+
*/
|
|
5
|
+
export declare class ParticleGradient {
|
|
6
|
+
private _colorKeys;
|
|
7
|
+
private _alphaKeys;
|
|
8
|
+
private _colorTypeArray;
|
|
9
|
+
private _alphaTypeArray;
|
|
10
|
+
private _colorTypeArrayDirty;
|
|
11
|
+
private _alphaTypeArrayDirty;
|
|
12
|
+
/**
|
|
13
|
+
* The color keys of the gradient.
|
|
14
|
+
*/
|
|
15
|
+
get colorKeys(): ReadonlyArray<GradientColorKey>;
|
|
16
|
+
/**
|
|
17
|
+
* The alpha keys of the gradient.
|
|
18
|
+
*/
|
|
19
|
+
get alphaKeys(): ReadonlyArray<GradientAlphaKey>;
|
|
20
|
+
/**
|
|
21
|
+
* Create a new particle gradient.
|
|
22
|
+
* @param colorKeys - The color keys of the gradient
|
|
23
|
+
* @param alphaKeys - The alpha keys of the gradient
|
|
24
|
+
*/
|
|
25
|
+
constructor(colorKeys?: GradientColorKey[], alphaKeys?: GradientAlphaKey[]);
|
|
26
|
+
/**
|
|
27
|
+
* Add a color key to the gradient.
|
|
28
|
+
* @param key - The key
|
|
29
|
+
*/
|
|
30
|
+
addColorKey(key: GradientColorKey): void;
|
|
31
|
+
/**
|
|
32
|
+
* Add a color key to the gradient.
|
|
33
|
+
* @param time - The key time
|
|
34
|
+
* @param color - The key color
|
|
35
|
+
*/
|
|
36
|
+
addColorKey(time: number, color: Color): void;
|
|
37
|
+
/**
|
|
38
|
+
* Add an alpha key to the gradient.
|
|
39
|
+
* @param key - The key
|
|
40
|
+
*/
|
|
41
|
+
addAlphaKey(key: GradientAlphaKey): void;
|
|
42
|
+
/**
|
|
43
|
+
* Add an alpha key to the gradient.
|
|
44
|
+
* @param time - The key time
|
|
45
|
+
* @param alpha - The key alpha
|
|
46
|
+
*/
|
|
47
|
+
addAlphaKey(time: number, alpha: number): void;
|
|
48
|
+
/**
|
|
49
|
+
* Remove a color key from the gradient.
|
|
50
|
+
* @param index - The remove color key index
|
|
51
|
+
*/
|
|
52
|
+
removeColorKey(index: number): void;
|
|
53
|
+
/**
|
|
54
|
+
* Remove an alpha key from the gradient.
|
|
55
|
+
* @param index - The remove alpha key index
|
|
56
|
+
*/
|
|
57
|
+
removeAlphaKey(index: number): void;
|
|
58
|
+
/**
|
|
59
|
+
* Set the keys of the gradient.
|
|
60
|
+
* @param colorKeys - The color keys
|
|
61
|
+
* @param alphaKeys - The alpha keys
|
|
62
|
+
*/
|
|
63
|
+
setKeys(colorKeys: GradientColorKey[], alphaKeys: GradientAlphaKey[]): void;
|
|
64
|
+
private _addKey;
|
|
65
|
+
private _removeKey;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The color key of the particle gradient.
|
|
69
|
+
*/
|
|
70
|
+
export declare class GradientColorKey {
|
|
71
|
+
/** The key time. */
|
|
72
|
+
time: number;
|
|
73
|
+
/** The key color. */
|
|
74
|
+
color: Color;
|
|
75
|
+
constructor(
|
|
76
|
+
/** The key time. */
|
|
77
|
+
time: number,
|
|
78
|
+
/** The key color. */
|
|
79
|
+
color: Color);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* The alpha key of the particle gradient.
|
|
83
|
+
*/
|
|
84
|
+
export declare class GradientAlphaKey {
|
|
85
|
+
/** The key time. */
|
|
86
|
+
time: number;
|
|
87
|
+
/** The key alpha. */
|
|
88
|
+
alpha: number;
|
|
89
|
+
constructor(
|
|
90
|
+
/** The key time. */
|
|
91
|
+
time: number,
|
|
92
|
+
/** The key alpha. */
|
|
93
|
+
alpha: number);
|
|
94
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ShaderMacro } from "../../shader/ShaderMacro";
|
|
2
|
+
import { ShaderProperty } from "../../shader/ShaderProperty";
|
|
3
|
+
import { ParticleCompositeCurve } from "./ParticleCompositeCurve";
|
|
4
|
+
import { ParticleGeneratorModule } from "./ParticleGeneratorModule";
|
|
5
|
+
/**
|
|
6
|
+
* Rotate particles throughout their lifetime.
|
|
7
|
+
*/
|
|
8
|
+
export declare class RotationOverLifetimeModule extends ParticleGeneratorModule {
|
|
9
|
+
static readonly _constantModeMacro: ShaderMacro;
|
|
10
|
+
static readonly _curveModeMacro: ShaderMacro;
|
|
11
|
+
static readonly _isSeparateMacro: ShaderMacro;
|
|
12
|
+
static readonly _isRandomTwoMacro: ShaderMacro;
|
|
13
|
+
static readonly _minConstantProperty: ShaderProperty;
|
|
14
|
+
static readonly _minCurveXProperty: ShaderProperty;
|
|
15
|
+
static readonly _minCurveYProperty: ShaderProperty;
|
|
16
|
+
static readonly _minCurveZProperty: ShaderProperty;
|
|
17
|
+
static readonly _maxConstantProperty: ShaderProperty;
|
|
18
|
+
static readonly _maxCurveXProperty: ShaderProperty;
|
|
19
|
+
static readonly _maxCurveYProperty: ShaderProperty;
|
|
20
|
+
static readonly _maxCurveZProperty: ShaderProperty;
|
|
21
|
+
/** Specifies whether the rotation is separate on each axis, when disabled only z axis is used. */
|
|
22
|
+
separateAxes: boolean;
|
|
23
|
+
/** Rotation over lifetime for z axis. */
|
|
24
|
+
rotationX: ParticleCompositeCurve;
|
|
25
|
+
/** Rotation over lifetime for z axis. */
|
|
26
|
+
rotationY: ParticleCompositeCurve;
|
|
27
|
+
/** Rotation over lifetime for z axis. */
|
|
28
|
+
rotationZ: ParticleCompositeCurve;
|
|
29
|
+
private _rotationMinConstant;
|
|
30
|
+
private _rotationMaxConstant;
|
|
31
|
+
private _enableSeparateMacro;
|
|
32
|
+
private _isCurveMacro;
|
|
33
|
+
private _isRandomTwoMacro;
|
|
34
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ParticleGeneratorModule } from "./ParticleGeneratorModule";
|
|
2
|
+
import { BaseShape } from "./shape/BaseShape";
|
|
3
|
+
/**
|
|
4
|
+
* Shape module of `ParticleGenerator`.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ShapeModule extends ParticleGeneratorModule {
|
|
7
|
+
/** The shape of the emitter. */
|
|
8
|
+
shape: BaseShape;
|
|
9
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ShaderMacro } from "../../shader/ShaderMacro";
|
|
2
|
+
import { ShaderProperty } from "../../shader/ShaderProperty";
|
|
3
|
+
import { ParticleCompositeCurve } from "./ParticleCompositeCurve";
|
|
4
|
+
import { ParticleGeneratorModule } from "./ParticleGeneratorModule";
|
|
5
|
+
/**
|
|
6
|
+
* Size over lifetime module.
|
|
7
|
+
*/
|
|
8
|
+
export declare class SizeOverLifetimeModule extends ParticleGeneratorModule {
|
|
9
|
+
static readonly _curveModeMacro: ShaderMacro;
|
|
10
|
+
static readonly _isSeparateMacro: ShaderMacro;
|
|
11
|
+
static readonly _isRandomTwoMacro: ShaderMacro;
|
|
12
|
+
static readonly _minCurveXProperty: ShaderProperty;
|
|
13
|
+
static readonly _minCurveYProperty: ShaderProperty;
|
|
14
|
+
static readonly _minCurveZProperty: ShaderProperty;
|
|
15
|
+
static readonly _maxCurveXProperty: ShaderProperty;
|
|
16
|
+
static readonly _maxCurveYProperty: ShaderProperty;
|
|
17
|
+
static readonly _maxCurveZProperty: ShaderProperty;
|
|
18
|
+
/** Specifies whether the Size is separate on each axis. */
|
|
19
|
+
separateAxes: boolean;
|
|
20
|
+
/** Size curve over lifetime for x axis. */
|
|
21
|
+
sizeX: ParticleCompositeCurve;
|
|
22
|
+
/** Size curve over lifetime for y axis. */
|
|
23
|
+
sizeY: ParticleCompositeCurve;
|
|
24
|
+
/** Size curve over lifetime for z axis. */
|
|
25
|
+
sizeZ: ParticleCompositeCurve;
|
|
26
|
+
private _enableSeparateMacro;
|
|
27
|
+
private _isCurveMacro;
|
|
28
|
+
private _isRandomTwoMacro;
|
|
29
|
+
/**
|
|
30
|
+
* Size curve over lifetime.
|
|
31
|
+
*/
|
|
32
|
+
get size(): ParticleCompositeCurve;
|
|
33
|
+
set size(value: ParticleCompositeCurve);
|
|
34
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Vector2 } from "@galacean/engine-math";
|
|
2
|
+
import { ParticleCompositeCurve } from "./ParticleCompositeCurve";
|
|
3
|
+
import { ParticleGeneratorModule } from "./ParticleGeneratorModule";
|
|
4
|
+
/**
|
|
5
|
+
* Texture sheet animation module.
|
|
6
|
+
*/
|
|
7
|
+
export declare class TextureSheetAnimationModule extends ParticleGeneratorModule {
|
|
8
|
+
private static readonly _frameCurveMacro;
|
|
9
|
+
private static readonly _frameRandomCurvesMacro;
|
|
10
|
+
private static readonly _cycleCountProperty;
|
|
11
|
+
private static readonly _tillingParamsProperty;
|
|
12
|
+
private static readonly _frameMinCurveProperty;
|
|
13
|
+
private static readonly _frameMaxCurveProperty;
|
|
14
|
+
/** Start frame of the texture sheet. */
|
|
15
|
+
readonly startFrame: ParticleCompositeCurve;
|
|
16
|
+
/** Frame over time curve of the texture sheet. */
|
|
17
|
+
readonly frameOverTime: ParticleCompositeCurve;
|
|
18
|
+
/** Texture sheet animation type. */
|
|
19
|
+
type: TextureSheetAnimationType;
|
|
20
|
+
/** Cycle count. */
|
|
21
|
+
cycleCount: number;
|
|
22
|
+
private _tiling;
|
|
23
|
+
private _textureSheetMacro;
|
|
24
|
+
/**
|
|
25
|
+
* Tiling of the texture sheet.
|
|
26
|
+
* */
|
|
27
|
+
get tiling(): Vector2;
|
|
28
|
+
set tiling(value: Vector2);
|
|
29
|
+
/**
|
|
30
|
+
* @inheritDoc
|
|
31
|
+
*/
|
|
32
|
+
cloneTo(dest: TextureSheetAnimationModule): void;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Texture sheet animation type.
|
|
36
|
+
*/
|
|
37
|
+
export declare enum TextureSheetAnimationType {
|
|
38
|
+
/** Animate over the whole texture sheet from left to right, top to bottom. */
|
|
39
|
+
WholeSheet = 0,
|
|
40
|
+
/** Animate a single row in the sheet from left to right. */
|
|
41
|
+
SingleRow = 1
|
|
42
|
+
}
|
|
@@ -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 @@
|
|
|
1
|
+
export {};
|
|
@@ -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";
|