DynamicRigidBody QML Type
Un cuerpo físico que puede moverse o ser movido. Más...
| Import Statement: | import QtQuick3D.Physics |
| Since: | Qt 6.4 |
| Inherits: |
Propiedades
- 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
Métodos
- 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)
Descripción detallada
Este tipo define un cuerpo rígido dinámico: un objeto que forma parte de la escena física y se comporta como un objeto físico con masa y velocidad.
Nota: Las formas geométricastriangle mesh, height field y plane no están permitidas como formas de colisión cuando isKinematic es false.
Documentación de propiedades
angularAxisLock : AxisLock
Esta propiedad bloquea la velocidad angular del cuerpo a lo largo de los ejes definidos por el enum DynamicRigidBody.AxisLock. Para bloquear varios ejes basta con introducir sus valores.
Opciones disponibles:
| Constante | Descripción |
|---|---|
DynamicRigidBody.None | Sin bloqueo de eje. |
DynamicRigidBody.LockX | Bloquear eje X. |
DynamicRigidBody.LockY | Bloquear eje Y. |
DynamicRigidBody.LockZ | Bloquear eje Z. |
Valor por defecto: DynamicRigidBody.None
centerOfMassPosition : vector3d
Define la posición del centro de masa relativa al cuerpo. Tenga en cuenta que esto sólo se utiliza cuando massMode se establece en DynamicRigidBody.MassAndInertiaTensor.
Valor por defecto: (0, 0, 0)
Ver también massMode y inertiaTensor.
centerOfMassRotation : quaternion
Define la rotación de la pose del centro de masa, es decir, especifica la orientación de los ejes principales de inercia del cuerpo en relación con el cuerpo. Tenga en cuenta que esto sólo se utiliza cuando massMode se establece en DynamicRigidBody.MassAndInertiaTensor.
Valor por defecto: (1, 0, 0, 0)
Véase también massMode y inertiaTensor.
density : real
Esta propiedad define la densidad del cuerpo. Sólo se utiliza cuando massMode se establece en DynamicRigidBody.CustomDensity.
Valor por defecto: 0.001
Rango: (0, inf]
Véase también massMode.
gravityEnabled : bool
Esta propiedad define si el objeto va a ser afectado por la gravedad o no.
Valor por defecto: true
inertiaMatrix : list<real>
Define la matriz del tensor de inercia. Se trata de una matriz de 3x3 en orden columna-mayor. Nótese que se espera que esta matriz sea diagonalizable. Tenga en cuenta que esto sólo se utiliza cuando massMode se establece en DynamicRigidBody.MassAndInertiaMatrix.
Valor por defecto: Una matriz de identidad 3x3
Véase también massMode y inertiaTensor.
inertiaTensor : vector3d
Define el vector del tensor de inercia, usando un parámetro especificado en coordenadas de espacio de masa.
Este es el vector diagonal de una matriz diagonal de 3x3, si tienes un tensor de inercia no diagonal en el espacio mundo/actor entonces deberías usar inertiaMatrix en su lugar.
Los componentes del tensor de inercia deben ser positivos y un valor de 0 en cualquier componente se interpreta como inercia infinita a lo largo de ese eje. Tenga en cuenta que esto sólo se utiliza cuando massMode se establece en DynamicRigidBody.MassAndInertiaTensor.
Valor por defecto: (1, 1, 1)
Véase también massMode y inertiaMatrix.
isKinematic : bool
Esta propiedad define si el objeto es cinemático o no. Un objeto cinemático no se ve influenciado por fuerzas externas y puede ser visto como un objeto de masa infinita. Si esta propiedad está activada, en cada fotograma de simulación el objeto físico se moverá a su posición objetivo independientemente de las fuerzas externas. Tenga en cuenta que para mover y rotar el objeto cinemático necesita utilizar las propiedades kinematicPosition, kinematicRotation, kinematicEulerRotation y kinematicPivot.
Valor por defecto: false
Ver también kinematicPosition, kinematicRotation, kinematicEulerRotation, y kinematicPivot.
isSleeping : bool [since 6.9]
Se establece en true si el cuerpo está durmiendo. Aunque técnicamente es posible establecer esta propiedad, debe considerarse como una propiedad de sólo lectura que se establece en cada fotograma en el que se ejecuta la simulación física.
Esta propiedad fue introducida en Qt 6.9.
kinematicEulerRotation : vector3d [since 6.5]
Define la rotación euler del objeto cuando es cinemático, es decir, cuando isKinematic se establece en true. En cada iteración de la simulación el objeto físico se actualizará según este valor.
Valor por defecto: (0, 0, 0)
Esta propiedad se introdujo en Qt 6.5.
Ver también isKinematic, kinematicPosition, kinematicEulerRotation, y kinematicPivot.
kinematicPivot : vector3d [since 6.5]
Define el pivote del objeto cuando es cinemático, es decir, cuando isKinematic se establece en true. En cada iteración de la simulación el objeto físico se actualizará según este valor.
Valor por defecto: (0, 0, 0)
Esta propiedad se introdujo en Qt 6.5.
Véase también isKinematic, kinematicPosition, kinematicEulerRotation, y kinematicRotation.
kinematicPosition : vector3d [since 6.5]
Define la posición del objeto cuando es cinemático, es decir, cuando isKinematic se establece en true. En cada iteración de la simulación el objeto físico se actualizará según este valor.
Valor por defecto: (0, 0, 0)
Esta propiedad se introdujo en Qt 6.5.
Véase también isKinematic, kinematicRotation, kinematicEulerRotation, y kinematicPivot.
kinematicRotation : quaternion [since 6.5]
Define la rotación del objeto cuando es cinemático, es decir, cuando isKinematic se establece en true. En cada iteración de la simulación el objeto físico se actualizará según este valor.
Valor por defecto: (1, 0, 0, 0)
Esta propiedad se introdujo en Qt 6.5.
Véase también isKinematic, kinematicPosition, kinematicEulerRotation, y kinematicPivot.
linearAxisLock : AxisLock
Esta propiedad bloquea la velocidad lineal del cuerpo a lo largo de los ejes definidos por el enum DynamicRigidBody.AxisLock. Para bloquear varios ejes basta con sumar sus valores.
Opciones disponibles:
| Constante | Descripción |
|---|---|
DynamicRigidBody.None | Sin bloqueo de eje. |
DynamicRigidBody.LockX | Bloquear eje X. |
DynamicRigidBody.LockY | Bloquear eje Y. |
DynamicRigidBody.LockZ | Bloquear eje Z. |
Valor por defecto: DynamicRigidBody.None
mass : real
Esta propiedad define la masa del cuerpo. Tenga en cuenta que sólo se utiliza cuando massMode no es DynamicRigidBody.CustomDensity o DynamicRigidBody.DefaultDensity. Tenga en cuenta también que un valor de 0 se interpreta como masa infinita y que no se permiten números negativos.
Valor por defecto: 1
Rango: [0, inf]
Véase también massMode.
massMode : MassMode
Esta propiedad contiene el enum que describe cómo se calculan la masa y la inercia para este cuerpo.
Opciones disponibles:
| Constante | Descripción |
|---|---|
DynamicRigidBody.DefaultDensity | Utiliza la densidad especificada en la propiedad defaultDensity en PhysicsWorld para calcular la masa y la inercia asumiendo una densidad uniforme. |
DynamicRigidBody.CustomDensity | Utilizar la densidad especificada en la especificada en la density para calcular la masa y la inercia asumiendo una densidad uniforme. |
DynamicRigidBody.Mass | Utilice la masa especificada para calcular la inercia suponiendo una densidad uniforme. |
DynamicRigidBody.MassAndInertiaTensor | Utilice el valor de masa especificado y el tensor de inercia. |
DynamicRigidBody.MassAndInertiaMatrix | Utilice el valor de masa especificado y calcule la inercia a partir de la matriz de inercia especificada. |
Valor por defecto: DynamicRigidBody.DefaultDensity
Documentación del método
void applyCentralForce(vector3d force)
Aplica un force en el centro del cuerpo.
void applyCentralImpulse(vector3d impulse)
Aplica un impulse en el centro del cuerpo.
void applyForce(vector3d force, vector3d position)
Aplica un force en un position del cuerpo.
void applyImpulse(vector3d impulse, vector3d position)
Aplica un impulse en un position del cuerpo.
void applyTorque(vector3d torque)
Aplica un torque en el cuerpo.
void applyTorqueImpulse(vector3d impulse)
Aplica un par de torsión impulse en el cuerpo.
void reset(vector3d position, vector3d eulerRotation)
Restablece el organismo position y eulerRotation.
void setAngularVelocity(vector3d angularVelocity)
Establece el angularVelocity del cuerpo.
void setLinearVelocity(vector3d linearVelocity)
Establece el linearVelocity del cuerpo.
© 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.