Skip to content

@orillusion/particle


Class: ParticleSystem ​

Defined in: packages/particle/ParticleSystem.ts:10

A particle system can simulate and render many small images or geometries, it called particles to produce visual effects

Extends ​

  • RenderNode

Constructors ​

Constructor ​

new ParticleSystem(): ParticleSystem

Defined in: packages/particle/ParticleSystem.ts:31

Returns ​

ParticleSystem

Overrides ​

RenderNode.constructor

Properties ​

object3D ​

object3D: Object3D = null

Defined in: src/components/ComponentBase.ts:29

owner object3D

Inherited from ​

RenderNode.object3D


isDestroyed ​

isDestroyed: boolean = false

Defined in: src/components/ComponentBase.ts:77

Inherited from ​

RenderNode.isDestroyed


instanceCount ​

instanceCount: number = 0

Defined in: src/components/renderer/RenderNode.ts:35

Inherited from ​

RenderNode.instanceCount


lodLevel ​

lodLevel: number = 0

Defined in: src/components/renderer/RenderNode.ts:36

Inherited from ​

RenderNode.lodLevel


alwaysRender ​

alwaysRender: boolean = false

Defined in: src/components/renderer/RenderNode.ts:37

Inherited from ​

RenderNode.alwaysRender


instanceID ​

instanceID: string

Defined in: src/components/renderer/RenderNode.ts:38

Inherited from ​

RenderNode.instanceID


drawType ​

drawType: number = 0

Defined in: src/components/renderer/RenderNode.ts:39

Inherited from ​

RenderNode.drawType


isRenderOrderChange? ​

optional isRenderOrderChange?: boolean

Defined in: src/components/renderer/RenderNode.ts:55

Inherited from ​

RenderNode.isRenderOrderChange


needSortOnCameraZ? ​

optional needSortOnCameraZ?: boolean

Defined in: src/components/renderer/RenderNode.ts:56

Inherited from ​

RenderNode.needSortOnCameraZ


shadowCacheMode ​

shadowCacheMode: "auto" | "static" | "dynamic" = 'auto'

Defined in: src/components/renderer/RenderNode.ts:437

Shadow cache classification.

  • 'auto' (default): renderer is drawn to the shadow map every frame as part of the single-pass render — matches historical behaviour.
  • 'static': renderer is drawn only to the cached static depth layer, rebuilt lazily when the light moves or the scene explicitly marks the static cache dirty. Use for buildings, terrain, prop meshes that don't move.
  • 'dynamic': renderer is drawn every frame on top of the copied-in static layer. Use for characters, physics objects, anything that moves.

Only consulted when engine.setting.shadow.enableStaticCache === true; otherwise all renderers behave as 'auto'.

Inherited from ​

RenderNode.shadowCacheMode


autoPlay ​

autoPlay: boolean = true

Defined in: packages/particle/ParticleSystem.ts:14

whether the animation will auto play


particleSimulator ​

particleSimulator: ParticleSimulator

Defined in: packages/particle/ParticleSystem.ts:19

the simulator of particle.


playing ​

playing: boolean = false

Defined in: packages/particle/ParticleSystem.ts:24

playing status


playSpeed ​

playSpeed: number = 1.0

Defined in: packages/particle/ParticleSystem.ts:29

animation playing speed

Accessors ​

visibleLayer ​

Get Signature ​

get visibleLayer(): number

Defined in: src/components/ComponentBase.ts:46

Composition-layer membership bitmask. The pass / camera / collector filters via

(component.visibleLayer & pass.layerMask & camera.cullingMask) !== 0

Defaults to VisibleLayer.Default (bit 0) so a fresh subclass is visible to passes whose layerMask is VisibleLayer.All (which includes bit 0). Application code can assign project-specific bits (1..31) to organise the scene into composition layers.

Returns ​

number

Set Signature ​

set visibleLayer(value): void

Defined in: src/components/ComponentBase.ts:50

Parameters ​
value ​

number

Returns ​

void

Inherited from ​

RenderNode.visibleLayer


eventDispatcher ​

Get Signature ​

get eventDispatcher(): CEventDispatcher

Defined in: src/components/ComponentBase.ts:63

Returns ​

CEventDispatcher

Set Signature ​

set eventDispatcher(value): void

Defined in: src/components/ComponentBase.ts:68

Parameters ​
value ​

CEventDispatcher

Returns ​

void

Inherited from ​

RenderNode.eventDispatcher


isStart ​

Get Signature ​

get isStart(): boolean

Defined in: src/components/ComponentBase.ts:79

Returns ​

boolean

Inherited from ​

RenderNode.isStart


transform ​

Get Signature ​

get transform(): Transform

Defined in: src/components/ComponentBase.ts:89

Return the Transform component attached to the Object3D. Null before the component is attached — addComponent assigns object3D only after construction — so constructor-time callers can probe safely via this.transform?..

Returns ​

Transform

Inherited from ​

RenderNode.transform


enable ​

Get Signature ​

get enable(): boolean

Defined in: src/components/ComponentBase.ts:113

Enable/disable components. The enabled components can be updated, while the disabled components cannot be updated.

Returns ​

boolean

Set Signature ​

set enable(value): void

Defined in: src/components/ComponentBase.ts:96

Enable/disable components. The enabled components can be updated, while the disabled components cannot be updated.

Parameters ​
value ​

boolean

Returns ​

void

Inherited from ​

RenderNode.enable


batchMode ​

Get Signature ​

get batchMode(): BatchMode

Defined in: src/components/renderer/RenderNode.ts:118

Returns ​

BatchMode

Set Signature ​

set batchMode(value): void

Defined in: src/components/renderer/RenderNode.ts:122

Parameters ​
value ​

BatchMode

Returns ​

void

Inherited from ​

RenderNode.batchMode


rendererMask ​

Get Signature ​

get rendererMask(): number

Defined in: src/components/renderer/RenderNode.ts:156

Returns ​

number

Set Signature ​

set rendererMask(value): void

Defined in: src/components/renderer/RenderNode.ts:160

Parameters ​
value ​

number

Returns ​

void

Inherited from ​

RenderNode.rendererMask


renderOrder ​

Get Signature ​

get renderOrder(): number

Defined in: src/components/renderer/RenderNode.ts:164

Returns ​

number

Set Signature ​

set renderOrder(value): void

Defined in: src/components/renderer/RenderNode.ts:168

Parameters ​
value ​

number

Returns ​

void

Inherited from ​

RenderNode.renderOrder


materials ​

Get Signature ​

get materials(): Material[]

Defined in: src/components/renderer/RenderNode.ts:177

Returns ​

Material[]

Set Signature ​

set materials(value): void

Defined in: src/components/renderer/RenderNode.ts:181

Parameters ​
value ​

Material[]

Returns ​

void

Inherited from ​

RenderNode.materials


castShadow ​

Get Signature ​

get castShadow(): boolean

Defined in: src/components/renderer/RenderNode.ts:413

Returns ​

boolean

Set Signature ​

set castShadow(value): void

Defined in: src/components/renderer/RenderNode.ts:417

Parameters ​
value ​

boolean

Returns ​

void

Inherited from ​

RenderNode.castShadow


castGI ​

Get Signature ​

get castGI(): boolean

Defined in: src/components/renderer/RenderNode.ts:440

Returns ​

boolean

Set Signature ​

set castGI(value): void

Defined in: src/components/renderer/RenderNode.ts:444

Parameters ​
value ​

boolean

Returns ​

void

Inherited from ​

RenderNode.castGI


castReflection ​

Get Signature ​

get castReflection(): boolean

Defined in: src/components/renderer/RenderNode.ts:448

Returns ​

boolean

Set Signature ​

set castReflection(value): void

Defined in: src/components/renderer/RenderNode.ts:452

Parameters ​
value ​

boolean

Returns ​

void

Inherited from ​

RenderNode.castReflection


material ​

Get Signature ​

get material(): Material

Defined in: packages/particle/ParticleSystem.ts:42

material

Returns ​

Material

Set Signature ​

set material(value): void

Defined in: packages/particle/ParticleSystem.ts:46

Parameters ​
value ​

Material

Returns ​

void


geometry ​

Get Signature ​

get geometry(): GeometryBase

Defined in: packages/particle/ParticleSystem.ts:53

The geometry of the mesh determines its shape

Returns ​

GeometryBase

Set Signature ​

set geometry(value): void

Defined in: packages/particle/ParticleSystem.ts:57

Parameters ​
value ​

GeometryBase

Returns ​

void

Overrides ​

RenderNode.geometry


preheatTime ​

Get Signature ​

get preheatTime(): number

Defined in: packages/particle/ParticleSystem.ts:76

Get preheat time(second)

Returns ​

number

Set Signature ​

set preheatTime(value): void

Defined in: packages/particle/ParticleSystem.ts:69

Set preheat time(second)

Parameters ​
value ​

number

Returns ​

void


looping ​

Get Signature ​

get looping(): boolean

Defined in: packages/particle/ParticleSystem.ts:90

Get particle simulator's looping

Returns ​

boolean

Set Signature ​

set looping(value): void

Defined in: packages/particle/ParticleSystem.ts:83

Set particle simulator's looping

Parameters ​
value ​

boolean

Returns ​

void

Methods ​

onUpdate()? ​

optional onUpdate(view?): any

Defined in: src/components/ComponentBase.ts:166

Parameters ​

view? ​

View3D

Returns ​

any

Inherited from ​

RenderNode.onUpdate


onLateUpdate()? ​

optional onLateUpdate(view?): any

Defined in: src/components/ComponentBase.ts:167

Parameters ​

view? ​

View3D

Returns ​

any

Inherited from ​

RenderNode.onLateUpdate


onBeforeUpdate()? ​

optional onBeforeUpdate(view?): any

Defined in: src/components/ComponentBase.ts:168

Parameters ​

view? ​

View3D

Returns ​

any

Inherited from ​

RenderNode.onBeforeUpdate


onGraphic()? ​

optional onGraphic(view?): any

Defined in: src/components/ComponentBase.ts:170

Parameters ​

view? ​

View3D

Returns ​

any

Inherited from ​

RenderNode.onGraphic


onParentChange()? ​

optional onParentChange(lastParent?, currentParent?): any

Defined in: src/components/ComponentBase.ts:171

Parameters ​

lastParent? ​

Object3D

currentParent? ​

Object3D

Returns ​

any

Inherited from ​

RenderNode.onParentChange


onAddChild()? ​

optional onAddChild(child): any

Defined in: src/components/ComponentBase.ts:172

Parameters ​

child ​

Object3D

Returns ​

any

Inherited from ​

RenderNode.onAddChild


onRemoveChild()? ​

optional onRemoveChild(child): any

Defined in: src/components/ComponentBase.ts:173

Parameters ​

child ​

Object3D

Returns ​

any

Inherited from ​

RenderNode.onRemoveChild


cloneTo() ​

cloneTo(obj): void

Defined in: src/components/ComponentBase.ts:180

clone component data to target object3D

Parameters ​

obj ​

Object3D

target object3D

Returns ​

void

Inherited from ​

RenderNode.cloneTo


attachSceneOctree() ​

attachSceneOctree(octree): void

Defined in: src/components/renderer/RenderNode.ts:87

Parameters ​

octree ​

Octree

Returns ​

void

Inherited from ​

RenderNode.attachSceneOctree


detachSceneOctree() ​

detachSceneOctree(): void

Defined in: src/components/renderer/RenderNode.ts:92

Returns ​

void

Inherited from ​

RenderNode.detachSceneOctree


copyComponent() ​

copyComponent(from): this

Defined in: src/components/renderer/RenderNode.ts:104

Parameters ​

from ​

this

Returns ​

this

Inherited from ​

RenderNode.copyComponent


addMask() ​

addMask(mask): void

Defined in: src/components/renderer/RenderNode.ts:144

Parameters ​

mask ​

RendererMask

Returns ​

void

Inherited from ​

RenderNode.addMask


removeMask() ​

removeMask(mask): void

Defined in: src/components/renderer/RenderNode.ts:148

Parameters ​

mask ​

RendererMask

Returns ​

void

Inherited from ​

RenderNode.removeMask


hasMask() ​

hasMask(mask): boolean

Defined in: src/components/renderer/RenderNode.ts:152

Parameters ​

mask ​

RendererMask

Returns ​

boolean

Inherited from ​

RenderNode.hasMask


addRendererMask() ​

addRendererMask(tag): void

Defined in: src/components/renderer/RenderNode.ts:232

Parameters ​

tag ​

RendererMask

Returns ​

void

Inherited from ​

RenderNode.addRendererMask


removeRendererMask() ​

removeRendererMask(tag): void

Defined in: src/components/renderer/RenderNode.ts:236

Parameters ​

tag ​

RendererMask

Returns ​

void

Inherited from ​

RenderNode.removeRendererMask


onEnable() ​

onEnable(): void

Defined in: src/components/renderer/RenderNode.ts:240

Returns ​

void

Inherited from ​

RenderNode.onEnable


onDisable() ​

onDisable(): void

Defined in: src/components/renderer/RenderNode.ts:250

Returns ​

void

Inherited from ​

RenderNode.onDisable


refreshRenderClassification() ​

refreshRenderClassification(): void

Defined in: src/components/renderer/RenderNode.ts:270

Recompute renderOrder from current pass states and re-bucket this renderer in EntityCollect (opaque vs transparent map).

Called when a material's alphaMode flips at runtime — the pass.renderOrder changes (3000 ↔ 0), but EntityCollect classifies once at addRenderNode time. Without this nudge the renderer stays in its old list and gets drawn through the wrong pipeline (e.g. WBOIT continues drawing a HASH-toggled material).

Materials hop into this via Reference.getReference(material) to find every renderer holding them; sample code can also call it directly after manual state changes.

Returns ​

void

Inherited from ​

RenderNode.refreshRenderClassification


selfCloneMaterials() ​

selfCloneMaterials(key): this

Defined in: src/components/renderer/RenderNode.ts:295

Parameters ​

key ​

string

Returns ​

this

Inherited from ​

RenderNode.selfCloneMaterials


renderPass() ​

renderPass(view, passType, renderContext): void

Defined in: src/components/renderer/RenderNode.ts:456

Parameters ​

view ​

View3D

passType ​

PassType

renderContext ​

RenderContext

Returns ​

void

Inherited from ​

RenderNode.renderPass


renderPass2() ​

renderPass2(view, passType, rendererPassState, clusterLightingBuffer, encoder, useBundle?): void

Defined in: src/components/renderer/RenderNode.ts:528

render pass at passType

Parameters ​

view ​

View3D

passType ​

PassType

rendererPassState ​

RendererPassState

clusterLightingBuffer ​

ClusterLightingBuffer

encoder ​

GPURenderPassEncoder

useBundle? ​

boolean = false

Returns ​

void

Inherited from ​

RenderNode.renderPass2


recordRenderPass2() ​

recordRenderPass2(view, passType, rendererPassState, clusterLightingBuffer, encoder, useBundle?): void

Defined in: src/components/renderer/RenderNode.ts:586

Parameters ​

view ​

View3D

passType ​

PassType

rendererPassState ​

RendererPassState

clusterLightingBuffer ​

ClusterLightingBuffer

encoder ​

GPURenderPassEncoder

useBundle? ​

boolean = false

Returns ​

void

Inherited from ​

RenderNode.recordRenderPass2


preInit() ​

preInit(_rendererType): boolean

Defined in: src/components/renderer/RenderNode.ts:624

Parameters ​

_rendererType ​

PassType

Returns ​

boolean

Inherited from ​

RenderNode.preInit


nodeUpdate() ​

nodeUpdate(view, passType, renderPassState, clusterLightingBuffer?): void

Defined in: src/components/renderer/RenderNode.ts:628

Parameters ​

view ​

View3D

passType ​

PassType

renderPassState ​

RendererPassState

clusterLightingBuffer? ​

ClusterLightingBuffer

Returns ​

void

Inherited from ​

RenderNode.nodeUpdate


beforeDestroy() ​

beforeDestroy(force?): void

Defined in: src/components/renderer/RenderNode.ts:741

before release this component, object refrences are not be set null now.

Parameters ​

force? ​

boolean

Returns ​

void

Inherited from ​

RenderNode.beforeDestroy


destroy() ​

destroy(force?): void

Defined in: src/components/renderer/RenderNode.ts:762

release this component

Parameters ​

force? ​

boolean

Returns ​

void

Inherited from ​

RenderNode.destroy


init() ​

init(): void

Defined in: packages/particle/ParticleSystem.ts:94

Returns ​

void

Overrides ​

RenderNode.init


useSimulator() ​

useSimulator<T>(c): ParticleSimulator

Defined in: packages/particle/ParticleSystem.ts:102

Set to use the specified particle emulator

Type Parameters ​

T ​

T extends ParticleSimulator

Parameters ​

c ​

Ctor<T>

class of particle emulator

Returns ​

ParticleSimulator


play() ​

play(speed?): void

Defined in: packages/particle/ParticleSystem.ts:112

start to play animation, with a speed value

Parameters ​

speed? ​

number = 1.0

playSpeed, seeplaySpeed

Returns ​

void


stop() ​

stop(): void

Defined in: packages/particle/ParticleSystem.ts:120

stop playing

Returns ​

void

Overrides ​

RenderNode.stop


start() ​

start(): void

Defined in: packages/particle/ParticleSystem.ts:124

Returns ​

void

Overrides ​

RenderNode.start


onCompute() ​

onCompute(view, command): void

Defined in: packages/particle/ParticleSystem.ts:147

Parameters ​

view ​

View3D

command ​

GPUCommandEncoder

Returns ​

void

Overrides ​

RenderNode.onCompute

Released under the MIT License