El video de Overgrowth Alpha 132 muestra cómo implementaron la escalada en salientes.
Su método debería funcionar en cualquier motor, incluso en motores 2D en los que usaría un rectángulo y un círculo en lugar de un cilindro y una esfera.
Su detección de repisas implica dos partes:
Detección de pared (usando la esfera)
El juego verifica si el jugador está actualmente colisionando con una pared. Si hay una pared, puede haber repisas a las que el jugador pueda agarrarse. La segunda parte se encarga de analizar las repisas.
Detección de salientes (usando el cilindro)
Si el jugador entra en contacto con una pared, un cilindro se desliza hacia abajo desde una cierta distancia por encima de la posición del jugador hasta que toca una repisa. Esto determina tres cosas:
Si existe una repisa sobre el jugador
La altura de la repisa
Si hay espacio para que el jugador suba a la repisa, teniendo en cuenta que el cilindro ocupa el mismo espacio horizontal que el jugador.
"un cilindro se mueve hacia abajo desde una cierta distancia por encima de la posición del jugador" ¿Qué distancia? Esto es muy importante cuando se trata de ambientes interiores (se cruzaría el techo por accidente).
Tara
1
@Dudeson en el pasado, usé una emisión de rayos para encontrar inicialmente la superficie de la repisa, antes de seguir con una verificación de volumen para verificar que haya suficiente espacio sin obstáculos para subir. Dado que la emisión de rayos es direccional, no lee los techos como falsos positivos, aunque aún podría engancharse en el siguiente piso si el origen es demasiado alto. Las métricas exactas dependerán de muchos detalles de cada juego: el tamaño del personaje, alcance del brazo, espacio libre en el diseño del nivel, velocidades de caída, etc.
Respuestas:
El video de Overgrowth Alpha 132 muestra cómo implementaron la escalada en salientes.
Su método debería funcionar en cualquier motor, incluso en motores 2D en los que usaría un rectángulo y un círculo en lugar de un cilindro y una esfera.
Su detección de repisas implica dos partes:
Detección de pared (usando la esfera)
El juego verifica si el jugador está actualmente colisionando con una pared. Si hay una pared, puede haber repisas a las que el jugador pueda agarrarse. La segunda parte se encarga de analizar las repisas.
Detección de salientes (usando el cilindro)
Si el jugador entra en contacto con una pared, un cilindro se desliza hacia abajo desde una cierta distancia por encima de la posición del jugador hasta que toca una repisa. Esto determina tres cosas:
fuente