构造函数

#Cconstructor
签名
Composition(props: CompositionProps, scene: Scene): Composition
描述

Composition 构造函数

参数
props: CompositionProps

composition 的创建参数

参数
scene: Scene
返回Composition

属性

#Pcamera只读

合成的相机对象

签名Camera
#Pdestroyed受保护

销毁状态位

签名boolean
#Pemit继承自 EventEmitter.emit

触发事件

签名<E>(eventName: E, args: CompositionEvent<Composition>[E]) => void
#Pevent?可选只读

鼠标和触屏处理系统

签名EventSystem
#PgetListeners继承自 EventEmitter.getListeners

获取事件名称对应的所有监听器

签名<E>(eventName: E) => EventEmitterListener<CompositionEvent<Composition>[E]>[]
#PglobalVolume?可选

后处理渲染配置

签名PostProcessVolume
#Pheight只读

画布高度

签名number
#Pid只读

合成id

签名string
#Pinteractive

合成内的元素否允许点击、拖拽交互

@since

1.6.0

签名boolean
#PisEnded

合成是否结束

签名boolean
#PloaderData只读

用于保存与当前合成相关的插件数据

签名Record<string, any>
#Pname只读

当前合成名称

签名string
#Poff继承自 EventEmitter.off

移除事件监听器

签名<E>(eventName: E, listener: EventEmitterListener<CompositionEvent<Composition>[E]>) => void
#Pon继承自 EventEmitter.on

监听事件

签名<E>(eventName: E, listener: EventEmitterListener<CompositionEvent<Composition>[E]>, options: EventEmitterOptions) => () => void
#Ponce继承自 EventEmitter.once

一次性监听事件

签名<E>(eventName: E, listener: EventEmitterListener<CompositionEvent<Composition>[E]>) => void
#PonItemMessage?可选

合成中消息元素创建/销毁时触发的回调

签名(message: MessageItem) => void
#PpostProcessingEnabled

是否开启后处理

签名boolean
#PrefContent只读

预合成数组

签名VFXItem[]
#PrenderFrame

当前帧的渲染数据对象

签名RenderFrame
#PrenderOrder

合成渲染顺序,默认按升序渲染

签名number
#Preusable

播放完成后是否需要再使用,是的话生命周期结束后不会自动 dispose

签名boolean
#ProotItem只读

合成根元素

签名VFXItem
#PsceneTicking
签名SceneTicking
#Pspeed

动画播放速度

签名number
#PstartTime只读

合成开始渲染的时间

签名number
#Pstatistic只读

场景加载和首帧渲染时间

签名CompositionStatistic
#PtextureOffloaded

是否卸载纹理贴图,就是将纹理贴图大小设置为1x1

签名boolean
#Purl只读

合成对应的 url 或者 JSON

签名LoadType
#Pwidth只读

画布宽度

签名number

访问器

#AisDestroyed
签名
GETisDestroyed(): boolean
描述

获取销毁状态

返回boolean
#Aitems
签名
GETitems(): VFXItem[]
描述

获取合成中所有元素

返回VFXItem[]
#Atextures
签名
GETtextures(): Texture[]
描述

获取场景中的纹理数组

返回Texture[]
#Atime
签名
GETtime(): number
描述

获取合成当前时间

返回number
#Atransform
签名
GETtransform(): Transform
描述

所有合成 Item 的根变换

返回Transform

方法

#MaddInteractiveItem
签名
addInteractiveItem(item: VFXItem, type: InteractType): string
描述

InteractItem 生命周期开始时的调用

参数
item: VFXItem

交互元素

参数
type: InteractType

交互类型

返回string
#McreateRenderFrame
签名
createRenderFrame(): void
返回void
#Mdispose
签名
dispose(): void
描述

合成对象销毁

返回void
#MgetComponent
签名
getComponent<T>(classConstructor: Constructor<T>): T
描述

获取合成上某一类型的组件

@since

2.6.0

@returns

查询结果中符合类型的第一个组件

参数
classConstructor: Constructor<T>

要获取的组件类型

返回T
#MgetDuration
签名
getDuration(): number
描述

获取合成的时长

返回number
#MgetEngine
签名
getEngine(): Engine
描述

获取 engine 对象

@returns
返回Engine
#MgetHitTestRay
签名
getHitTestRay(x: number, y: number): Ray
描述

获取指定位置和相机连成的射线

@returns
参数
x: number
参数
y: number
返回Ray
#MgetIndex
签名
getIndex(): number
描述

获取当前合成的渲染顺序

@returns
返回number
#MgetItemByName
签名
getItemByName(name: string): VFXItem
描述

通过名称获取元素

@returns

元素对象

参数
name: string

元素名称

返回VFXItem
#MgetPaused
签名
getPaused(): boolean
描述
@returns
返回boolean
#MgetSpeed
签名
getSpeed(): number
描述

获取合成的动画速度

@returns
返回number
#MgotoAndPlay
签名
gotoAndPlay(time: number): void
描述

跳转合成到指定时间播放

参数
time: number

相对 startTime 的时间

返回void
#MgotoAndStop
签名
gotoAndStop(time: number): void
描述

跳转合成到指定时间并暂停

参数
time: number

相对 startTime 的时间

返回void
#MhitTest
签名
hitTest(x: number, y: number, force: boolean, options: CompositionHitTestOptions): Region[]
描述

Item 求交测试,返回求交结果列表,x 和 y 是归一化到[-1, 1]区间的值,x 向右,y 向上

参数
x: number

鼠标或触点的 x,已经归一化到[-1, 1]

参数
y: number

鼠标或触点的 y,已经归一化到[-1, 1]

参数
force: boolean

是否强制求交,没有交互信息的 Item 也要进行求交测试

参数
options: CompositionHitTestOptions

最大求交数和求交时的回调

返回Region[]
#MoffloadTexture
签名
offloadTexture(): void
描述

卸载贴图纹理方法,减少内存

返回void
#Mpause
签名
pause(): void
描述

暂停合成的播放

返回void
#Mplay
签名
play(): void
返回void
#MreloadTexture
签名
reloadTexture(): Promise<void>
描述

重新加载纹理

返回Promise<void>
#MremoveInteractiveItem
签名
removeInteractiveItem(item: VFXItem, type: InteractType): void
描述

InteractItem 生命周期结束时的调用

参数
item: VFXItem

交互元素

参数
type: InteractType

交互类型

返回void
#Mreset受保护
签名
reset(): void
描述

重置状态函数

返回void
#Mrestart
签名
restart(): void
描述

重新开始合成

返回void
#Mresume
签名
resume(): void
描述

恢复合成的播放

返回void
#Mrotate
签名
rotate(x: number, y: number, z: number): void
描述

设置合成在 3D 坐标轴上相对当前的旋转(角度)

参数
x: number
参数
y: number
参数
z: number
返回void
#Mscale
签名
scale(x: number, y: number, z: number): void
描述

设置合成在 3D 坐标轴上相对当前的缩放

参数
x: number
参数
y: number
参数
z: number
返回void
#MsetIndex
签名
setIndex(index: number): void
描述

设置当前合成的渲染顺序

参数
index: number

序号,大的后绘制

返回void
#MsetPosition
签名
setPosition(x: number, y: number, z: number): void
描述

设置合成在 3D 坐标轴上相对原点的位移

参数
x: number
参数
y: number
参数
z: number
返回void
#MsetPositionByPixel
签名
setPositionByPixel(x: number, y: number): void
描述

设置合成在画布上的像素位置 Tips:

  • 坐标原点在 canvas 左上角,x 正方向水平向右, y 正方向垂直向下
  • 设置后会覆盖原有的位置信息
参数
x: number

x 坐标

参数
y: number

y 坐标

返回void
#MsetRotation
签名
setRotation(x: number, y: number, z: number): void
描述

设置合成在 3D 坐标轴上的相对原点的旋转(角度)

参数
x: number
参数
y: number
参数
z: number
返回void
#MsetScale
签名
setScale(x: number, y: number, z: number): void
描述

设置合成在 3D 坐标轴上的缩放

参数
x: number
参数
y: number
参数
z: number
返回void
#MsetSpeed
签名
setSpeed(speed: number): void
描述

设置合成的动画速度

参数
speed: number

速度

返回void
#MsetTime
签名
setTime(time: number): void
描述

跳到指定时间点(不做任何播放行为)

参数
time: number

相对 startTime 的时间

返回void
#MsetVisible
签名
setVisible(visible: boolean): void
描述

设置合成的可见性

@since

2.0.0

参数
visible: boolean

是否可见

返回void
#Mtranslate
签名
translate(x: number, y: number, z: number): void
描述

设置合成在 3D 坐标轴上相对当前的位移

参数
x: number
参数
y: number
参数
z: number
返回void
#MtranslateByPixel
签名
translateByPixel(x: number, y: number): void
描述

合成整体在水平方向移动 x 像素,垂直方向移动 y 像素

参数
x: number
参数
y: number
返回void
#Mupdate
签名
update(deltaTime: number): void
描述

合成更新,针对所有 item 的更新

参数
deltaTime: number

更新的时间步长

返回void