结束行为

阅读时间:1分钟更新于 2024-11-11 15:2

合成结束行为类型

Galacean Effects 合成在设定的时长到达时会触发对应的结束行为,具体包括:销毁无限播放重播冻结

每种结束行为分别对应合成结束后的产物处理方式:

  • 销毁:合成结束时,会被销毁并从画面清除,合成使用的数据和 GPU 资源会被释放
  • 无限播放:合成会无限播放,除非暂停或者销毁 player,交互元素可以在其对应生命周期触发
  • 重播:合成结束时,player 会从头继续播放合成,播放不会停止
  • 冻结:合成结束时,会被销毁释放资源,同时保留最后一帧图像在画面(注意,这个时候交互元素不再能够触发)

结束回调

为了实现不同场景的应用,我们在合成上添加了合成播放结束回调 composition.on('end', ()=>{}),回调会在合成每次播放结束时触发:

  • 销毁:合成播放完成时触发一次end回调
  • 冻结:合成播放完成时触发一次end回调
  • 无限播放:合成第一次播放至生命周期结束时触发end,后续不再会触发
  • 重播:合成每一遍播放结束都会触发end

举例场景

需要产物播放指定次数。

解决思路:

通过调用合成的播放结束回调,记录播放次数,在指定次数时选择暂停播放或者销毁播放期等。

Preview