@galacean/effects-plugin-model 1.2.1 → 2.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/gesture/index.d.ts +5 -4
  2. package/dist/gltf/loader-helper.d.ts +1 -3
  3. package/dist/index.d.ts +4 -0
  4. package/dist/index.js +8358 -6785
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.js +2 -2
  7. package/dist/index.mjs +8357 -6784
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/loader.mjs +10070 -4913
  10. package/dist/loader.mjs.map +1 -1
  11. package/dist/plugin/const.d.ts +3 -0
  12. package/dist/plugin/index.d.ts +0 -2
  13. package/dist/plugin/model-item.d.ts +258 -0
  14. package/dist/plugin/model-plugin.d.ts +91 -18
  15. package/dist/plugin/model-tree-item.d.ts +113 -6
  16. package/dist/plugin/model-tree-plugin.d.ts +9 -8
  17. package/dist/runtime/anim-sampler.d.ts +20 -0
  18. package/dist/runtime/animation.d.ts +179 -26
  19. package/dist/runtime/cache.d.ts +75 -0
  20. package/dist/runtime/camera.d.ts +130 -5
  21. package/dist/runtime/common.d.ts +143 -4
  22. package/dist/runtime/light.d.ts +95 -6
  23. package/dist/runtime/material.d.ts +306 -1
  24. package/dist/runtime/math.d.ts +2 -0
  25. package/dist/runtime/mesh.d.ts +242 -32
  26. package/dist/runtime/object.d.ts +88 -10
  27. package/dist/runtime/scene.d.ts +156 -27
  28. package/dist/runtime/shader-libs/standard-shader-source.d.ts +10 -0
  29. package/dist/runtime/shader-libs/standard-shader.d.ts +16 -0
  30. package/dist/runtime/shader.d.ts +33 -1
  31. package/dist/runtime/skybox.d.ts +233 -9
  32. package/dist/utility/debug-helper.d.ts +14 -0
  33. package/dist/utility/hit-test-helper.d.ts +39 -3
  34. package/dist/utility/plugin-helper.d.ts +665 -14
  35. package/dist/utility/ri-helper.d.ts +67 -0
  36. package/dist/utility/shader-helper.d.ts +55 -0
  37. package/dist/utility/ts-helper.d.ts +6 -0
  38. package/package.json +4 -4
  39. package/dist/plugin/model-tree-vfx-item.d.ts +0 -15
  40. package/dist/plugin/model-vfx-item.d.ts +0 -28
  41. package/dist/runtime/shadow.d.ts +0 -230
@@ -1,33 +1,86 @@
1
- import type { Geometry, Engine } from '@galacean/effects';
1
+ import type { Geometry, Engine, VFXItemContent, VFXItem } from '@galacean/effects';
2
2
  import { Texture } from '@galacean/effects';
3
3
  import type { ModelSkinOptions, ModelAnimTrackOptions, ModelAnimationOptions, ModelTreeOptions } from '../index';
4
4
  import { Matrix4 } from './math';
5
5
  import { PObject } from './object';
6
6
  import type { PSceneManager } from './scene';
7
- import type { ModelTreeVFXItem } from '../plugin';
7
+ /**
8
+ * 纹理数据模式,包含浮点和半精度浮点
9
+ */
8
10
  export declare enum TextureDataMode {
9
11
  none = 0,
10
12
  float = 1,
11
13
  half_float = 2
12
14
  }
15
+ /**
16
+ * 蒙皮类,支持蒙皮动画
17
+ */
13
18
  export declare class PSkin extends PObject {
14
- parentItem?: ModelTreeVFXItem;
19
+ /**
20
+ * 场景树父元素
21
+ */
22
+ parentItem?: VFXItem<VFXItemContent>;
23
+ /**
24
+ * 骨骼索引
25
+ */
15
26
  skeleton: number;
27
+ /**
28
+ * 关节索引
29
+ */
16
30
  jointList: number[];
31
+ /**
32
+ * 逆绑定矩阵
33
+ */
17
34
  inverseBindMatrices: Matrix4[];
35
+ /**
36
+ * 动画矩阵
37
+ */
18
38
  animationMatrices: Matrix4[];
39
+ /**
40
+ * 纹理数据模式
41
+ */
19
42
  textureDataMode: TextureDataMode;
20
- create(options: ModelSkinOptions, engine: Engine, parentItem?: ModelTreeVFXItem): void;
43
+ /**
44
+ * 创建蒙皮对象
45
+ * @param options - 蒙皮相关数据
46
+ * @param engine - 引擎对象
47
+ * @param parentItem - 场景树父元素
48
+ */
49
+ create(options: ModelSkinOptions, engine: Engine, parentItem?: VFXItem<VFXItemContent>): void;
50
+ /**
51
+ * 更新蒙皮矩阵
52
+ */
21
53
  updateSkinMatrices(): void;
54
+ /**
55
+ * 计算 Mesh 的动画矩阵
56
+ * @param worldMatrix - 世界矩阵
57
+ * @param matrixList - 矩阵列表
58
+ * @param normalMatList - 法线矩阵列表
59
+ */
22
60
  computeMeshAnimMatrices(worldMatrix: Matrix4, matrixList: Float32Array, normalMatList: Float32Array): void;
23
- updateParentItem(parentItem: ModelTreeVFXItem): void;
61
+ /**
62
+ * 更新父元素
63
+ * @param parentItem - 场景树父元素
64
+ */
65
+ updateParentItem(parentItem: VFXItem<VFXItemContent>): void;
66
+ /**
67
+ * 获取关节点数
68
+ * @returns
69
+ */
24
70
  getJointCount(): number;
71
+ /**
72
+ * 是否纹理数据模式
73
+ * @returns
74
+ */
25
75
  isTextureDataMode(): boolean;
76
+ /**
77
+ * 销毁
78
+ */
26
79
  dispose(): void;
27
80
  private getTextureDataMode;
28
81
  }
29
82
  /**
30
- * Morph 动画状态:
83
+ * Morph 动画类
31
84
  * 保存了动画状态相关的数据,包括 weights 数组数据
32
85
  * 增加了状态数据的检查,保证数据的正确性
33
86
  * Morph 动画非常消耗内存,谨慎使用。
@@ -57,28 +110,25 @@ export declare class PMorph extends PObject {
57
110
  hasTangentMorph: boolean;
58
111
  /**
59
112
  * 通过 Geometry 数据创建 Morph 动画相关状态,并进行必要的正确性检查
60
- *
61
- * @param geometry - Mesh 的几何对象,是否包含 Morph 动画都是可以的
113
+ * @param geometry - Mesh 的几何体,是否包含 Morph 动画都是可以的
114
+ * @returns 是否创建成功
62
115
  */
63
116
  create(geometry: Geometry): boolean;
64
117
  dispose(): void;
65
118
  /**
66
119
  * 初始化 Morph target 的权重数组
67
- *
68
120
  * @param weights - glTF Mesh 的权重数组,长度必须严格一致
69
121
  */
70
122
  initWeights(weights: number[]): void;
71
123
  /**
72
124
  * 当前状态是否有 Morph 动画:
73
125
  * 需要判断 weights 数组长度,以及 Position、Normal 和 Tangent 是否有动画
74
- *
75
126
  * @returns 返回是否有 Morph 动画
76
127
  */
77
128
  hasMorph(): boolean;
78
129
  /**
79
130
  * 两个 Morph 动画状态是否相等:
80
131
  * 这里只比较初始状态是否一样,不考虑 weights 数组的情况,提供给 Mesh 进行 Geometry 检查使用
81
- *
82
132
  * @param morph - Morph 动画状态对象
83
133
  * @returns 返回两个 Morph 动画状态是否相等
84
134
  */
@@ -87,7 +137,6 @@ export declare class PMorph extends PObject {
87
137
  /**
88
138
  * 统计 Geometry 中 Attribute 名称个数:
89
139
  * 主要用于统计 Morph 动画中新增的 Attribute 名称的个数,会作为最终的 weights 数组长度使用
90
- *
91
140
  * @param attributeNameList - Attribute 名数组列表,只与 Morph Target 中的属性有关
92
141
  * @param geometry - Geometry 对象,是否有 Morph 动画都可以
93
142
  * @returns 存在的 Attribute 名称数目
@@ -106,28 +155,72 @@ export declare class PMorph extends PObject {
106
155
  */
107
156
  private static tangentNameList;
108
157
  }
158
+ /**
159
+ * 动画插值类型
160
+ */
109
161
  export declare enum PAnimInterpType {
110
162
  linear = 0,
111
163
  step = 1,
112
164
  cubicSpline = 2
113
165
  }
166
+ /**
167
+ * 动画路径类型
168
+ */
114
169
  export declare enum PAnimPathType {
115
170
  translation = 0,
116
171
  rotation = 1,
117
172
  scale = 2,
118
173
  weights = 3
119
174
  }
175
+ /**
176
+ * 动画轨道类
177
+ */
120
178
  export declare class PAnimTrack {
179
+ /**
180
+ * 节点索引
181
+ */
121
182
  node: number;
183
+ /**
184
+ * 时间数组
185
+ */
122
186
  timeArray: Float32Array;
187
+ /**
188
+ * 数据数组
189
+ */
123
190
  dataArray: Float32Array;
191
+ /**
192
+ * 路径类型
193
+ */
124
194
  path: PAnimPathType;
195
+ /**
196
+ * 插值类型
197
+ */
125
198
  interp: PAnimInterpType;
199
+ /**
200
+ * 分量
201
+ */
126
202
  component: number;
127
203
  private sampler?;
204
+ /**
205
+ * 创建动画轨道对象
206
+ * @param options - 动画轨道参数
207
+ */
128
208
  constructor(options: ModelAnimTrackOptions);
209
+ /**
210
+ * 销毁
211
+ */
129
212
  dispose(): void;
130
- tick(time: number, treeItem: ModelTreeVFXItem, sceneManager?: PSceneManager): void;
213
+ /**
214
+ * 更新节点动画数据
215
+ * @param time - 当前播放时间
216
+ * @param treeItem - 节点树元素
217
+ * @param sceneManager - 3D 场景管理器
218
+ */
219
+ tick(time: number, treeItem: VFXItem<VFXItemContent>, sceneManager?: PSceneManager): void;
220
+ /**
221
+ * 获取动画结束时间
222
+ * @returns
223
+ */
131
224
  getEndTime(): number;
132
225
  /**
133
226
  * 生成 Mesh 元素的父节点
@@ -141,6 +234,9 @@ export declare class PAnimTrack {
141
234
  private getPathInfo;
142
235
  private getInterpInfo;
143
236
  }
237
+ /**
238
+ * 动画纹理类
239
+ */
144
240
  export declare class PAnimTexture {
145
241
  private engine;
146
242
  private isHalfFloat;
@@ -149,20 +245,60 @@ export declare class PAnimTexture {
149
245
  private buffer?;
150
246
  private texture?;
151
247
  constructor(engine: Engine);
248
+ /**
249
+ * 创建动画纹理对象
250
+ * @param jointCount - 骨骼数目
251
+ * @param isHalfFloat - 是否半浮点精度
252
+ * @param name - 名称
253
+ */
152
254
  create(jointCount: number, isHalfFloat: boolean, name: string): void;
255
+ /**
256
+ * 更新动画数据
257
+ * @param buffer - 新的动画数据
258
+ */
153
259
  update(buffer: Float32Array): void;
260
+ /**
261
+ * 销毁
262
+ */
154
263
  dispose(): void;
264
+ /**
265
+ * 获取纹理大小
266
+ * @returns
267
+ */
155
268
  getSize(): number;
269
+ /**
270
+ * 获取纹理对象
271
+ * @returns
272
+ */
156
273
  getTexture(): Texture;
157
274
  }
275
+ /**
276
+ * 动画类,负责动画数据创建、更新和销毁
277
+ */
158
278
  export declare class PAnimation extends PObject {
159
279
  private time;
160
280
  private duration;
161
281
  private tracks;
282
+ /**
283
+ * 创建动画对象
284
+ * @param options - 动画参数
285
+ */
162
286
  create(options: ModelAnimationOptions): void;
163
- tick(time: number, treeItem: ModelTreeVFXItem, sceneManager?: PSceneManager): void;
287
+ /**
288
+ * 动画更新
289
+ * @param time - 当前时间
290
+ * @param treeItem - 场景树元素
291
+ * @param sceneManager - 3D 场景管理器
292
+ */
293
+ tick(time: number, treeItem: VFXItem<VFXItemContent>, sceneManager?: PSceneManager): void;
294
+ /**
295
+ * 销毁
296
+ */
164
297
  dispose(): void;
165
298
  }
299
+ /**
300
+ * 动画管理类,负责管理动画对象
301
+ */
166
302
  export declare class PAnimationManager extends PObject {
167
303
  private ownerItem;
168
304
  private animation;
@@ -170,19 +306,36 @@ export declare class PAnimationManager extends PObject {
170
306
  private delay;
171
307
  private time;
172
308
  private animations;
173
- private sceneManager;
174
- constructor(treeOptions: ModelTreeOptions, ownerItem: ModelTreeVFXItem);
309
+ private sceneManager?;
310
+ /**
311
+ * 创建动画管理器
312
+ * @param treeOptions - 场景树参数
313
+ * @param ownerItem - 场景树所属元素
314
+ */
315
+ constructor(treeOptions: ModelTreeOptions, ownerItem: VFXItem<VFXItemContent>);
316
+ /**
317
+ * 设置场景管理器
318
+ * @param sceneManager - 场景管理器
319
+ */
320
+ setSceneManager(sceneManager: PSceneManager): void;
321
+ /**
322
+ * 创建动画对象
323
+ * @param animationOpts - 动画参数
324
+ * @returns 动画对象
325
+ */
175
326
  createAnimation(animationOpts: ModelAnimationOptions): PAnimation;
327
+ /**
328
+ * 动画更新
329
+ * @param deltaSeconds - 更新间隔
330
+ */
176
331
  tick(deltaSeconds: number): void;
332
+ /**
333
+ * 销毁
334
+ */
177
335
  dispose(): void;
178
- getTreeItem(): ModelTreeVFXItem;
179
- }
180
- export declare class PAnimationSystem {
181
- private engine;
182
- private managers;
183
- constructor(engine: Engine);
184
- create(treeItems: ModelTreeVFXItem[]): void;
185
- insert(animationManager: PAnimationManager): void;
186
- delete(animationManager: PAnimationManager): void;
187
- dispose(): void;
336
+ /**
337
+ * 获取场景树元素
338
+ * @returns
339
+ */
340
+ getTreeItem(): VFXItem<VFXItemContent>;
188
341
  }
@@ -4,6 +4,9 @@ import type { ModelSkyboxOptions } from '../index';
4
4
  import type { FBOOptions } from '../utility/ri-helper';
5
5
  import type { PMaterialBase } from './material';
6
6
  import type { PSkyboxParams } from './skybox';
7
+ /**
8
+ * 合成缓存类,负责管理插件 WebGL 相关资源加载和创建
9
+ */
7
10
  export declare class CompositionCache {
8
11
  private engine;
9
12
  private loadSkybox;
@@ -14,21 +17,93 @@ export declare class CompositionCache {
14
17
  private renderPassCache;
15
18
  private static brdfLutTexOptions?;
16
19
  private static skyboxOptions?;
20
+ /**
21
+ * 加载静态的纹理数据
22
+ * @returns
23
+ */
17
24
  static loadStaticResources(): Promise<void>;
25
+ /**
26
+ * 创建天空盒数据,如果传入的 params 为空,会使用内置的天空盒参数
27
+ * @param engine - 引擎
28
+ * @param params - 天空盒参数
29
+ * @returns 天空盒数据
30
+ */
18
31
  static genSkyboxOptions(engine: Engine, params?: PSkyboxParams): Promise<ModelSkyboxOptions>;
19
32
  constructor(engine: Engine);
33
+ /**
34
+ * 记录是否加载天空盒,缓存天空盒相关的查询纹理
35
+ * @param loadSkybox - 是否加载天空盒
36
+ */
20
37
  setup(loadSkybox: boolean): void;
38
+ /**
39
+ * 获取缓存的纹理对象
40
+ * @param name - 名称
41
+ * @returns 纹理对象
42
+ */
21
43
  getTexture(name: string): Texture | undefined;
44
+ /**
45
+ * 设置纹理对象缓存
46
+ * @param name - 名称
47
+ * @param tex - 纹理对象
48
+ */
22
49
  setTexture(name: string, tex: Texture): void;
50
+ /**
51
+ * 获取或者创建纹理对象
52
+ * @param name - 名称
53
+ * @param options - 纹理参数
54
+ * @returns 纹理对象
55
+ */
23
56
  getOrCreateTexture(name: string, options: TextureSourceOptions): Texture;
57
+ /**
58
+ * 根据名称删除纹理对象
59
+ * @param name - 名称
60
+ * @returns 是否删除成功
61
+ */
24
62
  deleteTexture(name: string): boolean;
63
+ /**
64
+ * 获取或者创建几何体
65
+ * @param name - 名称
66
+ * @param geomJson - 几何体参数
67
+ * @param bins - 几何体数据
68
+ * @returns 几何体
69
+ */
25
70
  getOrCreateGeometry(name: string, geomJson: spec.GeometryOptionsJSON, bins: ArrayBuffer[]): Geometry;
71
+ /**
72
+ * 获取滤波 Mesh
73
+ * @param name - 名称
74
+ * @param material - 材质
75
+ * @param uniformSemantics - Uniform 语义信息
76
+ * @returns
77
+ */
26
78
  getFilterMesh(name: string, material: PMaterialBase, uniformSemantics: Record<string, any>): Mesh;
27
79
  getShadowBasePass(name: string, priority: number, meshList: Mesh[], fboOptions: FBOOptions): RenderPass;
28
80
  getShadowFilterPass(name: string, priority: number, meshList: Mesh[], fboOptions: FBOOptions): RenderPass;
81
+ /**
82
+ * 获取渲染 Pass
83
+ * @param name - 名称
84
+ * @param priority - 优先级
85
+ * @param meshList - Mesh 列表
86
+ * @param fboOptions - FBO 参数
87
+ * @returns
88
+ */
29
89
  getRenderPass(name: string, priority: number, meshList: Mesh[], fboOptions: FBOOptions): RenderPass;
90
+ /**
91
+ * 销毁缓存,释放所有缓存的对象
92
+ */
30
93
  dispose(): void;
94
+ /**
95
+ * 获取所有的渲染 Pass
96
+ * @returns
97
+ */
31
98
  getRenderPasses(): RenderPass[];
99
+ /**
100
+ * 获取纹理对象,用户 IBL 渲染
101
+ * @returns
102
+ */
32
103
  getBrdfLutTexture(): Texture | undefined;
104
+ /**
105
+ * 获取天空盒参数
106
+ * @returns
107
+ */
33
108
  getSkyboxOptions(): ModelSkyboxOptions | undefined;
34
109
  }
@@ -1,46 +1,171 @@
1
1
  import type { math } from '@galacean/effects';
2
2
  import { spec } from '@galacean/effects';
3
- import type { ModelVFXItem } from '../plugin/model-vfx-item';
4
- import type { ModelItemCamera } from '../index';
3
+ import type { ModelCameraOptions } from '../index';
5
4
  import { Vector2, Vector3, Matrix4 } from './math';
6
5
  import { PEntity } from './object';
6
+ import type { ModelCameraComponent } from '../plugin/model-item';
7
7
  type Box3 = math.Box3;
8
8
  type Quaternion = math.Quaternion;
9
+ /**
10
+ * 相机类,支持基础的相机功能
11
+ */
9
12
  export declare class PCamera extends PEntity {
13
+ /**
14
+ * 所属的相机组件
15
+ */
16
+ owner?: ModelCameraComponent;
17
+ /**
18
+ * 画布宽度
19
+ */
10
20
  width: number;
21
+ /**
22
+ * 画布高度
23
+ */
11
24
  height: number;
25
+ /**
26
+ * 近裁剪平面
27
+ */
12
28
  nearPlane: number;
29
+ /**
30
+ * 远裁剪平面
31
+ */
13
32
  farPlane: number;
33
+ /**
34
+ * Y 轴上视角
35
+ */
14
36
  fovy: number;
37
+ /**
38
+ * 纵横比
39
+ */
15
40
  aspect: number;
41
+ /**
42
+ * 剪裁模式,默认是剪裁左右
43
+ */
16
44
  clipMode: spec.CameraClipMode;
45
+ /**
46
+ * 投影矩阵
47
+ */
17
48
  projectionMatrix: Matrix4;
49
+ /**
50
+ * 相机矩阵
51
+ */
18
52
  viewMatrix: Matrix4;
19
- constructor(camera: ModelItemCamera, width: number, height: number, ownerItem?: ModelVFXItem);
53
+ /**
54
+ * 构造函数,创建相机对象
55
+ * @param camera - 相机数据
56
+ * @param width - 画布宽度
57
+ * @param height - 画布高度
58
+ * @param owner - 所属的相机组件
59
+ */
60
+ constructor(name: string, width: number, height: number, options: ModelCameraOptions, owner?: ModelCameraComponent);
61
+ /**
62
+ * 更新相机矩阵和投影矩阵,从所属的元素中获取变换数据
63
+ */
20
64
  update(): void;
65
+ /**
66
+ * 获取新的透视矩阵,视角大小乘 1.25 倍
67
+ * @param fov - 视角大小
68
+ * @returns 投影矩阵
69
+ */
21
70
  getNewProjectionMatrix(fov: number): Matrix4;
71
+ /**
72
+ * 计算视角中的包围盒大小
73
+ * @param box - 包围盒
74
+ * @returns 视角中的包围盒
75
+ */
22
76
  computeViewAABB(box: Box3): Box3;
77
+ /**
78
+ * 获取画布大小
79
+ * @returns
80
+ */
23
81
  getSize(): Vector2;
82
+ /**
83
+ * 是否剪裁上下
84
+ * @returns
85
+ */
24
86
  isReversed(): boolean;
87
+ /**
88
+ * 获取眼睛位置
89
+ * @returns
90
+ */
25
91
  getEye(): Vector3;
92
+ /**
93
+ * 设置眼睛位置
94
+ * @param val - 眼睛位置
95
+ */
26
96
  setEye(val: Vector3): void;
27
97
  }
98
+ /**
99
+ * 相机管理类,负责管理场景中的 3D 相机对象
100
+ */
28
101
  export declare class PCameraManager {
29
102
  private winWidth;
30
103
  private winHeight;
31
104
  private cameraList;
32
105
  private defaultCamera;
33
106
  constructor();
107
+ /**
108
+ * 初始化画布大小,更新默认相机
109
+ * @param width - 画布宽度
110
+ * @param height - 画布高度
111
+ */
34
112
  initial(width: number, height: number): void;
35
- insert(inCamera: ModelItemCamera, ownerItem?: ModelVFXItem): PCamera;
113
+ /**
114
+ * 插入相机数据,创建新的相机对象
115
+ * @param inCamera - 相机数据
116
+ * @param owner - 所属的相机组件
117
+ * @returns 新的相机对象
118
+ */
119
+ insert(name: string, options: ModelCameraOptions, owner?: ModelCameraComponent): PCamera;
120
+ /**
121
+ * 插入相机对象
122
+ * @param camera - 相机对象
123
+ */
36
124
  insertCamera(camera: PCamera): void;
125
+ /**
126
+ * 根据对象或者索引,删除相机对象
127
+ * @param camera - 索引或相机对象
128
+ */
37
129
  remove(camera: PCamera | number): void;
130
+ /**
131
+ * 销毁相机管理对象
132
+ */
38
133
  dispose(): void;
39
- updateDefaultCamera(fovy: number, nearPlane: number, farPlane: number, position: Vector3, rotation: Quaternion, aspect: number, clipMode: number): void;
134
+ /**
135
+ * 更新默认相机状态,并计算新的透视和相机矩阵
136
+ * @param fovy - 视角
137
+ * @param aspect - 纵横比
138
+ * @param nearPlane - 近裁剪平面
139
+ * @param farPlane - 远裁剪平面
140
+ * @param position - 位置
141
+ * @param rotation - 旋转
142
+ * @param clipMode - 剪裁模式
143
+ */
144
+ updateDefaultCamera(fovy: number, aspect: number, nearPlane: number, farPlane: number, position: Vector3, rotation: Quaternion, clipMode: number): void;
145
+ /**
146
+ * 获取相机对象列表
147
+ * @returns
148
+ */
40
149
  getCameraList(): PCamera[];
150
+ /**
151
+ * 获取默认相机对象
152
+ * @returns
153
+ */
41
154
  getDefaultCamera(): PCamera;
155
+ /**
156
+ * 获取相机数目
157
+ * @returns
158
+ */
42
159
  getCameraCount(): number;
160
+ /**
161
+ * 获取激活的相机对象
162
+ * @returns
163
+ */
43
164
  getActiveCamera(): PCamera;
165
+ /**
166
+ * 获取画布纵横比
167
+ * @returns
168
+ */
44
169
  getAspect(): number;
45
170
  }
46
171
  export {};