Pila


Acerca de

Demostración de una pila de objetos que caen en una esquina usando el Motor de Física de Cuerpo Rígido 2D.

Esta es una buena prueba de estrés para el motor de física. Haz clic en añadir bloque botón para añadir más bloques. Eventualmente, la simulación no podrá seguir el ritmo tiempo real.

Para ver si la simulación se mantiene en tiempo real, haga clic en el Botón mostrar reloj. El reloj muestra dos segunderos: la manecilla roja rastrea el tiempo real y la mano azul rastrea el tiempo de simulación. Cuando la mano roja está por delante de la azul lado, significa que la simulación se ha quedado atrás en tiempo real.

La casilla bloques conectados incluye dos bloques que están conectados por articulaciones, esas son una buena prueba de la capacidad de mantener juntas las articulaciones durante una serie de colisiones violentas.

Habilitar la casilla de verificación bucle sin fin hace que la simulación se reconstruya cada pocos segundos. El período se establece por la cantidad de tiempo de bucle. Esto permite ejecutar la simulación una y otra vez para probar el motor de física con muchas situaciones aleatorias.

El principal desafío de rendimiento es cuando los bloques se han asentado y están todos acostados en contacto. Habilite la casilla de verificación mostrar fuerzas para ver qué tan difícil es la física. motor está trabajando para averiguar las muchas fuerzas de contacto.

El rendimiento del motor de física es proporcional al número de uniones de contactoelevados a la cuarta potencia. Aquí hay un experimento que muestra esto:

  1. Establezca el número de bloques en 15 y observe que la simulación no puede seguir en tiempo real una vez que los bloques se hayan asentado en la esquina. Con 15 bloques hay alrededor de 60 fuerzas de contacto, y 60 ^ 4 = 12,960,000.
  2. Habilite la casilla de verificación dos montones. Ahora la simulación puede mantenerse al día en tiempo real porque hay dos montones en lugar de uno. Con 7 u 8 bloques en cada pila hay alrededor de 30 contactos en cada pila, y 2*(30^4) = 1,620,000 que es de un orden de magnitud menor y que requiere menos cálculo.