ParticleEmitter3D QML Type
Emitter für logische Partikel. Mehr...
| Import Statement: | import QtQuick3D.Particles3D |
| Since: | Qt 6.2 |
| Inherits: | |
| Inherited By: |
Eigenschaften
- EmitMode : enumeration
(since 6.10) - depthBias : real
- emitBursts : List<EmitBurst3D>
- emitMode : EmitMode
(since 6.10) - 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
- reversed : bool
(since 6.10) - 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)
Ausführliche Beschreibung
Dieses Element sendet logische Partikel mit den angegebenen Startattributen in den „ ParticleSystem3D “ aus.
Es ist mindestens ein Emitter erforderlich, damit Partikel im „ ParticleSystem3D “ vorhanden sind. Es gibt verschiedene Möglichkeiten, die Emissionsmenge zu steuern:
- Legen Sie die Eigenschaft „ emitRate “ fest, die bestimmt, wie viele Partikel pro Sekunde kontinuierlich emittiert werden.
- Fügen Sie „ EmitBurst3D “-Elemente in die Eigenschaft „ emitBursts “ ein, um Partikelstöße deklarativ auszusenden.
- Rufen Sie eine der „ burst()“-Methoden auf, um Bursts sofort zu emittieren.
Dokumentation zu den Eigenschaften
EmitMode : enumeration [since 6.10]
Legt den Emissionsmodus des Emitters mit Form fest.
| Konstante | Beschreibung |
|---|---|
ParticleEmitter3D.Default | Standardmäßiges Emissionsverhalten. |
ParticleEmitter3D.SurfaceNormal | Die Partikel werden entlang der Oberflächennormalen emittiert. Erfordert eine Partikelform. Handelt es sich bei dem Emitter um einen Trail-Emitter, wird die Oberflächennormale vom verfolgten Partikel übernommen. |
ParticleEmitter3D.SurfaceReflected | Die Partikel werden entlang der Reflexion des Geschwindigkeitsvektors und der Oberflächennormalen emittiert. Handelt es sich bei dem Emitter um einen Trail-Emitter, werden die Oberflächennormale und die Geschwindigkeit vom verfolgten Partikel übernommen. Erfordert eine Partikelform. |
Diese Eigenschaft wurde in Qt 6.10 eingeführt.
depthBias : real
Speichert den Tiefen-Offset des Emitters. Der Tiefen-Offset wird beim Sortieren von Objekten zur Entfernung des Objekts von der Kamera addiert. Dies kann genutzt werden, um die Darstellungsreihenfolge zwischen Objekten zu erzwingen, die nahe beieinander liegen und andernfalls in verschiedenen Bildern möglicherweise in unterschiedlicher Reihenfolge dargestellt würden. Negative Werte bewirken, dass sich der Sortierwert näher an die Kamera bewegt, während positive Werte ihn weiter von der Kamera wegbewegen.
emitBursts : List<EmitBurst3D>
Diese Eigenschaft nimmt eine Liste von Elementen vom Typ „ EmitBurst3D “ entgegen, um Bursts deklarativ zu definieren. Wenn Startzeitpunkt, Anzahl und Dauer des Bursts im Voraus bekannt sind, ist es besser, diese Eigenschaft zu verwenden, als beispielsweise „ burst()“ mit einem „ Timer “ aufzurufen.
Beispiel, um zu Beginn 100 Partikel und nach 2 Sekunden 50 Partikel auszugeben:
ParticleEmitter3D {
emitBursts: [
EmitBurst3D {
time: 0
amount: 100
},
EmitBurst3D {
time: 2000
amount: 50
}
]
}Siehe auch ` burst()`.
emitMode : EmitMode [default: ParticleEmitter3D.Default, since 6.10]
Diese Eigenschaft definiert den Emissionsmodus des Emitters mit Form.
Diese Eigenschaft wurde in Qt 6.10 eingeführt.
emitRate : real
Diese Eigenschaft legt die konstante Emissionsrate in Partikeln pro Sekunde fest. Beträgt die „emitRate“ beispielsweise 120 und läuft das System mit 60 Bildern pro Sekunde, werden bei jedem Bild 2 neue Partikel emittiert.
Der Standardwert lautet „ 0 “.
enabled : bool
Wenn „Enabled“ auf „ false “ gesetzt ist, gibt dieser Emitter keine Partikel ab. In der Regel wird dies verwendet, um einen Emitter bedingt ein- oder auszuschalten. Wenn Sie weiterhin Partikel ausstoßen möchten, belassen Sie „ emitRate “ auf 0, anstatt diese Option auf „ false “ umzuschalten.
Der Standardwert ist „ true “.
lifeSpan : int
Diese Eigenschaft legt die Lebensdauer eines einzelnen Partikels in Millisekunden fest.
Der Standardwert lautet „ 1000 “.
Siehe auch „ lifeSpanVariation “.
lifeSpanVariation : int
Diese Eigenschaft definiert die Schwankung der Lebensdauer eines einzelnen Teilchens in Millisekunden.
Um beispielsweise Partikel zu erzeugen, die zwischen 3 und 4 Sekunden bestehen bleiben:
ParticleEmitter3D {
...
lifeSpan: 3500
lifeSpanVariation: 500
}Der Standardwert lautet „ 0 “.
Siehe auch „ lifeSpan “.
particle : Particle3D
Diese Eigenschaft definiert das logische Partikel, das dieser Emitter aussendet. Für den Emitter muss ein Partikel definiert sein, andernfalls sendet er nichts aus. Das Partikel kann entweder „ SpriteParticle3D “ oder „ ModelParticle3D “ sein.
particleEndScale : real
Diese Eigenschaft definiert den Skalierungsfaktor der Partikel am Ende der Partikel lifeSpan. Um Schwankungen bei den Endgrößen der Partikel zu erzielen, verwenden Sie „ particleEndScaleVariation “. Ist der Wert negativ, entspricht die Endskalierung der „ particleScale “, sodass sich die Skalierung während der Partikel lifeSpan nicht ändert.
Der Standardwert ist ` -1.0`.
Siehe auch „ particleScale “ und „ particleScaleVariation “.
particleEndScaleVariation : real
Diese Eigenschaft legt die Skalierungsänderung der Partikel am Ende fest. Ist der Wert negativ, wird „ particleScaleVariation “ auch für die Endskalierung verwendet. Um beispielsweise Partikel zu erzeugen, die bei einer Skalierung von 0,5–1,5 beginnen und bei einer Skalierung von 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 legt die anfängliche Drehung der Partikel fest. Die Drehung wird in Grad als Eulerwinkel angegeben.
Siehe auch particleRotationVariation.
particleRotationVariation : vector3d
Diese Eigenschaft legt die Rotationsvariation der Partikel zu Beginn fest. Die Rotationsvariation wird in Grad als Eulerwinkel angegeben.
Um beispielsweise Partikel mit vollständig zufälligen Rotationen zu erzeugen:
ParticleEmitter3D {
...
particleRotationVariation: Qt.vector3d(180, 180, 180)
}Siehe auch „ particleRotation “.
particleRotationVelocity : vector3d
Diese Eigenschaft legt die Rotationsgeschwindigkeit der Partikel zu Beginn fest. Die Rotationsgeschwindigkeit wird in Eulerwinkeln in Grad pro Sekunde angegeben.
Siehe auch „ particleRotationVelocityVariation “.
particleRotationVelocityVariation : vector3d
Diese Eigenschaft definiert die Drehgeschwindigkeitsänderung der Partikel. Die Drehgeschwindigkeitsänderung wird in Eulerwinkeln in Grad pro Sekunde angegeben.
Um beispielsweise Partikel mit zufälligen Rotationen und einer zufälligen Rotationsgeschwindigkeit zwischen -100 und 100 Grad pro Sekunde in beliebige Richtungen zu emittieren:
ParticleEmitter3D {
...
particleRotationVariation: Qt.vector3d(180, 180, 180)
particleRotationVelocityVariation: Qt.vector3d(100, 100, 100)
}Siehe auch particleRotationVelocity.
particleScale : real
Diese Eigenschaft legt den Skalierungsfaktor der Partikel zu Beginn fest. Um eine Variation der Partikelgrößen zu erzielen, verwenden Sie „ particleScaleVariation “.
Der Standardwert ist „ 1.0 “.
Siehe auch „ particleEndScale “ und „ particleScaleVariation “.
particleScaleVariation : real
Diese Eigenschaft legt die Skalierungsschwankung der Partikel fest. Um beispielsweise Partikel mit einer Skalierung zwischen 0,5 und 1,5 zu erzeugen:
ParticleEmitter3D {
...
particleScale: 1.0
particleScaleVariation: 0.5
}Der Standardwert lautet „ 0.0 “.
Siehe auch „ particleScale “ und „ particleEndScaleVariation “.
reversed : bool [default: false, since 6.10]
Diese Eigenschaft kehrt die Zeit der Partikel um, d. h., emittierte Partikel werden vom Endzeitpunkt zum Startzeitpunkt zurückgeführt.
Diese Eigenschaft wurde in Qt 6.10 eingeführt.
shape : ParticleAbstractShape3D
Diese Eigenschaft definiert eine optionale Form für den Emissionsbereich. Sie kann entweder „ ParticleShape3D “ oder „ ParticleModelShape3D “ lauten. Die Form wird entsprechend den Eigenschaften des Emitter-Knotens skaliert, positioniert und gedreht. Wenn die Eigenschaft „Shape fill “ auf „false“ gesetzt ist, erfolgt die Emission ausschließlich von der Oberfläche der Form aus.
Ist keine Form definiert, erfolgt die Emission vom Mittelpunkt des Emitter-Knotens aus.
system : ParticleSystem3D
Diese Eigenschaft definiert die „ ParticleSystem3D “ für den Emitter. Wenn „system“ der direkte übergeordnete Knoten des Emitters ist, muss diese Eigenschaft nicht definiert werden.
velocity : Direction3D
Mit dieser Eigenschaft kann eine Anfangsgeschwindigkeit für emittierte Partikel festgelegt werden. Wenn keine Geschwindigkeit festgelegt wird, beginnen die Partikel im Ruhezustand, und die Geschwindigkeit wird aus „ affectors “ übernommen, sofern diese verwendet werden.
Methodendokumentation
vector3d burst(int count)
Diese Methode gibt sofort eine Partikelanzahl von count von diesem Emitter ab.
vector3d burst(int count, int duration)
Diese Methode gibt während der nächsten duration Millisekunden eine Partikelmenge von count von diesem Emitter ab.
vector3d burst(int count, int duration, vector3d position)
Diese Methode gibt während der nächsten duration Millisekunden eine count Anzahl von Partikeln von diesem Emitter ab. Die Partikel werden so emittiert, als befände sich der Emitter an der Position position, wobei alle anderen Eigenschaften unverändert bleiben.
© 2026 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.