# Class: Particle
# Hierarchy
BasicParticle↳
Particle
# Table of contents
# Constructors
# Events
# Properties
# Accessors
- billboardMode
- data
- el
- emitterPosition
- id
- material
- particleEmitter
- scene
- spriteChangeSpeed
- useBillboard
- useRampGradients
- useRandomSpriteCellIndex
- useSpriteCellLoop
- useSpriteSheet
- version
# Methods
- addAlphaGradient
- addColorGradient
- addColorRemapGradient
- addDragGradient
- addLimitSpeedGradient
- addRampGradient
- addSizeGradient
- addSpeedScaleGradient
- clone
- createBoxEmitter
- createPointEmitter
- createSphereEmitter
- createSubEmitter
- getData
- initParticle
- resetParticle
- setData
- setDataOne
- start
- stop
# Constructors
# constructor
• new Particle()
# Inherited from
BasicParticle.constructor
# Events
# onAdd
• onAdd:
# onRelease
• onRelease:
# onRemove
• onRemove:
# onTick
• onTick:
# onUpdate
• onUpdate:
# Properties
# priority
• Readonly priority: number = 300
# Overrides
BasicParticle.priority
# schema
• Readonly schema: IComponentSchema
# Inherited from
BasicParticle.schema
# subEmitters
• subEmitters: any = null
# EVENTS
▪ Static EVENTS: string[]
# Overrides
BasicParticle.EVENTS
# Accessors
# billboardMode
• get billboardMode(): number
# Returns
number
• set billboardMode(value): void
# Parameters
| Name | Type |
|---|---|
value | number |
# Returns
void
# data
• get data(): IParticleData
# Returns
• set data(value): void
# Parameters
| Name | Type |
|---|---|
value | IParticleData |
# Returns
void
# el
• get el(): Element
挂载的元素。
# Returns
# emitterPosition
• get emitterPosition(): Vector3
# Returns
• set emitterPosition(value): void
# Parameters
| Name | Type |
|---|---|
value | Vector3 |
# Returns
void
# id
• get id(): number
# Returns
number
# material
• get material(): Material
# Returns
• set material(value): void
# Parameters
| Name | Type |
|---|---|
value | Material |
# Returns
void
# particleEmitter
• get particleEmitter(): BasicShapeEmitter
# Returns
BasicShapeEmitter
# scene
• get scene(): Scene
当前场景。
# Returns
# spriteChangeSpeed
• get spriteChangeSpeed(): number
# Returns
number
# useBillboard
• get useBillboard(): boolean
# Returns
boolean
• set useBillboard(value): void
# Parameters
| Name | Type |
|---|---|
value | boolean |
# Returns
void
# useRampGradients
• get useRampGradients(): boolean
# Returns
boolean
• set useRampGradients(value): void
# Parameters
| Name | Type |
|---|---|
value | boolean |
# Returns
void
# useRandomSpriteCellIndex
• get useRandomSpriteCellIndex(): boolean
# Returns
boolean
# useSpriteCellLoop
• get useSpriteCellLoop(): boolean
# Returns
boolean
# useSpriteSheet
• get useSpriteSheet(): boolean
# Returns
boolean
• set useSpriteSheet(value): void
# Parameters
| Name | Type |
|---|---|
value | boolean |
# Returns
void
# version
• get version(): number
当前版本,每次有数据更新都会增加,可以用作和其他组件合作的依据。
# Returns
number
# Methods
# addAlphaGradient
▸ addAlphaGradient(gradient, alpha, alpha2?): void
添加粒子运动过程中的透明度变化规则。
# Parameters
| Name | Type | Description |
|---|---|---|
gradient | number | 指定所处粒子生命周期的阶段 |
alpha | number | 指定粒子颜色透明度的左区间[0-1] |
alpha2? | number | 指定粒子颜色透明度的右区间[0-1] |
# Returns
void
# Inherited from
BasicParticle.addAlphaGradient
# addColorGradient
▸ addColorGradient(gradient, color1, color2?): void
添加粒子运动过程中的颜色变化规则。
# Parameters
| Name | Type | Description |
|---|---|---|
gradient | number | 指定所处粒子生命周期的阶段 |
color1 | Vector4 | 指定粒子颜色的左区间 |
color2? | Vector4 | 指定粒子颜色的右区间 |
# Returns
void
# Inherited from
BasicParticle.addColorGradient
# addColorRemapGradient
▸ addColorRemapGradient(gradient, min, max?): void
添加粒子运动过程中的透明度变化范围。
# Parameters
| Name | Type | Description |
|---|---|---|
gradient | number | 指定所处粒子生命周期的阶段 |
min | number | 指定粒子透明度值的左区间 |
max? | number | 指定粒子透明度值的右区间 |
# Returns
void
# Inherited from
BasicParticle.addColorRemapGradient
# addDragGradient
▸ addDragGradient(gradient, drag, drag2?): void
添加粒子运动过程中的阻力规则。
# Parameters
| Name | Type | Description |
|---|---|---|
gradient | number | 指定所处粒子生命周期的阶段 |
drag | number | - |
drag2? | number | - |
# Returns
void
# Inherited from
BasicParticle.addDragGradient
# addLimitSpeedGradient
▸ addLimitSpeedGradient(gradient, limitSpeed, limitSpeed2?): void
添加粒子运动过程中的速度限制规则。
# Parameters
| Name | Type | Description |
|---|---|---|
gradient | number | 指定所处粒子生命周期的阶段 |
limitSpeed | number | 指定粒子限制速度的左区间 |
limitSpeed2? | number | 指定粒子限制速度的右区间 |
# Returns
void
# Inherited from
BasicParticle.addLimitSpeedGradient
# addRampGradient
▸ addRampGradient(gradient, color): void
添加粒子运动过程中的根据透明度影响的颜色变化规则,将通过颜色变化图纹理进行采样。
# Parameters
| Name | Type | Description |
|---|---|---|
gradient | any | 指定粒子颜色变化图的具体位置,对应具体值应为(1-alpha) |
color | any | 指定该位置的颜色 |
# Returns
void
# Inherited from
BasicParticle.addRampGradient
# addSizeGradient
▸ addSizeGradient(gradient, size, size2?): void
添加粒子运动过程中的尺寸变化规则。
# Parameters
| Name | Type | Description |
|---|---|---|
gradient | number | 指定所处粒子生命周期的阶段 |
size | number | 指定粒子尺寸的左区间 |
size2? | number | 指定粒子尺寸的右区间 |
# Returns
void
# Inherited from
BasicParticle.addSizeGradient
# addSpeedScaleGradient
▸ addSpeedScaleGradient(gradient, speed, speed2?): void
添加粒子运动过程中的速度变化规则。
# Parameters
| Name | Type | Description |
|---|---|---|
gradient | number | 指定所处粒子生命周期的阶段 |
speed | number | 指定粒子速度的左区间 |
speed2? | number | 指定粒子速度的右区间 |
# Returns
void
# Inherited from
BasicParticle.addSpeedScaleGradient
# clone
▸ clone(): Particle
获取一个拷贝的粒子系统。
# Returns
# Inherited from
BasicParticle.clone
# createBoxEmitter
▸ createBoxEmitter(direction1, direction2, minEmitBox, maxEmitBox): default
创建一个箱形发射器。
# Parameters
| Name | Type | Description |
|---|---|---|
direction1 | Vector3 | 粒子运动方向左区间 |
direction2 | Vector3 | 粒子运动方向右区间 |
minEmitBox | Vector3 | 粒子生成位置最小允许坐标 |
maxEmitBox | Vector3 | 粒子生成位置最大允许坐标 |
# Returns
default
箱形发射器
# Inherited from
BasicParticle.createBoxEmitter
# createPointEmitter
▸ createPointEmitter(direction1, direction2): default
创建一个点发射器。
# Parameters
# Returns
default
点发射器
# Inherited from
BasicParticle.createPointEmitter
# createSphereEmitter
▸ createSphereEmitter(radius, radiusRange, arc, randomizeDirection): default
创建一个球形发射器。
# Parameters
| Name | Type | Description |
|---|---|---|
radius | number | 球形半径 |
radiusRange | number | 球形区域内的覆盖范围[0-1] |
arc | number | 粒子在球形内生成的角度区间[0-360] |
randomizeDirection | number | 粒子运动方向偏离程度[0-1] |
# Returns
default
球形发射器
# Inherited from
BasicParticle.createSphereEmitter
# createSubEmitter
▸ createSubEmitter(data): SubEmitter
获取一个粒子子发射器。
# Parameters
| Name | Type |
|---|---|
data | IParticleData |
# Returns
SubEmitter
# Inherited from
BasicParticle.createSubEmitter
# getData
▸ getData<T>(key): IParticleData[T]
获取一个当前值。
# Type parameters
| Name | Type |
|---|---|
T | extends keyof IParticleData |
# Parameters
| Name | Type |
|---|---|
key | T |
# Returns
# Inherited from
BasicParticle.getData
# initParticle
▸ initParticle(data): void
初始化粒子系统的状态。
# Parameters
| Name | Type |
|---|---|
data | IParticleData |
# Returns
void
# resetParticle
▸ resetParticle(): void
重置粒子系统的状态。
# Returns
void
# setData
▸ setData(data): void
不通过xml而是直接设置data,注意值的类型需要和schema中一致。
# Parameters
| Name | Type |
|---|---|
data | Partial<IParticleData> |
# Returns
void
# Inherited from
BasicParticle.setData
# setDataOne
▸ setDataOne<T>(key, value): void
设置一个数据。
# Type parameters
| Name | Type |
|---|---|
T | extends keyof IParticleData |
# Parameters
| Name | Type |
|---|---|
key | T |
value | IParticleData[T] |
# Returns
void
# Inherited from
BasicParticle.setDataOne
# start
▸ start(delay?): void
粒子系统开始播放。
# Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
delay | number | 0 | 设定粒子延时几秒后再播放。 |
# Returns
void
# stop
▸ stop(): void
停止粒子系统与其子发射器的播放。
# Returns
void