PartikelEmitter
Beschreibung
Diese Komponente bewirkt, dass ein Objekt Partikel aussendet.
Eigenschaften
Eigenschaft | Typ | Standard | Beschreibung |
---|---|---|---|
gestoppt | boolean | false | Wiedergabestatus des Senders |
emitterLife | Nummer | 0 | Die Lebensdauer des Strahlers in Sekunden |
PartikelPerSchuss | integer | 20 | Partikel pro Emission |
emitDelay | Nummer | 0.1 | Die Zeit zwischen den Partikelemissionen |
minimumLifespan | Nummer | 1 | Mindestlebensdauerbereich für jedes Partikel |
maximumLifespan | Nummer | 1 | Maximale Reichweite der Lebensdauer für jedes Partikel |
Masse | Nummer | 1 | Masse der einzelnen Teilchen |
Schwerkraft | Nummer | 0.2 | Schwerkraftfaktor der einzelnen Teilchen |
scale | Nummer | 0.2 | Einheitliche Skala für jedes Teilchen |
forceX | Nummer | 5 | Kraft, die auf jedes Teilchen in X-Richtung ausgeübt wird |
forceY | Nummer | 12 | Kraft, die auf jedes Teilchen in Y-Richtung ausgeübt wird |
forceZ | Nummer | 5 | Kraft, die auf jedes Teilchen in Z-Richtung ausgeübt wird |
Verbreitung | Nummer | 360 | Gebiet und Richtung, in der jedes Partikel relativ zu seinem Ursprung entsteht |
radialVelocity | Nummer | 5 | Höhe der auf jedes Teilchen angewandten Radialgeschwindigkeit |
spawnAreaType | String | Punkt | Unterstützte Typen sind: Punkt", "Box" und "Kugel". |
spawnAreaWidth | Nummer | 0 | Breite des Feldes für den Laichbereich (nur Box) |
spawnAreaHeight | Nummer | 0 | Höhe der Spawn Area Box (nur Box) |
spawnAreaDepth | Nummer | 0 | Tiefe des Laichgebietskastens (nur Kasten) |
spawnAreaRadius | Nummer | 0 | Radius der Sphäre des Spawnbereichs (nur Sphere) |
boundingZoneType | String | keine | Unterstützte Typen sind: 'keine', 'Box', 'Kugel' |
boundingZoneWidth | Nummer | 0 | Breite der Begrenzungszone (nur Box) |
boundingZoneHeight | Nummer | 0 | Höhe der Begrenzungszone (nur Box) |
boundingZoneDepth | Nummer | 0 | Tiefe der Begrenzungszone (nur Box) |
boundingZoneRadius | Nummer | 0 | Radius der Begrenzungszone (nur Sphere) |
resourceType | String | Sprite | Unterstützte Typen sind: 'sprite' und 'model'. |
resourceUrl | Zeichenfolge (URL) | '' | URL der Ressource |
blendingMode | String | keine | Unterstützte Typen sind: 'keine', 'normal', 'addieren', 'multiplizieren' und 'subtrahieren'. |
animateColor | boolean | false | Legt fest, ob die Farbe animiert werden soll |
colorStart | Zeichenkette (Hex) | undefiniert | Die Ausgangsfarbe eines jeden Partikels |
colorEnd | Zeichenkette (Hex) | undefiniert | Die Endfarbe der einzelnen Partikel |
randomDrift | boolean | false | Randomisiertes Driften für jedes Partikel aktivieren |
randomDriftRange | Nummer | undefiniert | Bestimmt den zufälligen Driftbereich und die Geschwindigkeit eines jeden Partikels |
Kollisionen | boolean | false | Legt fest, ob Partikel auf physikalische Kollisionen reagieren sollen |
Funktionen
Get
Returns a read-only reference.
Example
ecs.ParticleEmitter.get(world, component.eid)
Set
Ensures the component exists on the entity, then assigns the (optional) data to the component.
Example
ecs.ParticleEmitter.set(world, component.eid, {
stopped: false,
emitterLife: 0,
particlesPerShot: 20,
emitDelay: 0.1,
minimumLifespan: 1,
maximumLifespan: 1,
mass: 1,
gravity: 0.2,
scale: 0.2,
forceX: 5,
forceY: 12,
forceZ: 5,
spread: 360
})
Mutate
Perform an update to the component within a callback function. Return true
to indicate no changes made.
Example
ecs.ParticleEmitter.mutate(world, component.eid, (cursor) => {
cursor.emitDelay = 0.05;
cursor.particlesPerShot = 50;
return false;
})
Remove
Removes the component from the entity.
Example
ecs.ParticleEmitter.remove(world, component.eid)
Has
Returns true
if the component is present on the entity.
Example
ecs.ParticleEmitter.has(world, component.eid)
Reset
Adds, or resets the component to its default state.
Example
ecs.ParticleEmitter.reset(world, component.eid)
Advanced Functions
Cursor
Returns a mutable reference. Cursors are reused so only one cursor for each component can exist at a time.
Example
ecs.ParticleEmitter.cursor(world, component.eid)
Acquire
Same behavior as cursor, but commit must be called after the cursor is done being used.
Example
ecs.ParticleEmitter.acquire(world, component.eid)
Commit
Called after acquire. An optional third argument determines whether the cursor was mutated or not.
Example
ecs.ParticleEmitter.commit(world, component.eid)
ecs.ParticleEmitter.commit(world, component.eid, false)
Dirty
Mark the entity as having been mutated. Only needed in a specific case where systems are mutating data.
Example
ecs.ParticleEmitter.dirty(world, component.eid)