Auf dieser Seite

Verwendung des Partikelsystems „ Qt Quick “

Die Dokumentation zu allen Partikelsystemtypen finden Sie auf der Modulseite „ QtQuick.Particles “.

Um die Typen aus dem Particles-Modul zu verwenden, importieren Sie das Modul mit der folgenden Zeile:

import QtQuick.Particles

Das ParticleSystem

Dieses Partikelsystem enthält vier Haupttypen von QML-Typen: „ ParticleSystem “, „Painters“, „Emitters“ und „Affectors“.

Der Typ „ ParticleSystem “ verbindet alle anderen Typen miteinander und verwaltet die gemeinsame Zeitleiste. „Painters“, „Emitters“ und „Affectors“ müssen alle denselben „ ParticleSystem “ haben, um miteinander interagieren zu können.

Unter dieser Einschränkung können Sie beliebig viele ParticleSystems verwenden. Die logische Trennung besteht darin, ein einziges „ ParticleSystem “ für alle Typen zu verwenden, die miteinander interagieren sollen – oder nur eines, wenn die Anzahl der Typen gering ist und sie leicht zu handhaben sind.

Logische Partikel

Alle Partikelsystemtypen wirken auf „logische Partikel“ ein. Jedes Partikel verfügt über eine logische Darstellung innerhalb des Partikelsystems, und auf diese wirken die Typen ein. Nicht jedes logische Partikel muss visualisiert werden, und manche logischen Partikel können dazu führen, dass mehrere visuelle Partikel auf dem Bildschirm gezeichnet werden.

Partikelgruppen

Jedes logische Partikel ist Mitglied einer Partikelgruppe, und jede Gruppe wird durch einen Namen identifiziert. Wenn keine andere Gruppe angegeben wurde, gehört ein logisches Partikel zur Gruppe mit dem Namen „“ (die leere Zeichenkette), die sich genauso verhält wie jede andere Gruppe. Gruppen dienen zwei Zwecken: zur Steuerung von Partikeln und weil sie stochastische Zustandsübergänge aufweisen können.

Gruppen steuern Partikel, da man bei keinem der Partikelsystemtypen auf ein einzelnes Partikel zugreifen kann. Alle Typen wirken auf Gruppen als Ganzes ein; daher müssen alle Partikel, die sich unterschiedlich verhalten sollen (abgesehen von den üblichen stochastischen Parameterschwankungen), in verschiedenen Gruppen angeordnet sein.

Partikel können auch dynamisch die Gruppe wechseln. In diesem Fall bleibt die Flugbahn der Partikel unverändert, sie kann jedoch von verschiedenen „ParticlePainters“ oder „Affectors“ beeinflusst werden. Die Zugehörigkeit eines Partikels zu einer Gruppe kann entweder durch einen „Affector“ geändert werden, oder es können stochastische Zustandsübergänge in einem „ ParticleGroup “-Typ definiert werden.

Im Allgemeinen sollten Gruppen nur in einem „ ParticleGroup “ definiert werden, wenn sie stochastische Zustandsübergänge erfordern. Andernfalls reicht es aus, die Gruppen einfach über die Zeichenfolgen zu definieren, die in den Partikel-/Partikel-Eigenschaften der Typen verwendet werden.

Emittenten

Emittenten senden logische Partikel in das System aus. Diese Partikel haben eine Flugbahn und eine Lebensdauer, werden jedoch nicht visualisiert. Diese Partikel werden vom Standort des Emittenten aus emittiert.

„TrailEmitters“ sind eine spezielle Art von Emittern, die Partikel von der Position anderer logischer Partikel aus emittieren. Jedes logische Partikel des entsprechenden Typs innerhalb der Grenzen eines „ TrailEmitter “ löst eine Partikelemission von seiner Position aus, als befände sich dort ein Emitter mit denselben Eigenschaften wie der „ TrailEmitter “.

ParticlePainters

Painters sind die Typen, die logische Partikel visualisieren. Für jedes logische Partikel in den ihm zugewiesenen Gruppen, die sich innerhalb seiner Grenzen befinden (oder außerhalb, wenn Sie die „clip“-Eigenschaft für den Typ nicht festlegen), wird es in einer Weise visualisiert, die vom Typ des „ ParticlePainter “ abhängt. Der Basistyp „ ParticlePainter “ zeichnet nichts. „ ImageParticle “ rendert ein Bild an der Partikelposition. „ ItemParticle “ ermöglicht es Ihnen, logische Partikel mithilfe beliebiger QML-Delegaten zu visualisieren. „ModelParticle“ funktioniert ähnlich, koordiniert jedoch die Modelldaten zwischen den Delegaten auf ähnliche Weise wie die View-Klassen.

Da „ ParticlePainter “ der QML-Typ ist, der die Partikel in der Szene visualisiert, ist sein Z-Wert entscheidend, wenn Partikel visuell über oder unter anderen Typen platziert werden sollen.

Affektoren

Affektoren sind ein optionaler Bestandteil eines Partikelsystems. Sie können verschiedene Manipulationen an der Simulation vornehmen, beispielsweise die Flugbahn von Partikeln verändern oder deren Lebensdauer in der Simulation vorzeitig beenden. Aus Leistungsgründen wird empfohlen, Affektoren in Partikelsystemen mit hohem Partikelvolumen nicht zu verwenden.

Stochastische Parameter

Da Partikelsysteme von der stochastischen Steuerung von Parametern über eine große Anzahl von Instanzen hinweg profitieren, werden vom Partikelsystem mehrere stochastische Hilfstypen verwendet. Wenn Sie keine stochastischen Schwankungen bei diesen Parametern wünschen, sollten Sie bei diesen Typen keine Schwankungen festlegen.

Richtungen

Richtungen können durch Winkel und Größe oder durch x- und y-Komponenten festgelegt werden. Zwar lässt sich mit beiden Methoden jede Richtung festlegen, doch besteht ein wesentlicher Unterschied zwischen der Variation der x- und y-Komponenten und der Variation von Winkel und Größe. Die Variation der x- und y-Komponenten führt zu einem rechteckigen Bereich um den angegebenen Punkt, während die Variation des Winkels zu einem Bogen führt, dessen Mittelpunkt der angegebene Punkt ist.

Formen

Das Partikelsystem enthält mehrere Typen, die Formen darstellen. Diese Typen visualisieren keine Formen, sondern dienen dazu, einen zufälligen Punkt innerhalb der Form auszuwählen. Wenn Sie einen bestimmten Punkt ohne Zufallsanteil wünschen, verwenden Sie eine Form mit der Breite 0 und der Höhe 0 (dies ist die Standardeinstellung). Andernfalls können Sie die Formtypen verwenden, um einen Bereich festzulegen, sodass das Ergebnis einen zufällig ausgewählten Punkt aus diesem Bereich verwenden kann.

Siehe auch „Qt Quick Particles -Beispiele – Emitter“, „Beispiele für Affektoren“, „Beispiele für Bildpartikel“ und „Beispiele für Affektoren – System“.

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