5 votos

Tratando de modelo de pinball física para la IA del juego

Estoy trabajando en un AI para un pinball de video relacionado con el juego. El objetivo final para el sistema es que la IA será capaz de disparar un flipper en el momento adecuado para apuntar un pinball en un punto determinado en la tabla. Estamos usando un motor que se encargará de la física subyacente interacciones cuando la pelota es golpeada (Irreal). Estoy tratando de cuasi-realista del modelo de la física de la IA del "pensamiento".

Tengo una comprensión razonable de la física Newtoniana, pero yo voy a necesitar un poco de ayuda para asegurarse de que estoy en lo correcto acerca de todo lo que puede necesitar para dar cuenta de. Para los fines de simplificación, estoy considerando la tabla vertical sobre un eje XY con la gravedad de ser solo una pequeña fracción de la actual aceleración de la gravedad hacia abajo en el eje Y (sí, esto significa que estoy ignorando la fricción entre la bola y la tabla, por ahora).

Por mi entendimiento, tengo el trabajo con el siguiente, cuando una pelota está rodando a lo largo de una aleta.

  • La pelota tendrá la velocidad a lo largo de ambos ejes X e y, ya que los rollos a la aleta.
  • El flipper tendrá un rango de movimiento (mínimo y máximo ángulos) y un valor de Par de apriete.
  • Cuando el flipper de los incendios, se aplicará la fuerza a la bola basado en la aleta de la Torsión, la distancia de la bola es de la aleta del punto de rotación, y la longitud del arco de la contactado punto en el flipper necesidades de viaje.
  • La fuerza aplicada se acelerará la pelota encima de la mesa después de una nueva trayectoria.

Mi pregunta(s): Estoy con vistas a una importante interacción en este sistema? O estoy interpretando mal algo? ¿No le parece que este es un razonable modelado para videojuegos? Et cetera?

Gracias!

2voto

Nick Puntos 583

Yo necesitaría ver y entender tu código, pero no es claro en el texto si usted también recordar y tomar el cuidado de la rotación de la bola de su frecuencia angular (y el momento angular intrínseco, que es proporcional). Estoy convencido de que esto es totalmente necesario para obtener algunos realista de la dinámica y es donde la mayoría de los pinball divertido es todo acerca de.

En situaciones típicas, la pelota está rodando sobre la mesa sin ningún tipo de "rastrero", pero esta condición permite al girar alrededor del eje transversal a la mesa. Esta bola obtiene este giro cuando es golpeado (o cuando choca) de lado, y cuando se golpea a otro objeto, mientras que el (la pelota es) girando, va a reflejar en una dirección que es influenciado por la vuelta. Los jugadores de tenis, etc. está utilizando la vuelta a confundir al rival todo el tiempo.

Por otra parte, no estoy seguro de si el flipper da a la bola fija par - frente a un fijo de "poder" en el sentido transversal a la aleta de la tangente cerca del punto de contacto con el balón) o alguna otra función o un fijo de "velocidad" en la dirección normal (no es sólo lograr que la bola de la velocidad normal, lejos de la aleta termina siendo igual a la aleta de alta velocidad?)

En cualquier caso, creo que los grados de libertad en su aproximación son realmente sencillos. Si la pelota se mueve a lo largo del plano y nunca salta, luego hay 2 componentes de la velocidad y de los 3 componentes del momento angular. Dos componentes del momento angular son, sin embargo, determinado por la condición de que la pelota está rodando no trepadoras. La y la velocidad es la aceleración como usted dijo y la vuelta se conserva a menos que la pelota está en el contacto, en cuyo caso usted tendrá que calcular el derecho de la fuerza y el par.

1voto

Fernando Briano Puntos 275

Cuando la pelota es golpeada con la aleta, dos componentes de la velocidad debe ser considerado: en paralelo a la aleta $v_{\parallel}$ y perpendicular a ella $v_{\perp}$.

$v_{\parallel}$ va a cambiar si la pelota gira - como Lubo dijo, esto sin duda debe ser incluido en el modelo. Usted puede comenzar con una cruda aproximación $\Delta v_{\parallel}\propto \omega$ $\omega<\omega_0$ $\Delta v_{\parallel}=const$ lo contrario. $\omega_0$ sería el de la bola de la velocidad angular a la que se comienza a deslizarse.

$v_{\perp}$ cambia de signo (colisión elástica) y recibe la patada adicional de la aleta: $v_{\perp}=-{\gamma}v_{\perp}+v_{flip}$ donde $\gamma$ es el coeficiente de elasticidad cercana a 1 y $v_{flip}=\omega_{flip}r$, $r$ es la distancia desde el flipper eje hasta el punto en que la pelota golpea.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X