En esta página

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:

PhysicsBody

Propiedades

Métodos

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:

ConstanteDescripción
DynamicRigidBody.NoneSin bloqueo de eje.
DynamicRigidBody.LockXBloquear eje X.
DynamicRigidBody.LockYBloquear eje Y.
DynamicRigidBody.LockZBloquear 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:

ConstanteDescripción
DynamicRigidBody.NoneSin bloqueo de eje.
DynamicRigidBody.LockXBloquear eje X.
DynamicRigidBody.LockYBloquear eje Y.
DynamicRigidBody.LockZBloquear 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:

ConstanteDescripción
DynamicRigidBody.DefaultDensityUtiliza la densidad especificada en la propiedad defaultDensity en PhysicsWorld para calcular la masa y la inercia asumiendo una densidad uniforme.
DynamicRigidBody.CustomDensityUtilizar la densidad especificada en la especificada en la density para calcular la masa y la inercia asumiendo una densidad uniforme.
DynamicRigidBody.MassUtilice la masa especificada para calcular la inercia suponiendo una densidad uniforme.
DynamicRigidBody.MassAndInertiaTensorUtilice el valor de masa especificado y el tensor de inercia.
DynamicRigidBody.MassAndInertiaMatrixUtilice 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.