@galacean/effects-core 2.0.0-alpha.2 → 2.0.0-alpha.20
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/asset-loader.d.ts +8 -90
- package/dist/asset-manager.d.ts +1 -80
- package/dist/asset-migrations.d.ts +1 -3
- package/dist/binary-asset.d.ts +6 -0
- package/dist/canvas-pool.d.ts +10 -0
- package/dist/comp-vfx-item.d.ts +24 -10
- package/dist/components/component.d.ts +5 -5
- package/dist/components/effect-component.d.ts +1 -1
- package/dist/components/renderer-component.d.ts +1 -1
- package/dist/composition-source-manager.d.ts +7 -4
- package/dist/composition.d.ts +40 -35
- package/dist/constants.d.ts +1 -2
- package/dist/decorators.d.ts +5 -4
- package/dist/downloader.d.ts +2 -8
- package/dist/effects-object.d.ts +3 -2
- package/dist/engine.d.ts +11 -7
- package/dist/fallback/camera.d.ts +2 -0
- package/dist/fallback/index.d.ts +12 -0
- package/dist/fallback/interact.d.ts +2 -0
- package/dist/fallback/migration.d.ts +20 -0
- package/dist/fallback/particle.d.ts +2 -0
- package/dist/fallback/sprite.d.ts +3 -0
- package/dist/fallback/utils.d.ts +25 -0
- package/dist/gl/create-gl-context.d.ts +2 -1
- package/dist/gl/index.d.ts +3 -0
- package/dist/image-asset.d.ts +5 -0
- package/dist/index.d.ts +7 -4
- package/dist/index.js +19952 -20233
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +19602 -19878
- package/dist/index.mjs.map +1 -1
- package/dist/material/material.d.ts +18 -5
- package/dist/material/types.d.ts +0 -5
- package/dist/material/utils.d.ts +4 -4
- package/dist/math/bezier.d.ts +99 -0
- package/dist/math/keyframe-info.d.ts +39 -0
- package/dist/math/translate.d.ts +3 -2
- package/dist/math/utils.d.ts +6 -2
- package/dist/math/value-getter.d.ts +52 -26
- package/dist/pass-render-level.d.ts +3 -1
- package/dist/plugin-system.d.ts +3 -4
- package/dist/plugins/cal/animation-mixer-playable.d.ts +1 -1
- package/dist/plugins/cal/animation-playable-output.d.ts +1 -1
- package/dist/plugins/cal/animation-playable.d.ts +2 -1
- package/dist/plugins/cal/calculate-item.d.ts +5 -39
- package/dist/plugins/cal/calculate-vfx-item.d.ts +58 -12
- package/dist/plugins/cal/playable-graph.d.ts +73 -18
- package/dist/plugins/cal/timeline-asset.d.ts +27 -0
- package/dist/plugins/camera/camera-controller-node.d.ts +1 -12
- package/dist/plugins/index.d.ts +8 -3
- package/dist/plugins/interact/click-handler.d.ts +2 -2
- package/dist/plugins/interact/event-system.d.ts +0 -2
- package/dist/plugins/interact/interact-item.d.ts +1 -1
- package/dist/plugins/interact/interact-mesh.d.ts +1 -1
- package/dist/plugins/particle/particle-loader.d.ts +1 -1
- package/dist/plugins/particle/particle-mesh.d.ts +7 -7
- package/dist/plugins/particle/particle-system-renderer.d.ts +1 -1
- package/dist/plugins/particle/particle-system.d.ts +3 -3
- package/dist/plugins/particle/particle-vfx-item.d.ts +9 -3
- package/dist/plugins/particle/trail-mesh.d.ts +7 -7
- package/dist/plugins/plugin.d.ts +7 -8
- package/dist/plugins/sprite/sprite-item.d.ts +29 -15
- package/dist/plugins/sprite/sprite-mesh.d.ts +0 -4
- package/dist/plugins/text/index.d.ts +4 -0
- package/dist/plugins/text/text-item.d.ts +19 -5
- package/dist/plugins/timeline/playables/activation-mixer-playable.d.ts +7 -0
- package/dist/plugins/timeline/playables/sub-composition-clip-playable.d.ts +5 -0
- package/dist/plugins/timeline/playables/sub-composition-playable-asset.d.ts +5 -0
- package/dist/plugins/timeline/track.d.ts +73 -0
- package/dist/plugins/timeline/tracks/activation-track.d.ts +5 -0
- package/dist/plugins/timeline/tracks/sprite-color-track.d.ts +3 -0
- package/dist/plugins/timeline/tracks/sub-composition-track.d.ts +4 -0
- package/dist/plugins/timeline/tracks/transform-track.d.ts +3 -0
- package/dist/render/create-copy-shader.d.ts +1 -1
- package/dist/render/{frame-buffer.d.ts → framebuffer.d.ts} +7 -7
- package/dist/render/geometry.d.ts +14 -1
- package/dist/render/global-volume.d.ts +3 -0
- package/dist/render/gpu-capability.d.ts +6 -6
- package/dist/render/index.d.ts +3 -2
- package/dist/render/render-frame.d.ts +6 -6
- package/dist/render/render-pass.d.ts +10 -10
- package/dist/render/{render-buffer.d.ts → renderbuffer.d.ts} +4 -4
- package/dist/render/renderer.d.ts +7 -6
- package/dist/render/semantic-map.d.ts +14 -0
- package/dist/render/shader.d.ts +12 -5
- package/dist/scene.d.ts +82 -4
- package/dist/serialization-helper.d.ts +6 -4
- package/dist/shader/index.d.ts +0 -11
- package/dist/shape/shape.d.ts +1 -1
- package/dist/shape/sphere.d.ts +0 -3
- package/dist/template-image.d.ts +10 -0
- package/dist/texture/texture.d.ts +8 -0
- package/dist/texture/types.d.ts +2 -2
- package/dist/texture/utils.d.ts +2 -1
- package/dist/ticker.d.ts +2 -2
- package/dist/transform.d.ts +3 -3
- package/dist/utils/array.d.ts +1 -1
- package/dist/utils/device.d.ts +1 -0
- package/dist/utils/index.d.ts +28 -14
- package/dist/utils/text.d.ts +8 -0
- package/dist/vfx-item.d.ts +36 -54
- package/package.json +5 -5
- package/dist/plugins/cal/track.d.ts +0 -35
- package/dist/semantic-map.d.ts +0 -14
- package/dist/template-image/index.d.ts +0 -67
- package/dist/template-image/qcanvas-viewer.d.ts +0 -21
- package/dist/template-image/qtext.d.ts +0 -96
- package/dist/template-image/template-v1.d.ts +0 -27
- package/dist/template-image/text-metrics.d.ts +0 -18
- package/dist/utils/timeline-component.d.ts +0 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Matrix3, Matrix4, Quaternion, Vector2, Vector3, Vector4 } from '@galacean/effects-math/es/core/index';
|
|
2
|
-
import type { GlobalUniforms, Renderer, ShaderWithSource } from '../render';
|
|
1
|
+
import type { Matrix3, Matrix4, Quaternion, Vector2, Vector3, Vector4, Color } from '@galacean/effects-math/es/core/index';
|
|
2
|
+
import type { GlobalUniforms, Renderer, Shader, ShaderWithSource } from '../render';
|
|
3
3
|
import type { Texture } from '../texture';
|
|
4
4
|
import type { DestroyOptions, Disposable } from '../utils';
|
|
5
5
|
import type { UniformSemantic, UniformValue } from './types';
|
|
@@ -55,7 +55,9 @@ export interface MaterialProps {
|
|
|
55
55
|
* Material 抽象类
|
|
56
56
|
*/
|
|
57
57
|
export declare abstract class Material extends EffectsObject implements Disposable {
|
|
58
|
+
shader: Shader;
|
|
58
59
|
shaderSource: ShaderWithSource;
|
|
60
|
+
stringTags: Record<string, string>;
|
|
59
61
|
readonly uniformSemantics: Record<string, UniformSemantic>;
|
|
60
62
|
readonly renderType: MaterialRenderType;
|
|
61
63
|
readonly name: string;
|
|
@@ -247,6 +249,17 @@ export declare abstract class Material extends EffectsObject implements Disposab
|
|
|
247
249
|
* @param value - 要设置的 uniform 数据
|
|
248
250
|
*/
|
|
249
251
|
abstract setVector4(name: string, value: Vector4): void;
|
|
252
|
+
/**
|
|
253
|
+
* 获取 Material 的 Color 类型的 uniform 数据
|
|
254
|
+
* @param name
|
|
255
|
+
*/
|
|
256
|
+
abstract getColor(name: string): Color | null;
|
|
257
|
+
/**
|
|
258
|
+
* 设置 Color 类型的 uniform 的数据
|
|
259
|
+
* @param name - uniform 名称
|
|
260
|
+
* @param value - 要设置的 uniform 数据
|
|
261
|
+
*/
|
|
262
|
+
abstract setColor(name: string, value: Color): void;
|
|
250
263
|
/**
|
|
251
264
|
* 获取 Material 的 Quaternion 类型的 uniform 数据
|
|
252
265
|
* @param name
|
|
@@ -320,9 +333,9 @@ export declare abstract class Material extends EffectsObject implements Disposab
|
|
|
320
333
|
*/
|
|
321
334
|
abstract hasUniform(name: string): boolean;
|
|
322
335
|
/******** 预留接口,暂时不用实现 ***********************/
|
|
323
|
-
abstract
|
|
324
|
-
abstract
|
|
325
|
-
abstract
|
|
336
|
+
abstract enableMacro(keyword: string, value?: boolean | number): void;
|
|
337
|
+
abstract disableMacro(keyword: string): void;
|
|
338
|
+
abstract isMacroEnabled(keyword: string): boolean;
|
|
326
339
|
/***************************************************/
|
|
327
340
|
/**
|
|
328
341
|
* Material 的克隆方法(不接入滤镜,本方法可以不做实现)
|
package/dist/material/types.d.ts
CHANGED
|
@@ -33,11 +33,6 @@ export interface MaterialStates extends MaterialBlendingStates, MaterialStencilS
|
|
|
33
33
|
polygonOffset?: [factor: number, units: number];
|
|
34
34
|
polygonOffsetFill?: boolean;
|
|
35
35
|
}
|
|
36
|
-
export interface FilterMaterialStates extends MaterialStates {
|
|
37
|
-
blendMode?: spec.BlendingMode;
|
|
38
|
-
side?: spec.SideMode;
|
|
39
|
-
maskMode?: spec.MaskMode;
|
|
40
|
-
}
|
|
41
36
|
export interface MaterialDataBlockDestroyOptions {
|
|
42
37
|
textures?: DestroyOptions;
|
|
43
38
|
}
|
package/dist/material/utils.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import * as spec from '@galacean/effects-specification';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ShaderMacros } from '../render';
|
|
3
3
|
import type { Material } from './material';
|
|
4
4
|
import { ShaderType } from './types';
|
|
5
5
|
export declare function valIfUndefined<T>(val: any, def: T): T;
|
|
6
6
|
export declare function getPreMultiAlpha(blending?: number): number;
|
|
7
7
|
/**
|
|
8
8
|
* 生成 shader,检测到 WebGL1 上下文会降级
|
|
9
|
-
* @param
|
|
9
|
+
* @param macros - 宏定义数组
|
|
10
10
|
* @param shader - 原始 shader 文本
|
|
11
11
|
* @param shaderType - shader 类型
|
|
12
12
|
* @return 去除版本号的 shader 文本
|
|
13
13
|
*/
|
|
14
|
-
export declare function
|
|
14
|
+
export declare function createShaderWithMacros(macros: ShaderMacros, shader: string, shaderType: ShaderType, level: number): string;
|
|
15
15
|
export declare function setBlendMode(material: Material, blendMode?: number): void;
|
|
16
16
|
export declare function setSideMode(material: Material, side: spec.SideMode): void;
|
|
17
|
-
export declare function setMaskMode(material: Material, maskMode:
|
|
17
|
+
export declare function setMaskMode(material: Material, maskMode: spec.MaskMode): void;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type * as spec from '@galacean/effects-specification';
|
|
2
|
+
import { Vector2 } from '@galacean/effects-math/es/core/vector2';
|
|
3
|
+
import { Vector3 } from '@galacean/effects-math/es/core/vector3';
|
|
4
|
+
import { Quaternion } from '@galacean/effects-math/es/core/quaternion';
|
|
5
|
+
export declare class BezierLengthData {
|
|
6
|
+
points: Array<{
|
|
7
|
+
partialLength: number;
|
|
8
|
+
point: Vector3;
|
|
9
|
+
}>;
|
|
10
|
+
totalLength: number;
|
|
11
|
+
constructor(points: Array<{
|
|
12
|
+
partialLength: number;
|
|
13
|
+
point: Vector3;
|
|
14
|
+
}>, totalLength: number);
|
|
15
|
+
}
|
|
16
|
+
export declare const BezierMap: Record<string, BezierEasing>;
|
|
17
|
+
export declare const BezierDataMap: Record<string, BezierLengthData>;
|
|
18
|
+
/**
|
|
19
|
+
* @param p1 起始点
|
|
20
|
+
* @param p2 终点
|
|
21
|
+
* @param p3 起始控制点
|
|
22
|
+
* @param p4 终止控制点
|
|
23
|
+
* @returns
|
|
24
|
+
*/
|
|
25
|
+
export declare function buildBezierData(p1: Vector3, p2: Vector3, p3: Vector3, p4: Vector3): {
|
|
26
|
+
data: BezierLengthData;
|
|
27
|
+
interval: Vector3;
|
|
28
|
+
};
|
|
29
|
+
export declare class BezierPath {
|
|
30
|
+
p1: Vector3;
|
|
31
|
+
p2: Vector3;
|
|
32
|
+
p3: Vector3;
|
|
33
|
+
p4: Vector3;
|
|
34
|
+
readonly lengthData: BezierLengthData;
|
|
35
|
+
readonly interval: Vector3;
|
|
36
|
+
readonly totalLength: number;
|
|
37
|
+
private catching;
|
|
38
|
+
constructor(p1: Vector3, p2: Vector3, p3: Vector3, p4: Vector3);
|
|
39
|
+
/**
|
|
40
|
+
* 获取路径在指定比例长度上点的坐标
|
|
41
|
+
* @param percent 路径长度的比例
|
|
42
|
+
*/
|
|
43
|
+
getPointInPercent(percent: number): Vector3;
|
|
44
|
+
}
|
|
45
|
+
export declare class BezierQuat {
|
|
46
|
+
p1: Quaternion;
|
|
47
|
+
p2: Quaternion;
|
|
48
|
+
p3: Quaternion;
|
|
49
|
+
p4: Quaternion;
|
|
50
|
+
private temp;
|
|
51
|
+
readonly totalLength: number;
|
|
52
|
+
constructor(p1: Quaternion, p2: Quaternion, p3: Quaternion, p4: Quaternion);
|
|
53
|
+
/**
|
|
54
|
+
* 获取路径在指定比例长度上点的坐标
|
|
55
|
+
* @param percent 路径长度的比例
|
|
56
|
+
*/
|
|
57
|
+
getPointInPercent(percent: number): Quaternion;
|
|
58
|
+
}
|
|
59
|
+
export declare class BezierEasing {
|
|
60
|
+
mX1: number;
|
|
61
|
+
mY1: number;
|
|
62
|
+
mX2: number;
|
|
63
|
+
mY2: number;
|
|
64
|
+
private precomputed;
|
|
65
|
+
private mSampleValues;
|
|
66
|
+
constructor(mX1: number, mY1: number, mX2: number, mY2: number);
|
|
67
|
+
precompute(): void;
|
|
68
|
+
getValue(x: number): number;
|
|
69
|
+
calcSampleValues(): void;
|
|
70
|
+
getTForX(aX: number): number;
|
|
71
|
+
}
|
|
72
|
+
export declare function buildEasingCurve(leftKeyframe: spec.BezierKeyframeValue, rightKeyframe: spec.BezierKeyframeValue): {
|
|
73
|
+
points: Vector2[];
|
|
74
|
+
timeInterval: number;
|
|
75
|
+
valueInterval: number;
|
|
76
|
+
curve: BezierEasing;
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* 根据关键帧类型获取贝塞尔曲线上的关键点
|
|
80
|
+
*/
|
|
81
|
+
export declare function getControlPoints(leftKeyframe: spec.BezierKeyframeValue, rightKeyframe: spec.BezierKeyframeValue, lineToBezier: boolean): ({
|
|
82
|
+
type: 'ease';
|
|
83
|
+
p0: Vector2;
|
|
84
|
+
p1: Vector2;
|
|
85
|
+
p2: Vector2;
|
|
86
|
+
p3: Vector2;
|
|
87
|
+
isHold?: boolean;
|
|
88
|
+
leftHoldLine?: boolean;
|
|
89
|
+
rightHoldLine?: boolean;
|
|
90
|
+
} | {
|
|
91
|
+
type: 'line';
|
|
92
|
+
p0: Vector2;
|
|
93
|
+
p1: Vector2;
|
|
94
|
+
p2?: Vector2;
|
|
95
|
+
p3?: Vector2;
|
|
96
|
+
isHold?: boolean;
|
|
97
|
+
leftHoldLine?: boolean;
|
|
98
|
+
rightHoldLine?: boolean;
|
|
99
|
+
});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Vector2 } from '@galacean/effects-math/es/core/vector2';
|
|
2
|
+
import * as spec from '@galacean/effects-specification';
|
|
3
|
+
export declare const keyframeInfo: {
|
|
4
|
+
/**
|
|
5
|
+
* 根据不同关键帧类型,获取位于曲线上的点
|
|
6
|
+
*/
|
|
7
|
+
getPointInCurve(keyframe: spec.BezierKeyframeValue): Vector2;
|
|
8
|
+
/**
|
|
9
|
+
* 根据不同关键帧类型,获取位于曲线上的点的索引
|
|
10
|
+
*/
|
|
11
|
+
getPointIndexInCurve(keyframe: spec.BezierKeyframeValue): {
|
|
12
|
+
xIndex: number;
|
|
13
|
+
yIndex: number;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* 关键帧左侧是否为缓动类型(否则为线段)
|
|
17
|
+
*/
|
|
18
|
+
isLeftSideEase(keyframe: spec.BezierKeyframeValue): keyframe is spec.EaseKeyframeValue | spec.EaseInKeyframeValue | spec.EaseHoldOutKeyframeValue;
|
|
19
|
+
/**
|
|
20
|
+
* 关键帧右侧是否为缓动类型(否则为线段)
|
|
21
|
+
*/
|
|
22
|
+
isRightSideEase(keyframe: spec.BezierKeyframeValue): keyframe is spec.EaseKeyframeValue | spec.EaseOutKeyframeValue | spec.EaseHoldInKeyframeValue;
|
|
23
|
+
/**
|
|
24
|
+
* 关键帧左侧是否为缓动类型(否则为线段)
|
|
25
|
+
*/
|
|
26
|
+
isKeyframeTypeLeftSideEase(keyframeType: spec.BezierKeyframeType): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* 关键帧右侧是否为缓动类型(否则为线段)
|
|
29
|
+
*/
|
|
30
|
+
isKeyframeTypeRightSideEase(keyframeType: spec.BezierKeyframeType): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* 是否为定格进关键帧
|
|
33
|
+
*/
|
|
34
|
+
isHoldInKeyframe(keyframe: spec.BezierKeyframeValue): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* 是否为定格出关键帧
|
|
37
|
+
*/
|
|
38
|
+
isHoldOutKeyframe(keyframe: spec.BezierKeyframeValue): boolean;
|
|
39
|
+
};
|
package/dist/math/translate.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type { ValueGetter } from './value-getter';
|
|
2
1
|
import { Vector3 } from '@galacean/effects-math/es/core/index';
|
|
2
|
+
import type { ItemLinearVelOverLifetime } from '../plugins';
|
|
3
|
+
import type { ValueGetter } from './value-getter';
|
|
3
4
|
export declare function translatePoint(x: number, y: number): number[];
|
|
4
5
|
export interface TranslateTarget {
|
|
5
6
|
speedOverLifetime?: ValueGetter<number>;
|
|
6
7
|
gravityModifier?: ValueGetter<number>;
|
|
7
|
-
linearVelOverLifetime?:
|
|
8
|
+
linearVelOverLifetime?: ItemLinearVelOverLifetime;
|
|
8
9
|
orbitalVelOverLifetime?: any;
|
|
9
10
|
}
|
|
10
11
|
export declare function calculateTranslation(out: Vector3, target: TranslateTarget, acc: Vector3, time: number, duration: number, posData: Vector3, velData: Vector3): Vector3;
|
package/dist/math/utils.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { vec2, vec3, vec4 } from '@galacean/effects-specification';
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
2
|
+
import { Vector3 } from '@galacean/effects-math/es/core/vector3';
|
|
3
|
+
import { Ray } from '@galacean/effects-math/es/core/ray';
|
|
4
|
+
import type { TriangleLike } from '@galacean/effects-math/es/core/type';
|
|
4
5
|
import type { Camera } from '../camera';
|
|
5
6
|
export type vec = number[];
|
|
6
7
|
export declare function ensureVec3(num?: any): vec3;
|
|
@@ -12,3 +13,6 @@ export declare const particleOriginTranslateMap: Record<number, vec2>;
|
|
|
12
13
|
export declare function nearestPowerOfTwo(value: number): number;
|
|
13
14
|
export declare function setRayFromCamera(x: number, y: number, camera: Camera): Ray;
|
|
14
15
|
export declare function trianglesFromRect(position: Vector3, halfWidth: number, halfHeight: number): TriangleLike[];
|
|
16
|
+
export declare function decimalEqual(a: number, b: number, epsilon?: number): boolean;
|
|
17
|
+
export declare function numberToFix(a: number, fixed?: number): number;
|
|
18
|
+
export declare function pointOnLine(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number): boolean;
|
|
@@ -1,5 +1,10 @@
|
|
|
1
|
+
import type { Vector2 } from '@galacean/effects-math/es/core/vector2';
|
|
2
|
+
import { Vector3 } from '@galacean/effects-math/es/core/vector3';
|
|
3
|
+
import { Quaternion } from '@galacean/effects-math/es/core/quaternion';
|
|
1
4
|
import * as spec from '@galacean/effects-specification';
|
|
2
5
|
import type { ColorStop } from '../utils';
|
|
6
|
+
import type { BezierEasing } from './bezier';
|
|
7
|
+
import { BezierPath, BezierQuat } from './bezier';
|
|
3
8
|
interface KeyFrameMeta {
|
|
4
9
|
curves: ValueGetter<any>[];
|
|
5
10
|
index: number;
|
|
@@ -8,14 +13,17 @@ interface KeyFrameMeta {
|
|
|
8
13
|
curveCount: number;
|
|
9
14
|
}
|
|
10
15
|
export declare class ValueGetter<T> {
|
|
16
|
+
static getAllData(meta: KeyFrameMeta, halfFloat?: boolean): Uint16Array | Float32Array;
|
|
11
17
|
constructor(arg: any);
|
|
12
18
|
onCreate(props: any): void;
|
|
13
19
|
getIntegrateValue(t0: number, t1: number, timeScale?: number): T;
|
|
14
20
|
getIntegrateByTime(t0: number, time: number): T;
|
|
15
21
|
getValue(time?: number): T;
|
|
22
|
+
getMaxTime(): number;
|
|
16
23
|
toUniform(meta: KeyFrameMeta): Float32Array;
|
|
17
24
|
map(func: (n: T) => T): void;
|
|
18
25
|
scaleXCoord(scale: number): ValueGetter<T>;
|
|
26
|
+
toData(): ArrayLike<number>;
|
|
19
27
|
}
|
|
20
28
|
export declare class StaticValue extends ValueGetter<number> {
|
|
21
29
|
private value;
|
|
@@ -25,6 +33,7 @@ export declare class StaticValue extends ValueGetter<number> {
|
|
|
25
33
|
getValue(time?: number): number;
|
|
26
34
|
toUniform(): Float32Array;
|
|
27
35
|
map(func: (n: number) => number): this;
|
|
36
|
+
getMaxTime(): number;
|
|
28
37
|
}
|
|
29
38
|
export declare class RandomSetValue<T> extends ValueGetter<T> {
|
|
30
39
|
private items;
|
|
@@ -65,28 +74,6 @@ export declare class GradientValue extends ValueGetter<number[]> {
|
|
|
65
74
|
getStops(): ColorStop[];
|
|
66
75
|
getValue(time: number): number[];
|
|
67
76
|
}
|
|
68
|
-
export type KeyFrame = {
|
|
69
|
-
inTangent: number;
|
|
70
|
-
outTangent: number;
|
|
71
|
-
time: number;
|
|
72
|
-
value: number;
|
|
73
|
-
};
|
|
74
|
-
export declare class CurveValue extends ValueGetter<number> {
|
|
75
|
-
keys: KeyFrame[] | number[][];
|
|
76
|
-
min: number;
|
|
77
|
-
dist: number;
|
|
78
|
-
isCurveValue: boolean;
|
|
79
|
-
static getAllData(meta: KeyFrameMeta, halfFloat?: boolean): Uint16Array | Float32Array;
|
|
80
|
-
onCreate(props: number[] & number[][]): void;
|
|
81
|
-
getValue(time: number): number;
|
|
82
|
-
getIntegrateByTime(t0: number, t1: number): number;
|
|
83
|
-
getIntegrateValue(t0: number, t1: number, ts: number): number;
|
|
84
|
-
integrate(time: number, byTime: boolean): number;
|
|
85
|
-
toData(): Float32Array;
|
|
86
|
-
toUniform(meta: any): Float32Array;
|
|
87
|
-
map(func: (num: number) => number): this;
|
|
88
|
-
scaleXCoord(scale: number): this;
|
|
89
|
-
}
|
|
90
77
|
export declare class LineSegments extends ValueGetter<number> {
|
|
91
78
|
isLineSeg: boolean;
|
|
92
79
|
keys: number[][];
|
|
@@ -103,6 +90,24 @@ export declare class LineSegments extends ValueGetter<number> {
|
|
|
103
90
|
map(func: (k: number) => number): this;
|
|
104
91
|
scaleXCoord(scale: number): this;
|
|
105
92
|
}
|
|
93
|
+
export declare class BezierCurve extends ValueGetter<number> {
|
|
94
|
+
curveMap: Record<string, {
|
|
95
|
+
points: Vector2[];
|
|
96
|
+
timeInterval: number;
|
|
97
|
+
valueInterval: number;
|
|
98
|
+
curve: BezierEasing;
|
|
99
|
+
}>;
|
|
100
|
+
keys: number[][];
|
|
101
|
+
onCreate(props: spec.BezierKeyframeValue[]): void;
|
|
102
|
+
getValue(time: number): number;
|
|
103
|
+
getIntegrateValue(t0: number, t1: number, ts?: number): number;
|
|
104
|
+
getIntegrateByTime(t0: number, t1: number): number;
|
|
105
|
+
getCurveIntegrateValue(curveKey: string, time: number): number;
|
|
106
|
+
getCurveValue(curveKey: string, time: number): number;
|
|
107
|
+
toUniform(meta: KeyFrameMeta): Float32Array;
|
|
108
|
+
toData(): Float32Array;
|
|
109
|
+
getMaxTime(): number;
|
|
110
|
+
}
|
|
106
111
|
export declare class PathSegments extends ValueGetter<number[]> {
|
|
107
112
|
keys: number[][];
|
|
108
113
|
values: number[][];
|
|
@@ -110,10 +115,31 @@ export declare class PathSegments extends ValueGetter<number[]> {
|
|
|
110
115
|
getValue(time: number): number[];
|
|
111
116
|
calculateVec(i: number, dt: number): number[];
|
|
112
117
|
}
|
|
113
|
-
export declare class
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
118
|
+
export declare class BezierCurvePath extends ValueGetter<Vector3> {
|
|
119
|
+
curveSegments: Record<string, {
|
|
120
|
+
points: Vector2[];
|
|
121
|
+
easingCurve: BezierEasing;
|
|
122
|
+
timeInterval: number;
|
|
123
|
+
valueInterval: number;
|
|
124
|
+
pathCurve: BezierPath;
|
|
125
|
+
}>;
|
|
126
|
+
onCreate(props: spec.BezierCurvePathValue): void;
|
|
127
|
+
getValue(time: number): Vector3;
|
|
128
|
+
getPercValue(curveKey: string, time: number): number;
|
|
129
|
+
getMaxTime(): number;
|
|
130
|
+
}
|
|
131
|
+
export declare class BezierCurveQuat extends ValueGetter<Quaternion> {
|
|
132
|
+
curveSegments: Record<string, {
|
|
133
|
+
points: Vector2[];
|
|
134
|
+
easingCurve: BezierEasing;
|
|
135
|
+
timeInterval: number;
|
|
136
|
+
valueInterval: number;
|
|
137
|
+
pathCurve: BezierQuat;
|
|
138
|
+
}>;
|
|
139
|
+
onCreate(props: spec.BezierCurveQuatValue): void;
|
|
140
|
+
getValue(time: number): Quaternion;
|
|
141
|
+
getPercValue(curveKey: string, time: number): number;
|
|
142
|
+
getMaxTime(): number;
|
|
117
143
|
}
|
|
118
144
|
export declare function createValueGetter(args: any): ValueGetter<any>;
|
|
119
145
|
export declare function getKeyFrameMetaByRawValue(meta: KeyFrameMeta, value?: [type: spec.ValueType, value: any]): void;
|
|
@@ -1 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import * as spec from '@galacean/effects-specification';
|
|
2
|
+
import type { SceneRenderLevel } from './scene';
|
|
3
|
+
export declare function passRenderLevel(l?: spec.RenderLevel, renderLevel?: SceneRenderLevel): boolean;
|
package/dist/plugin-system.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type * as spec from '@galacean/effects-specification';
|
|
2
|
-
import type { SceneLoadOptions } from './asset-manager';
|
|
3
2
|
import type { Composition } from './composition';
|
|
4
3
|
import type { Plugin, PluginConstructor } from './plugins';
|
|
5
4
|
import type { RenderFrame, Renderer } from './render';
|
|
6
|
-
import type { Scene } from './scene';
|
|
5
|
+
import type { Scene, SceneLoadOptions } from './scene';
|
|
7
6
|
import type { VFXItemConstructor, VFXItemProps } from './vfx-item';
|
|
8
7
|
import { VFXItem } from './vfx-item';
|
|
9
8
|
export declare const pluginLoaderMap: Record<string, PluginConstructor>;
|
|
@@ -26,9 +25,9 @@ export declare class PluginSystem {
|
|
|
26
25
|
initializeComposition(composition: Composition, scene: Scene): void;
|
|
27
26
|
destroyComposition(comp: Composition): void;
|
|
28
27
|
resetComposition(comp: Composition, renderFrame: RenderFrame): void;
|
|
29
|
-
createPluginItem(name: string, props: VFXItemProps, composition: Composition): VFXItem
|
|
28
|
+
createPluginItem(name: string, props: VFXItemProps, composition: Composition): VFXItem;
|
|
30
29
|
processRawJSON(json: spec.JSONScene, options: SceneLoadOptions): Promise<void[]>;
|
|
31
30
|
private callStatic;
|
|
32
|
-
precompile(compositions: spec.
|
|
31
|
+
precompile(compositions: spec.CompositionData[], renderer: Renderer, options?: PrecompileOptions): Promise<void[]>;
|
|
33
32
|
loadResources(scene: Scene, options: SceneLoadOptions): Promise<void[]>;
|
|
34
33
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AnimationStream } from './animation-stream';
|
|
2
|
+
import type { PlayableGraph } from './playable-graph';
|
|
2
3
|
import { Playable } from './playable-graph';
|
|
3
4
|
export declare class AnimationPlayable extends Playable {
|
|
4
5
|
animationStream: AnimationStream;
|
|
5
|
-
constructor();
|
|
6
|
+
constructor(graph: PlayableGraph);
|
|
6
7
|
}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import * as spec from '@galacean/effects-specification';
|
|
2
1
|
import type { Euler, Vector3 } from '@galacean/effects-math/es/core/index';
|
|
3
|
-
import { ItemBehaviour } from '../../components';
|
|
4
|
-
import type { Engine } from '../../engine';
|
|
5
2
|
import type { ValueGetter } from '../../math';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
3
|
+
import { TrackAsset } from '../timeline/track';
|
|
4
|
+
import type { TimelineAsset } from './timeline-asset';
|
|
8
5
|
/**
|
|
9
6
|
* 基础位移属性数据
|
|
10
7
|
*/
|
|
@@ -12,7 +9,7 @@ export type ItemBasicTransform = {
|
|
|
12
9
|
position: Vector3;
|
|
13
10
|
rotation: Euler;
|
|
14
11
|
scale: Vector3;
|
|
15
|
-
path?: ValueGetter<
|
|
12
|
+
path?: ValueGetter<Vector3>;
|
|
16
13
|
};
|
|
17
14
|
export type ItemLinearVelOverLifetime = {
|
|
18
15
|
asMovement?: boolean;
|
|
@@ -21,41 +18,10 @@ export type ItemLinearVelOverLifetime = {
|
|
|
21
18
|
z?: ValueGetter<number>;
|
|
22
19
|
enabled?: boolean;
|
|
23
20
|
};
|
|
24
|
-
export interface CalculateItemOptions {
|
|
25
|
-
start: number;
|
|
26
|
-
duration: number;
|
|
27
|
-
looping: boolean;
|
|
28
|
-
endBehavior: number;
|
|
29
|
-
startRotation?: number;
|
|
30
|
-
start3DRotation?: number;
|
|
31
|
-
}
|
|
32
21
|
/**
|
|
33
22
|
* @since 2.0.0
|
|
34
23
|
* @internal
|
|
35
24
|
*/
|
|
36
|
-
export declare class
|
|
37
|
-
|
|
38
|
-
reusable: boolean;
|
|
39
|
-
timelineStarted: boolean;
|
|
40
|
-
playableGraph: PlayableGraph;
|
|
41
|
-
options: CalculateItemOptions;
|
|
42
|
-
/**
|
|
43
|
-
* 元素动画已经播放的时间
|
|
44
|
-
*/
|
|
45
|
-
private time;
|
|
46
|
-
private tracks;
|
|
47
|
-
private trackSeed;
|
|
48
|
-
constructor(engine: Engine);
|
|
49
|
-
start(): void;
|
|
50
|
-
update(dt: number): void;
|
|
51
|
-
setTime(time: number): void;
|
|
52
|
-
getTime(): number;
|
|
53
|
-
toLocalTime(time: number): number;
|
|
54
|
-
createTrack<T extends Track>(classConstructor: new () => T, name?: string): T;
|
|
55
|
-
getTracks(): Track[];
|
|
56
|
-
findTrack(name: string): Track | undefined;
|
|
57
|
-
rebuildGraph(): void;
|
|
58
|
-
compileTracks(graph: PlayableGraph): void;
|
|
59
|
-
fromData(data: spec.NullContent): void;
|
|
60
|
-
toData(): void;
|
|
25
|
+
export declare class ObjectBindingTrack extends TrackAsset {
|
|
26
|
+
create(timelineAsset: TimelineAsset): void;
|
|
61
27
|
}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { Vector3 } from '@galacean/effects-math/es/core/vector3';
|
|
2
|
-
import type
|
|
2
|
+
import type { Quaternion } from '@galacean/effects-math/es/core/quaternion';
|
|
3
|
+
import * as spec from '@galacean/effects-specification';
|
|
3
4
|
import type { ValueGetter } from '../../math';
|
|
4
5
|
import { AnimationPlayable } from './animation-playable';
|
|
5
6
|
import type { ItemBasicTransform, ItemLinearVelOverLifetime } from './calculate-item';
|
|
6
|
-
import {
|
|
7
|
+
import type { FrameContext, PlayableGraph } from './playable-graph';
|
|
8
|
+
import { Playable, PlayableAsset } from './playable-graph';
|
|
9
|
+
import { EffectsObject } from '../../effects-object';
|
|
10
|
+
import { VFXItem } from '../../vfx-item';
|
|
7
11
|
/**
|
|
8
12
|
* @since 2.0.0
|
|
9
13
|
* @internal
|
|
10
14
|
*/
|
|
11
|
-
export declare class
|
|
15
|
+
export declare class TransformAnimationPlayable extends AnimationPlayable {
|
|
12
16
|
originalTransform: ItemBasicTransform;
|
|
13
17
|
protected sizeSeparateAxes: boolean;
|
|
14
18
|
protected sizeXOverLifetime: ValueGetter<number>;
|
|
@@ -37,15 +41,22 @@ export declare class AnimationClipPlayable extends AnimationPlayable {
|
|
|
37
41
|
gravity: Vector3;
|
|
38
42
|
direction: Vector3;
|
|
39
43
|
startSpeed: number;
|
|
44
|
+
data: TransformPlayableAssetData;
|
|
40
45
|
private velocity;
|
|
41
|
-
|
|
46
|
+
private binding;
|
|
47
|
+
start(): void;
|
|
48
|
+
processFrame(context: FrameContext): void;
|
|
42
49
|
/**
|
|
43
50
|
* 应用时间轴K帧数据到对象
|
|
44
51
|
*/
|
|
45
52
|
private sampleAnimation;
|
|
46
|
-
fromData(data: TransformAnimationData): void;
|
|
47
53
|
}
|
|
48
|
-
export
|
|
54
|
+
export declare class TransformPlayableAsset extends PlayableAsset {
|
|
55
|
+
transformAnimationData: TransformPlayableAssetData;
|
|
56
|
+
createPlayable(graph: PlayableGraph): Playable;
|
|
57
|
+
fromData(data: TransformPlayableAssetData): void;
|
|
58
|
+
}
|
|
59
|
+
export interface TransformPlayableAssetData extends spec.EffectsObjectData {
|
|
49
60
|
/**
|
|
50
61
|
* 元素大小变化属性
|
|
51
62
|
*/
|
|
@@ -63,10 +74,45 @@ export interface TransformAnimationData {
|
|
|
63
74
|
* @since 2.0.0
|
|
64
75
|
* @internal
|
|
65
76
|
*/
|
|
66
|
-
export declare class
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
77
|
+
export declare class ActivationPlayable extends Playable {
|
|
78
|
+
processFrame(context: FrameContext): void;
|
|
79
|
+
}
|
|
80
|
+
export declare class ActivationPlayableAsset extends PlayableAsset {
|
|
81
|
+
createPlayable(graph: PlayableGraph): Playable;
|
|
82
|
+
}
|
|
83
|
+
export interface PositionCurve {
|
|
84
|
+
path: string;
|
|
85
|
+
keyFrames: ValueGetter<Vector3>;
|
|
86
|
+
}
|
|
87
|
+
export interface EulerCurve {
|
|
88
|
+
path: string;
|
|
89
|
+
keyFrames: ValueGetter<Vector3>;
|
|
90
|
+
}
|
|
91
|
+
export interface RotationCurve {
|
|
92
|
+
path: string;
|
|
93
|
+
keyFrames: ValueGetter<Quaternion>;
|
|
94
|
+
}
|
|
95
|
+
export interface ScaleCurve {
|
|
96
|
+
path: string;
|
|
97
|
+
keyFrames: ValueGetter<Vector3>;
|
|
98
|
+
}
|
|
99
|
+
export interface FloatCurve {
|
|
100
|
+
path: string;
|
|
101
|
+
property: string;
|
|
102
|
+
className: string;
|
|
103
|
+
keyFrames: ValueGetter<number>;
|
|
104
|
+
}
|
|
105
|
+
export declare class AnimationClip extends EffectsObject {
|
|
106
|
+
duration: number;
|
|
107
|
+
positionCurves: PositionCurve[];
|
|
108
|
+
rotationCurves: RotationCurve[];
|
|
109
|
+
scaleCurves: ScaleCurve[];
|
|
110
|
+
floatCurves: FloatCurve[];
|
|
111
|
+
sampleAnimation(vfxItem: VFXItem, time: number): void;
|
|
112
|
+
fromData(data: spec.AnimationClipData): void;
|
|
113
|
+
private findTarget;
|
|
114
|
+
}
|
|
115
|
+
export declare class AnimationClipPlayable extends Playable {
|
|
116
|
+
clip: AnimationClip;
|
|
117
|
+
processFrame(context: FrameContext): void;
|
|
72
118
|
}
|