ParticleEmitter3D QML Type
Emitter für logische Partikel. Mehr...
Import Statement: | import QtQuick3D.Particles3D |
Since: | Qt 6.2 |
Inherits: | |
Inherited By: |
Eigenschaften
- depthBias : real
- emitBursts : List<EmitBurst3D>
- emitRate : real
- enabled : bool
- lifeSpan : int
- lifeSpanVariation : int
- particle : Particle3D
- particleEndScale : real
- particleEndScaleVariation : real
- particleRotation : vector3d
- particleRotationVariation : vector3d
- particleRotationVelocity : vector3d
- particleRotationVelocityVariation : vector3d
- particleScale : real
- particleScaleVariation : real
- shape : ParticleAbstractShape3D
- system : ParticleSystem3D
- velocity : Direction3D
Methoden
- vector3d burst(int count)
- vector3d burst(int count, int duration)
- vector3d burst(int count, int duration, vector3d position)
Detaillierte Beschreibung
Dieses Element emittiert logische Partikel in die ParticleSystem3D mit den angegebenen Startattributen.
Mindestens ein Emitter ist erforderlich, um Partikel in der ParticleSystem3D zu haben. Es gibt einige verschiedene Möglichkeiten, die emittierende Menge zu kontrollieren:
- Legen Sie die emitRate fest, die bestimmt, wie viele Partikel pro Sekunde kontinuierlich emittiert werden.
- Fügen Sie EmitBurst3D Elemente in die emitBursts Eigenschaft ein, um Bursts deklarativ zu emittieren.
- Rufen Sie eine der Methoden burst() auf, um Bursts sofort zu emittieren.
Eigenschaft Dokumentation
depthBias : real |
Enthält die Tiefenverzerrung des Emitters. Die Tiefenverzerrung wird beim Sortieren von Objekten zum Abstand des Objekts zur Kamera addiert. Dies kann verwendet werden, um die Rendering-Reihenfolge zwischen nahe beieinander liegenden Objekten zu erzwingen, die ansonsten in verschiedenen Frames in unterschiedlicher Reihenfolge gerendert werden könnten. Negative Werte bewirken, dass der Sortierwert näher an die Kamera heranrückt, während positive Werte ihn weiter von der Kamera wegbewegen.
emitBursts : List<EmitBurst3D> |
Diese Eigenschaft nimmt eine Liste von EmitBurst3D Elementen auf, um deklarativ Bursts zu definieren. Wenn der Startzeitpunkt, die Menge und die Dauer des Bursts im Voraus bekannt sind, ist es besser, diese Eigenschaft zu verwenden, als z. B. burst() mit Timer aufzurufen.
Zum Beispiel, um 100 Partikel zu Beginn und 50 Partikel nach 2 Sekunden zu emittieren:
ParticleEmitter3D { emitBursts: [ EmitBurst3D { time: 0 amount: 100 }, EmitBurst3D { time: 2000 amount: 50 } ] }
Siehe auch burst().
emitRate : real |
Diese Eigenschaft definiert die konstante Emissionsrate in Partikeln pro Sekunde. Wenn emitRate zum Beispiel 120 ist und das System mit 60 Bildern pro Sekunde animiert, werden bei jedem Bild 2 neue Partikel emittiert.
Der Standardwert ist 0
.
enabled : bool |
Wenn enabled auf false
gesetzt ist, wird dieser Emitter keine Partikel aussenden. Normalerweise wird dies verwendet, um einen Emitter bedingt ein- oder auszuschalten. Wenn Sie weiterhin Bursts emittieren möchten, lassen Sie emitRate auf 0 stehen, anstatt den Wert auf false
zu setzen.
Der Standardwert ist true
.
lifeSpan : int |
Diese Eigenschaft definiert die Lebensdauer eines einzelnen Partikels in Millisekunden.
Der Standardwert ist 1000
.
Siehe auch lifeSpanVariation.
lifeSpanVariation : int |
Diese Eigenschaft definiert die Lebensspanne eines einzelnen Partikels in Millisekunden.
Zum Beispiel, um Partikel zu emittieren, die zwischen 3 und 4 Sekunden existieren werden:
ParticleEmitter3D { ... lifeSpan: 3500 lifeSpanVariation: 500 }
Der Standardwert ist 0
.
Siehe auch lifeSpan.
particle : Particle3D |
Diese Eigenschaft definiert den logischen Partikel, den dieser Emitter ausstrahlt. Der Emitter muss einen Partikel definiert haben, sonst emittiert er nichts. Partikel kann entweder SpriteParticle3D oder ModelParticle3D sein.
particleEndScale : real |
Diese Eigenschaft definiert den Skalierungsmultiplikator der Partikel am Ende der Partikel lifeSpan. Um Variationen in den Partikelendgrößen zu haben, verwenden Sie particleEndScaleVariation. Wenn der Wert negativ ist, ist die Endgröße die gleiche wie die particleScale, so dass sich die Größe während der Partikel lifeSpan nicht ändert.
Der Standardwert ist -1.0
.
Siehe auch particleScale und particleScaleVariation.
particleEndScaleVariation : real |
Diese Eigenschaft definiert die Skalenvariation der Partikel am Ende. Wenn der Wert negativ ist, wird particleScaleVariation auch für die Endskala verwendet. Zum Beispiel, um Partikel zu emittieren, die bei Skala 0,5 - 1,5 beginnen und bei Skala 1,0 - 5,0 enden:
ParticleEmitter3D { ... particleScale: 1.0 particleScaleVariation: 0.5 particleEndScale: 3.0 particleEndScaleVariation: 2.0 }
Der Standardwert ist -1.0
.
Siehe auch particleEndScale.
particleRotation : vector3d |
Diese Eigenschaft definiert die Drehung der Partikel am Anfang. Die Drehung wird als Grad in Eulerwinkeln definiert.
Siehe auch particleRotationVariation.
particleRotationVariation : vector3d |
Diese Eigenschaft definiert die Rotationsvariation der Partikel am Anfang. Die Rotationsvariation wird als Grad in Eulerwinkeln definiert.
Zum Beispiel, um Partikel in völlig zufälligen Rotationen zu emittieren:
ParticleEmitter3D { ... particleRotationVariation: Qt.vector3d(180, 180, 180) }
Siehe auch particleRotation.
particleRotationVelocity : vector3d |
Diese Eigenschaft definiert die Rotationsgeschwindigkeit der Partikel am Anfang. Die Rotationsgeschwindigkeit wird in Grad pro Sekunde in Eulerwinkeln angegeben.
Siehe auch particleRotationVelocityVariation.
particleRotationVelocityVariation : vector3d |
Diese Eigenschaft definiert die Variation der Rotationsgeschwindigkeit der Partikel. Die Variation der Rotationsgeschwindigkeit wird als Grad pro Sekunde in Eulerwinkeln definiert.
Zum Beispiel, um Partikel in zufälligen Rotationen zu emittieren, die eine zufällige Rotationsgeschwindigkeit zwischen -100 und 100 Grad pro Sekunde in jede Richtung haben:
ParticleEmitter3D { ... particleRotationVariation: Qt.vector3d(180, 180, 180) particleRotationVelocityVariation: Qt.vector3d(100, 100, 100) }
Siehe auch particleRotationVelocity.
particleScale : real |
Diese Eigenschaft definiert den Skalenmultiplikator der Partikel zu Beginn. Um die Partikelgrößen zu variieren, verwenden Sie particleScaleVariation.
Der Standardwert ist 1.0
.
Siehe auch particleEndScale und particleScaleVariation.
particleScaleVariation : real |
Diese Eigenschaft definiert die Skalenvariation der Partikel. Zum Beispiel, um Partikel im Maßstab 0,5 - 1,5 zu emittieren:
ParticleEmitter3D { ... particleScale: 1.0 particleScaleVariation: 0.5 }
Der Standardwert ist 0.0
.
Siehe auch particleScale und particleEndScaleVariation.
shape : ParticleAbstractShape3D |
Diese Eigenschaft definiert eine optionale Form für den emittierenden Bereich. Sie kann entweder ParticleShape3D oder ParticleModelShape3D sein. Die Form wird basierend auf den Eigenschaften des Emitter-Knotens skaliert, positioniert und gedreht. Wenn die Eigenschaft Shape fill auf false gesetzt ist, erfolgt die Emission nur von der Oberfläche der Form.
Wenn die Form nicht definiert ist, erfolgt die Emission vom Mittelpunkt des Emitter-Knotens aus.
system : ParticleSystem3D |
Diese Eigenschaft definiert die ParticleSystem3D für den Emitter. Wenn das System direktes Elternteil des Emitters ist, muss diese Eigenschaft nicht definiert werden.
velocity : Direction3D |
Diese Eigenschaft kann verwendet werden, um eine Startgeschwindigkeit für emittierte Partikel festzulegen. Wenn velocity nicht gesetzt ist, beginnen die Partikel bewegungslos und die Geschwindigkeit kommt von affectors, wenn sie verwendet werden.
Dokumentation der Methode
Diese Methode emittiert count Menge von Partikeln aus diesem Emitter sofort.
Diese Methode emittiert count Menge an Partikeln von diesem Emitter während der nächsten duration Millisekunden.
Diese Methode emittiert count Menge von Partikeln von diesem Emitter während der nächsten duration Millisekunden. Die Partikel werden ausgestrahlt, als ob der Emitter auf position wäre, aber alle anderen Eigenschaften sind gleich.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.