Detección de colisión FPS y movimiento

11

¿Cómo se maneja típicamente la detección de colisión y el movimiento en un FPS, particularmente manejando cambios leves en la altura del suelo, como escaleras (tanto en inclinación como en declive)?

Jason Kozak
fuente

Respuestas:

12

Las entidades típicamente representadas por una cápsula (cilindro con esferas en los extremos) contra la geometría mundial (o una malla de colisión simplificada) para la colisión mundial.

Las escaleras generalmente no chocan con una rampa invisible o, por debajo de cierta altura, generalmente se levanta como un efecto secundario de la resolución de colisión. (obtendrá interpenetración con el movimiento como parte del tamaño del paso, y la resolución lo elevará como el plano más cercano)

Creo que así es como funciona Unreal 3, pero podría estar equivocado. Recuerdo haber visto una jerarquía de recuadros delimitadores en Source, pero no recuerdo si fue solo para el combate. independientemente, las cápsulas son simples y rápidas

Aaron Brady
fuente
1

En Unity 3D, la forma más fácil es tener el controlador en primera persona. Por lo general, el personaje tiene que saltar si la altura del paso es mayor que el desplazamiento del paso. Pero otra forma de hacerlo es agregar un colisionador de cajas y rotarlo para que el personaje pueda subir las escaleras fácilmente, como si fuera una rampa.


fuente
0

La respuesta de Brady es buena, pero si quieres una forma maliciosa de hacerlo, puedes lanzar un rayo a la geometría de colisión del terreno, averiguar a qué triángulo golpea y luego usar un promedio ponderado de la altura de los verts del triángulo para averiguar la altura del suelo.

BigSandwich
fuente
¿Qué pasa si es un triángulo grande e inclinado? ¿No puedes encontrar de alguna manera el punto de intersección del rayo?
Gustavo6046
Ya conoce la posición en el avión, solo necesita la altura, por eso especifiqué el promedio ponderado. Le recomiendo que tome un libro sobre detección de colisiones si realmente quiere ir más allá. Este no es el mejor formato para aprender matemáticas.
BigSandwich
Oh si. Promedio ponderado Creo que leí mal eso. Culpa mía.
Gustavo6046