DynamicRigidBody QML Type
Ein physischer Körper, der sich bewegen oder bewegt werden kann. Mehr...
| Import Statement: | import QtQuick3D.Physics |
| Since: | Qt 6.4 |
| Inherits: |
Eigenschaften
- angularAxisLock : AxisLock
- centerOfMassPosition : vector3d
- centerOfMassRotation : quaternion
- density : real
- gravityEnabled : bool
- inertiaMatrix : list<real>
- inertiaTensor : vector3d
- isKinematic : bool
- isSleeping : bool
(since 6.9) - kinematicEulerRotation : vector3d
(since 6.5) - kinematicPivot : vector3d
(since 6.5) - kinematicPosition : vector3d
(since 6.5) - kinematicRotation : quaternion
(since 6.5) - linearAxisLock : AxisLock
- mass : real
- massMode : MassMode
Methoden
- void applyCentralForce(vector3d force)
- void applyCentralImpulse(vector3d impulse)
- void applyForce(vector3d force, vector3d position)
- void applyImpulse(vector3d impulse, vector3d position)
- void applyTorque(vector3d torque)
- void applyTorqueImpulse(vector3d impulse)
- void reset(vector3d position, vector3d eulerRotation)
- void setAngularVelocity(vector3d angularVelocity)
- void setLinearVelocity(vector3d linearVelocity)
Detaillierte Beschreibung
Dieser Typ definiert einen dynamischen Starrkörper: ein Objekt, das Teil der Physikszene ist und sich wie ein physisches Objekt mit Masse und Geschwindigkeit verhält.
Hinweis: Die Geometrieformentriangle mesh, height field und plane sind nicht als Kollisionsformen zulässig, wenn isKinematic false ist.
Dokumentation der Eigenschaften
angularAxisLock : AxisLock
Diese Eigenschaft sperrt die Winkelgeschwindigkeit des Körpers entlang der Achsen, die durch die Aufzählung DynamicRigidBody.AxisLock definiert sind. Um mehrere Achsen zu sperren, brauchen Sie nur ihre Enum-Werte bitweise zu verknüpfen.
Verfügbare Optionen:
| Konstant | Beschreibung |
|---|---|
DynamicRigidBody.None | Keine Achsensperre. |
DynamicRigidBody.LockX | X-Achse sperren. |
DynamicRigidBody.LockY | Y-Achse sperren. |
DynamicRigidBody.LockZ | Z-Achse sperren. |
Standardwert: DynamicRigidBody.None
centerOfMassPosition : vector3d
Legt die Position des Massenschwerpunkts in Bezug auf den Körper fest. Beachten Sie, dass dies nur verwendet wird, wenn massMode auf DynamicRigidBody.MassAndInertiaTensor eingestellt ist.
Standardwert: (0, 0, 0)
Siehe auch massMode und inertiaTensor.
centerOfMassRotation : quaternion
Definiert die Drehung der Schwerpunktpose, d. h. sie gibt die Ausrichtung der Hauptträgheitsachsen des Körpers relativ zum Körper an. Beachten Sie, dass dies nur verwendet wird, wenn massMode auf DynamicRigidBody.MassAndInertiaTensor eingestellt ist.
Standardwert: (1, 0, 0, 0)
Siehe auch massMode und inertiaTensor.
density : real
Diese Eigenschaft definiert die Dichte des Körpers. Sie wird nur verwendet, wenn massMode auf DynamicRigidBody.CustomDensity eingestellt ist.
Standardwert: 0.001
Bereich: (0, inf]
Siehe auch massMode.
gravityEnabled : bool
Diese Eigenschaft legt fest, ob das Objekt von der Schwerkraft beeinflusst wird oder nicht.
Standardwert: true
inertiaMatrix : list<real>
Definiert die Trägheitstensor-Matrix. Es handelt sich um eine 3x3-Matrix in Spalten-Hauptreihenfolge. Beachten Sie, dass diese Matrix diagonalisierbar sein sollte. Beachten Sie, dass dies nur verwendet wird, wenn massMode auf DynamicRigidBody.MassAndInertiaMatrix gesetzt ist.
Standardwert: Eine 3x3-Identitätsmatrix
Siehe auch massMode und inertiaTensor.
inertiaTensor : vector3d
Definiert den Trägheitstensor-Vektor unter Verwendung eines in Massenraumkoordinaten angegebenen Parameters.
Dies ist der diagonale Vektor einer 3x3 diagonalen Matrix. Wenn Sie einen nicht diagonalen Trägheitstensor im Welt-/Akteursraum haben, sollten Sie stattdessen inertiaMatrix verwenden.
Die Komponenten des Trägheitstensors müssen positiv sein und ein Wert von 0 in einer Komponente wird als unendliche Trägheit entlang dieser Achse interpretiert. Beachten Sie, dass dies nur verwendet wird, wenn massMode auf DynamicRigidBody.MassAndInertiaTensor gesetzt ist.
Standardwert: (1, 1, 1)
Siehe auch massMode und inertiaMatrix.
isKinematic : bool
Diese Eigenschaft bestimmt, ob das Objekt kinematisch ist oder nicht. Ein kinematisches Objekt wird nicht von äußeren Kräften beeinflusst und kann als ein Objekt mit unendlicher Masse betrachtet werden. Wenn diese Eigenschaft gesetzt ist, wird das physische Objekt in jedem Simulationsrahmen unabhängig von den äußeren Kräften an seine Zielposition bewegt. Beachten Sie, dass Sie zum Bewegen und Drehen des kinematischen Objekts die Eigenschaften kinematicPosition, kinematicRotation, kinematicEulerRotation und kinematicPivot verwenden müssen.
Standardwert: false
Siehe auch kinematicPosition, kinematicRotation, kinematicEulerRotation, und kinematicPivot.
isSleeping : bool [since 6.9]
Wird auf true gesetzt, wenn der Körper schläft. Obwohl es technisch möglich ist, diese Eigenschaft zu setzen, sollte sie als schreibgeschützte Eigenschaft betrachtet werden, die in jedem Frame, in dem die Physiksimulation läuft, gesetzt wird.
Diese Eigenschaft wurde in Qt 6.9 eingeführt.
kinematicEulerRotation : vector3d [since 6.5]
Definiert die Euler-Drehung des Objekts, wenn es kinematisch ist, d. h. wenn isKinematic auf true gesetzt ist. Bei jeder Iteration der Simulation wird das physische Objekt entsprechend diesem Wert aktualisiert.
Standardwert: (0, 0, 0)
Diese Eigenschaft wurde in Qt 6.5 eingeführt.
Siehe auch isKinematic, kinematicPosition, kinematicEulerRotation, und kinematicPivot.
kinematicPivot : vector3d [since 6.5]
Definiert den Drehpunkt des Objekts, wenn es kinematisch ist, d. h. wenn isKinematic auf true gesetzt ist. Bei jeder Iteration der Simulation wird das physische Objekt entsprechend diesem Wert aktualisiert.
Standardwert: (0, 0, 0)
Diese Eigenschaft wurde in Qt 6.5 eingeführt.
Siehe auch isKinematic, kinematicPosition, kinematicEulerRotation, und kinematicRotation.
kinematicPosition : vector3d [since 6.5]
Definiert die Position des Objekts, wenn es kinematisch ist, d. h. wenn isKinematic auf true gesetzt ist. Bei jeder Iteration der Simulation wird das physische Objekt entsprechend diesem Wert aktualisiert.
Standardwert: (0, 0, 0)
Diese Eigenschaft wurde in Qt 6.5 eingeführt.
Siehe auch isKinematic, kinematicRotation, kinematicEulerRotation, und kinematicPivot.
kinematicRotation : quaternion [since 6.5]
Definiert die Rotation des Objekts, wenn es kinematisch ist, d.h. wenn isKinematic auf true gesetzt ist. Bei jeder Iteration der Simulation wird das physische Objekt entsprechend diesem Wert aktualisiert.
Standardwert: (1, 0, 0, 0)
Diese Eigenschaft wurde in Qt 6.5 eingeführt.
Siehe auch isKinematic, kinematicPosition, kinematicEulerRotation, und kinematicPivot.
linearAxisLock : AxisLock
Diese Eigenschaft sperrt die lineare Geschwindigkeit des Körpers entlang der Achsen, die durch das DynamicRigidBody.AxisLock enum definiert sind. Um mehrere Achsen zu sperren, brauchen Sie nur deren Enum-Werte bitweise zu verknüpfen.
Verfügbare Optionen:
| Konstant | Beschreibung |
|---|---|
DynamicRigidBody.None | Keine Achsensperre. |
DynamicRigidBody.LockX | X-Achse sperren. |
DynamicRigidBody.LockY | Y-Achse sperren. |
DynamicRigidBody.LockZ | Z-Achse sperren. |
Standardwert: DynamicRigidBody.None
mass : real
Diese Eigenschaft definiert die Masse des Körpers. Beachten Sie, dass dies nur verwendet wird, wenn massMode nicht DynamicRigidBody.CustomDensity oder DynamicRigidBody.DefaultDensity ist. Beachten Sie auch, dass ein Wert von 0 als unendliche Masse interpretiert wird und dass negative Zahlen nicht zulässig sind.
Standardwert: 1
Bereich: [0, inf]
Siehe auch massMode.
massMode : MassMode
Diese Eigenschaft enthält die Aufzählung, die beschreibt, wie Masse und Trägheit für diesen Körper berechnet werden.
Verfügbare Optionen:
| Konstant | Beschreibung |
|---|---|
DynamicRigidBody.DefaultDensity | Verwenden Sie die in der Eigenschaft defaultDensity in PhysicsWorld angegebene Dichte, um Masse und Trägheit unter der Annahme einer einheitlichen Dichte zu berechnen. |
DynamicRigidBody.CustomDensity | Verwenden Sie die in density angegebene Dichte, um Masse und Trägheit unter der Annahme einer gleichmäßigen Dichte zu berechnen. |
DynamicRigidBody.Mass | Verwenden Sie die angegebene Masse, um die Trägheit unter der Annahme einer gleichmäßigen Dichte zu berechnen. |
DynamicRigidBody.MassAndInertiaTensor | Verwenden Sie den angegebenen Massenwert und den Trägheitstensor. |
DynamicRigidBody.MassAndInertiaMatrix | Verwenden Sie den angegebenen Massenwert und berechnen Sie die Trägheit anhand der angegebenen Trägheitsmatrix. |
Standardwert: DynamicRigidBody.DefaultDensity
Methode Dokumentation
void applyCentralForce(vector3d force)
Wendet eine force auf die Körpermitte an.
void applyCentralImpulse(vector3d impulse)
Wendet eine impulse in der Körpermitte an.
void applyForce(vector3d force, vector3d position)
Wendet eine force unter position auf den Körper an.
void applyImpulse(vector3d impulse, vector3d position)
Wendet eine impulse unter position auf den Körper an.
void applyTorque(vector3d torque)
Wendet eine torque auf den Körper an.
void applyTorqueImpulse(vector3d impulse)
Wendet ein Drehmoment impulse auf den Körper an.
void reset(vector3d position, vector3d eulerRotation)
Setzt die position und eulerRotation des Körpers zurück.
void setAngularVelocity(vector3d angularVelocity)
Legt die angularVelocity des Körpers fest.
void setLinearVelocity(vector3d linearVelocity)
Legt die linearVelocity des Körpers fest.
© 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.