PhysicsWorld QML Type
Steuert die Physiksimulation. Mehr...
| Import Statement: | import QtQuick3D.Physics |
| Since: | Qt 6.4 |
Eigenschaften
- defaultDensity : real
- enableCCD : bool
- forceDebugDraw : bool
- gravity : vector3d
- maximumTimestep : real
- minimumTimestep : real
- numThreads : int
(since 6.7) - reportKinematicKinematicCollisions : bool
(since 6.7) - reportStaticKinematicCollisions : bool
(since 6.7) - running : bool
- scene : Node
- typicalLength : real
- typicalSpeed : real
- viewport : Node
Signale
- frameDone(float timestep)
(since 6.5)
Ausführliche Beschreibung
Der Typ „PhysicsWorld“ steuert die Physiksimulation. Dieser Knoten dient dazu, eine Instanz der Physikwelt zu erstellen und deren Eigenschaften zu definieren. Es kann nur eine Physikwelt geben. Alle Kollisionsknoten im QML werden automatisch zur Physikwelt hinzugefügt.
Dokumentation zu den Eigenschaften
defaultDensity : real
Diese Eigenschaft definiert die Standarddichte dynamischer Objekte, gemessen in Kilogramm pro Raumeinheit. Dies entspricht dem Gewicht eines Würfels mit der Seitenlänge 1.
Der Standardwert ist 0.001, was 1 g/cm³ entspricht: der Dichte von Wasser. Wenn Ihre Maßeinheit Meter ist, wäre ein geeigneter Wert 1000. Beachten Sie, dass nur positive Werte zulässig sind.
Bereich: (0, inf]
enableCCD : bool
Diese Eigenschaft ermöglicht eine kontinuierliche Kollisionserkennung. Dadurch wird das Risiko verringert, dass Körper bei hohen Geschwindigkeiten durch andere Körper hindurchfliegen (auch als „Tunnelling“ bezeichnet). Der Standardwert lautet „ false “.
Warnung: Die Verwendung von Trigger-Körpern bei aktivierter CCD-Funktion wird nicht unterstützt und kann zu fehlenden oder falschen Trigger-Meldungen führen.
forceDebugDraw : bool
Diese Eigenschaft ermöglicht die Debug-Darstellung aller aktiven Formen in der Physikwelt. Der Standardwert lautet „ false “.
gravity : vector3d
Diese Eigenschaft definiert den Schwerkraftvektor der Physikwelt. Der Standardwert lautet „ (0, -981, 0) “. Setzen Sie den Wert auf „ Qt.vector3d(0, -9.81, 0) “, wenn Ihre Maßeinheit Meter ist und Sie die Erdschwerkraft simulieren.
maximumTimestep : real
Diese Eigenschaft legt den maximalen Simulationszeitschritt in Millisekunden fest. Der Standardwert lautet „ 33.333 “.
Bereich: [0, inf]
Hinweis: Der Simulationszeitschritt ist eng mit dem Rendering gekoppelt, d. h., ein neuer Simulationsframe wird erst gestartet, nachdem ein gerenderter Frame abgeschlossen ist. Das bedeutet, dass pro gerendertem Frame höchstens ein Simulationsframe ausgeführt wird.
minimumTimestep : real
Diese Eigenschaft legt den minimalen Simulationszeitschritt in Millisekunden fest. Der Standardwert beträgt „ 1 “.
Bereich: [0, maximumTimestep]
Hinweis: Der Simulationszeitschritt ist eng mit dem Rendering gekoppelt, d. h., ein neuer Simulationsframe wird erst gestartet, nachdem ein gerenderter Frame abgeschlossen ist. Das bedeutet, dass pro gerendertem Frame höchstens ein Simulationsframe ausgeführt wird.
numThreads : int [since 6.7]
Diese Eigenschaft legt die Anzahl der Threads fest, die für die physikalische Simulation verwendet werden. Der Wertebereich wird wie folgt interpretiert:
| Wert | Bereich | Beschreibung |
|---|---|---|
| Negativ | [-inf, -1] | Automatische Thread-Anzahl. Die Anwendung versucht, die Anzahl der Threads vom System abzufragen. |
| Null | {0} | Kein Multithreading, die Simulation wird sequenziell ausgeführt. |
| Positiv | [1, 256] | Bestimmte Anzahl an Threads. Werte über 256 werden begrenzt. |
Der Standardwert ist „ -1 “, was eine automatische Thread-Anzahl bedeutet.
Hinweis: Sobald die Szene gestartet wurde, kann die Anzahl der Threads nicht mehr geändert werden.
Diese Eigenschaft wurde in Qt 6.7 eingeführt.
reportKinematicKinematicCollisions : bool [since 6.7]
Diese Eigenschaft legt fest, ob Kollisionen zwischen Paaren kinematisch -dynamischer starrer Körper einen Kontaktbericht auslösen.
Der Standardwert lautet „ false “.
Hinweis: Sobald die Szene ausgeführt wird, kann diese Einstellung nicht mehr geändert werden.
Diese Eigenschaft wurde in Qt 6.7 eingeführt.
Siehe auch „ PhysicsWorld::reportStaticKinematicCollisions “, „ DynamicRigidBody “ und „ PhysicsNode::bodyContact “.
reportStaticKinematicCollisions : bool [since 6.7]
Diese Eigenschaft legt fest, ob Kollisionen zwischen einem statischen starren Körper und einem kinematischen dynamischen starren Körper einen Kontaktbericht auslösen.
Der Standardwert lautet „ false “.
Hinweis: Sobald die Szene ausgeführt wird, kann diese Einstellung nicht mehr geändert werden.
Diese Eigenschaft wurde in Qt 6.7 eingeführt.
Siehe auch „ PhysicsWorld::reportKinematicKinematicCollisions“ , „ StaticRigidBody “, „ DynamicRigidBody “ und „ PhysicsNode::bodyContact “.
running : bool
Diese Eigenschaft startet oder stoppt die physikalische Simulation. Der Standardwert lautet „ true “.
scene : Node
Diese Eigenschaft definiert den obersten Knoten, der alle Knoten der physikalischen Simulation enthält. Alle Physikobjekte, die Vorfahren dieses Knotens sind, werden als Teil dieses „ PhysicsWorld “ betrachtet.
Hinweis: Die Verwendung desselben Szenenknotens für mehrere „ PhysicsWorld “ wird nicht unterstützt.
typicalLength : real
Diese Eigenschaft legt die ungefähre Größe der Objekte in der Simulation fest. Sie dient zur Abschätzung bestimmter längenbezogener Toleranzen. Objekte, die deutlich kleiner oder größer als diese Größe sind, verhalten sich möglicherweise nicht wie vorgesehen. Der Standardwert lautet „ 100 “.
Bereich: [0, inf]
typicalSpeed : real
Diese Eigenschaft definiert die typische Größenordnung der Geschwindigkeiten von Objekten in der Simulation. Sie dient dazu, anhand der Aufprallgeschwindigkeit abzuschätzen, ob ein Kontakt als „abprallend“ oder „ruhend“ behandelt werden soll, sowie einen Schwellenwert für die kinetische Energie festzulegen, unterhalb dessen die Simulation Objekte in den Ruhezustand versetzen kann.
Für normale physikalische Umgebungen ist die ungefähre Geschwindigkeit eines Objekts, das eine Sekunde lang der Schwerkraft folgt, eine gute Wahl. Der Standardwert ist 1000.
Bereich: [0, inf]
viewport : Node
Diese Eigenschaft definiert den Ansichtsbereich, in dem Debug-Komponenten gezeichnet werden, wenn „ forceDebugDraw “ aktiviert ist. Ist diese Eigenschaft nicht festgelegt, wird der Knoten „ scene “ verwendet.
Siehe auch „ forceDebugDraw “ und „ scene “.
Signal-Dokumentation
[since 6.5] frameDone(float timestep)
Dieses Signal wird ausgesendet, wenn die physikalische Simulation die Simulation eines Frames abgeschlossen hat. Der Parameter „ timestep “ gibt an, wie lang der Zeitschritt in der Simulation in Millisekunden war.
Hinweis: Der entsprechende Handler lautet „ onFrameDone “.
Dieses Signal wurde in Qt 6.5 eingeführt.
© 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.