En esta página

PhysicsWorld QML Type

Controla la simulación física. Más...

Import Statement: import QtQuick3D.Physics
Since: Qt 6.4

Propiedades

Señales

Descripción detallada

El tipo PhysicsWorld controla la simulación física. Este nodo se utiliza para crear una instancia del mundo de la física, así como para definir sus propiedades. Sólo puede haber un mundo físico. Todos los nodos de colisión del qml se añadirán automáticamente al mundo físico.

Documentación de propiedades

defaultDensity : real

Esta propiedad define la densidad por defecto de los objetos dinámicos, medida en kilogramos por unidad cúbica. Equivale al peso de un cubo de lado 1.

El valor por defecto es 0.001, que corresponde a 1 g/cm³: la densidad del agua. Si su unidad de medida son los metros, un buen valor sería 1000. Tenga en cuenta que sólo se admiten valores positivos.

Rango: (0, inf]

enableCCD : bool

Esta propiedad permite la detección continua de colisiones. Esto reducirá el riesgo de que los cuerpos atraviesen a otros cuerpos a altas velocidades (también conocido como tunnelling). El valor por defecto es false.

Advertencia: El uso de cuerpos de disparo con CCD habilitado no está soportado y puede resultar en informes de disparo faltantes o falsos.

forceDebugDraw : bool

Esta propiedad permite depurar el dibujo de todas las formas activas en el mundo de la física. El valor por defecto es false.

gravity : vector3d

Esta propiedad define el vector de gravedad del mundo físico. El valor por defecto es (0, -981, 0). Establezca el valor a Qt.vector3d(0, -9.81, 0) si su unidad de medida es metros y está simulando la gravedad terrestre.

maximumTimestep : real

Esta propiedad define el paso de tiempo máximo de simulación en milisegundos. El valor por defecto es 33.333.

Rango: [0, inf]

Nota: El paso de tiempo de simulación funciona en paralelo con el renderizado, lo que significa que un nuevo fotograma de simulación sólo se iniciará después de que un fotograma renderizado se haya completado. Esto significa que se ejecutará como máximo un fotograma de simulación por cada fotograma renderizado.

minimumTimestep : real

Esta propiedad define el paso de tiempo mínimo de simulación en milisegundos. El valor por defecto es 1.

Rango: [0, maximumTimestep]

Nota: El paso de tiempo de simulación funciona en paralelo con el renderizado, lo que significa que un nuevo fotograma de simulación sólo se iniciará después de que un fotograma renderizado se haya completado. Esto significa que se ejecutará como máximo un fotograma de simulación por cada fotograma renderizado.

numThreads : int [since 6.7]

Esta propiedad define el número de hilos utilizados para la simulación física. Así se interpreta el rango de valores:

ValorRangoDescripción
Negativo[-inf, -1]Recuento automático de hilos. La aplicación intentará consultar el número de hilos al sistema.
Cero{0}No hay hilos, la simulación se ejecutará secuencialmente.
Positivo[1, inf]Recuento de hilos específico.

El valor por defecto es -1, lo que significa recuento automático de hilos.

Nota: Una vez que la escena ha comenzado a ejecutarse no es posible cambiar el número de hilos.

Esta propiedad se introdujo en Qt 6.7.

reportKinematicKinematicCollisions : bool [since 6.7]

Esta propiedad controla si las colisiones entre pares de cuerpos rígidos dinámicos cinemáticos activarán un informe de contacto.

El valor por defecto es false.

Nota: Una vez que la escena ha comenzado a ejecutarse no es posible cambiar esta configuración.

Esta propiedad se introdujo en Qt 6.7.

Ver también PhysicsWorld::reportStaticKinematicCollisions, DynamicRigidBody, y PhysicsNode::bodyContact.

reportStaticKinematicCollisions : bool [since 6.7]

Esta propiedad controla si las colisiones entre un cuerpo rígido estático y un cuerpo rígido dinámico cinemático activarán un informe de contacto.

El valor por defecto es false.

Nota: Una vez que la escena ha comenzado a ejecutarse no es posible cambiar esta configuración.

Esta propiedad se introdujo en Qt 6.7.

Ver también PhysicsWorld::reportKinematicKinematicCollisions, StaticRigidBody, DynamicRigidBody, y PhysicsNode::bodyContact.

running : bool

Esta propiedad inicia o detiene la simulación física. El valor por defecto es true.

scene : Node

Esta propiedad define el Nodo superior que contiene todos los nodos de la simulación física. Todos los objetos físicos que sean ancestros de este nodo serán vistos como parte de este PhysicsWorld.

Nota: Usar el mismo nodo de escena para varios PhysicsWorld no está soportado.

typicalLength : real

Esta propiedad define el tamaño aproximado de los objetos en la simulación. Se utiliza para estimar ciertas tolerancias relacionadas con la longitud. Los objetos mucho más pequeños o mucho más grandes que este tamaño pueden no comportarse correctamente. El valor por defecto es 100.

Rango: [0, inf]

typicalSpeed : real

Esta propiedad define la magnitud típica de las velocidades de los objetos en simulación. Se utiliza para estimar si un contacto debe tratarse como rebote o reposo en función de su velocidad de impacto, y un umbral de energía cinética por debajo del cual la simulación puede poner los objetos en reposo.

Para entornos físicos normales, una buena elección es la velocidad aproximada de un objeto cayendo bajo la gravedad durante un segundo. El valor por defecto es 1000.

Rango: [0, inf]

viewport : Node

Esta propiedad define la ventana donde se dibujarán los componentes de depuración si forceDebugDraw está activado. Si no se define, se utilizará el nodo scene.

Véase también forceDebugDraw y scene.

Documentación de señales

[since 6.5] frameDone(float timestep)

Esta señal se emite cuando la simulación física termina de simular un fotograma. El parámetro timestep es la duración en milisegundos del paso de tiempo en la simulación.

Nota: El manejador correspondiente es onFrameDone.

Esta señal se introdujo en Qt 6.5.

© 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.