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:

PhysicsBody

Eigenschaften

Methoden

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:

KonstantBeschreibung
DynamicRigidBody.NoneKeine Achsensperre.
DynamicRigidBody.LockXX-Achse sperren.
DynamicRigidBody.LockYY-Achse sperren.
DynamicRigidBody.LockZZ-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

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ä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 [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: (1, 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 : vector3d [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: (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:

KonstantBeschreibung
DynamicRigidBody.NoneKeine Achsensperre.
DynamicRigidBody.LockXX-Achse sperren.
DynamicRigidBody.LockYY-Achse sperren.
DynamicRigidBody.LockZZ-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:

KonstantBeschreibung
DynamicRigidBody.DefaultDensityVerwenden Sie die in der Eigenschaft defaultDensity in PhysicsWorld angegebene Dichte, um Masse und Trägheit unter der Annahme einer einheitlichen Dichte zu berechnen.
DynamicRigidBody.CustomDensityVerwenden Sie die in density angegebene Dichte, um Masse und Trägheit unter der Annahme einer gleichmäßigen Dichte zu berechnen.
DynamicRigidBody.MassVerwenden Sie die angegebene Masse, um die Trägheit unter der Annahme einer gleichmäßigen Dichte zu berechnen.
DynamicRigidBody.MassAndInertiaTensorVerwenden Sie den angegebenen Massenwert und den Trägheitstensor.
DynamicRigidBody.MassAndInertiaMatrixVerwenden 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.


applyForce(vector3d force, vector3d position)

Wendet ein force an einem position auf den Körper an.


applyImpulse(vector3d impulse, vector3d position)

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.


reset(vector3d position, vector3d eulerRotation)

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.