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
- kinematicEulerRotation : vector4d
(since 6.5)
- kinematicPivot : vector3d
(since 6.5)
- kinematicPosition : vector3d
(since 6.5)
- kinematicRotation : vector3d
(since 6.5)
- linearAxisLock : AxisLock
- mass : real
- massMode : MassMode
Methoden
- applyCentralForce(vector3d force)
- applyCentralImpulse(vector3d impulse)
- applyForce(vector3d force, vector3d position)
- applyImpulse(vector3d impulse, vector3d position)
- applyTorque(vector3d torque)
- applyTorqueImpulse(vector3d impulse)
- reset(vector3d position, vector3d eulerRotation)
- setAngularVelocity(vector3d angularVelocity)
- 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.
Eigenschaft Dokumentation
angularAxisLock : AxisLock |
Diese Eigenschaft sperrt die Winkelgeschwindigkeit 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
centerOfMassPosition : vector3d |
Definiert die Position des Massenschwerpunkts in Bezug auf den Körper. 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 Schwerpunktslage, d. h. die Ausrichtung der Hauptträgheitsachsen des Körpers relativ zum Körper. Beachten Sie, dass dies nur verwendet wird, wenn massMode auf DynamicRigidBody.MassAndInertiaTensor
gesetzt ist.
Standardwert: (1, 0, 0, 0)
Siehe auch massMode und inertiaTensor.
density : real |
gravityEnabled : bool |
Diese Eigenschaft legt fest, ob das Objekt von der Schwerkraft beeinflusst wird oder nicht.
Standardwert: true
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ägheitstensorvektor unter Verwendung eines in Massenraumkoordinaten angegebenen Parameters.
Dies ist der Diagonalvektor einer 3x3-Diagonalmatrix. 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 definiert, 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 ä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.
kinematicEulerRotation : vector4d |
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: (1, 0, 0, 0)
Diese Eigenschaft wurde in Qt 6.5 eingeführt.
Siehe auch isKinematic, kinematicPosition, kinematicEulerRotation, und kinematicPivot.
kinematicPivot : vector3d |
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 |
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 : vector3d |
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: (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, müssen Sie nur deren Enum-Werte bitweise kombinieren.
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
applyCentralForce(vector3d force) |
Wendet eine force auf den Mittelpunkt des Körpers an.
applyCentralImpulse(vector3d impulse) |
Wendet eine impulse auf den Mittelpunkt des Körpers an.
Wendet eine impulse an einer position auf den Körper an.
applyTorque(vector3d torque) |
Wendet ein torque auf den Körper an.
applyTorqueImpulse(vector3d impulse) |
Wendet ein Drehmoment impulse auf den Körper an.
Setzt die Werte position und eulerRotation des Körpers zurück.
setAngularVelocity(vector3d angularVelocity) |
Setzt die angularVelocity des Körpers.
setLinearVelocity(vector3d linearVelocity) |
Legt die linearVelocity des Körpers fest.
© 2025 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.