可选options: {配置
可选maxParticles?: {}按层 id 覆盖粒子池上限,
如 {smoke: 20000}
可选onNeedsRender?: Function需要补一帧时的回调,按需渲染下必须传,
一般是 () => engine.requestRender()
可选preset?: any预设名,或自定义预设对象
可选renderMode?: string | {}覆盖层的渲染模式,
'instanced' 统一覆盖所有层,或 {flame: 'instanced'} 按层 id 覆盖。
只在建层时生效(SPE 的 Group 构造后改不了渲染模式)
可选renderOrder?: number各层 renderOrder 的基准值
移除所有实例,但保留已创建的层(贴图不会重新下载)。
新建一个特效实例。
传的是已解析好的层配置,不是业务参数 —— 一般写成
system.createEmitter({position, layerOptions: system.resolveLayerOptions(params)})。
可选options: any见 ParticleEmitter 的构造参数
实例句柄
释放全部资源:实例、层、贴图。
移除一个特效实例。
createEmitter 返回的句柄
请求补一帧。按需渲染下不调它,粒子会静止不动。
每帧推进。
帧间隔,秒。应该用引擎的 renderState.deltaTime, 而不是自己 new 一个 THREE.Clock —— 否则按需渲染下时间轴会和引擎打架。
渲染器
当前相机
一套粒子系统。