Auf dieser Seite

ParticleEmitter3D QML Type

Emitter für logische Partikel. Mehr...

Import Statement: import QtQuick3D.Particles3D
Since: Qt 6.2
Inherits:

Node

Inherited By:

TrailEmitter3D

Eigenschaften

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.

Dokumentation der Eigenschaft

EmitMode : enumeration [since 6.10]

Legt den Emissionsmodus des Emitters mit Form fest.

KonstanteBeschreibung
ParticleEmitter3D.DefaultStandard-Emissionsverhalten.
ParticleEmitter3D.SurfaceNormalDie Partikel werden entlang der Oberflächennormale emittiert. Erfordert eine Partikelform. Wenn der Emitter ein Trail-Emitter ist, wird die Oberflächennormale vom nachfolgenden Partikel geerbt.
ParticleEmitter3D.SurfaceReflectedDie Partikel werden entlang der Spiegelung des Geschwindigkeitsvektors und der Oberflächennormale emittiert. Handelt es sich bei dem Emitter um einen Spurenemitter, werden die Oberflächennormale und die Geschwindigkeit vom verfolgten Partikel geerbt. Erfordert die Partikelform.

Diese Eigenschaft wurde in Qt 6.10 eingeführt.

depthBias : real

Enthält die Tiefenverzerrung des Emitters. Die Tiefenverzerrung wird beim Sortieren von Objekten zum Objektabstand von der 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().

emitMode : EmitMode [default: ParticleEmitter3D.Default, since 6.10]

Diese Eigenschaft definiert den Emit-Modus des Emitters mit Form.

Diese Eigenschaft wurde in Qt 6.10 eingeführt.

emitRate : real

Diese Eigenschaft definiert die konstante Emissionsrate in Partikeln pro Sekunde. Wenn die emitRate beispielsweise 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, emittiert dieser Emitter keine Partikel. 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 dies auf false umzuschalten.

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 Lebensdauer 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 Skalenmultiplikator der Partikel am Ende der Partikel lifeSpan. Um Variationen in den Endgrößen der Partikel zu erhalten, 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 im Maßstab 0,5 - 1,5 beginnen und im Maßstab 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 definiert.

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 beliebige Richtungen 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 eine Variation der Partikelgrößen zu erhalten, 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.

reversed : bool [default: false, since 6.10]

Diese Eigenschaft kehrt die Partikelzeit um, d.h. emittierte Partikel werden von der Endzeit zur Startzeit durchlaufen.

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 sein. Die Form wird auf der Grundlage der Eigenschaften des Sendeknotens skaliert, positioniert und gedreht. Wenn die Eigenschaft Shape fill auf false gesetzt ist, wird nur von der Oberfläche der Form gesendet.

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 direkt dem Emitter übergeordnet 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

vector3d burst(int count)

Diese Methode emittiert count Menge von Partikeln aus diesem Emitter sofort.

vector3d burst(int count, int duration)

Diese Methode emittiert count Menge von Partikeln aus diesem Emitter während der nächsten duration Millisekunden.

vector3d burst(int count, int duration, vector3d position)

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.

© 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.