Repisa agarra y sube en Unity3D

16

Acabo de comenzar un nuevo proyecto. En este proyecto, una de las principales mecánicas de juego es que puedes agarrar una repisa en ciertos puntos de un nivel y aferrarte a ella.

Ahora mi pregunta, ya que he estado luchando con esto durante bastante tiempo. ¿Cómo podría implementar esto realmente? Lo he intentado con animaciones, pero es realmente feo ya que el jugador se ajustará a un cierto punto donde comienza la animación.

BallzOfSteel
fuente
Está buscando una solución de cinemática inversa. La locomoción sería un buen comienzo
Douglas Rae
¿Estás tratando de simular el agarre de la repisa para cualquier repisa, o quieres que el jugador solo pueda tomar ciertas ubicaciones predeterminadas?
Tim Holt
Si se asegura de que todas las alturas de las repisas sean múltiplos de un número, digamos 5, entonces es mucho más fácil hacer los cálculos.
Jonathan Connell
¿Qué pasa con algunas mezclas de animación?
user712092
O. ¿Qué hay de desacoplar la animación del movimiento? Haga un resorte entre el centro de animación y el centro de colisión. Luego, deje que el centro de animación se deslice hacia el centro de colisión.
user712092

Respuestas:

3

Lo haría de esta manera, suponiendo que quisiera controlar específicamente las ubicaciones de captura ...

  1. Usa un modelo de jugador que pueda ser un muñeco de trapo
  2. Coloque una pequeña entidad invisible en los puntos que se pueden agarrar.
  3. Cuando el jugador salta, sus manos van hacia arriba
  4. Si las manos del jugador se encuentran dentro de una cierta distancia de activación de un punto de agarre invisible, se produce un "agarre"

Para manejar un agarre ...

  1. Deje que el modelo del cuerpo del jugador siga su curso de salto normal.
  2. Ragdoll mueve las manos a la ubicación de agarre
  3. Cuando las manos alcanzan la ubicación de agarre, bloquéelas en su lugar ("agarran")
  4. Deje que el cuerpo se convierta en una muñeca de trapo con las manos clavadas en el punto de agarre

Para manejar un pull up desde una repisa ...

  1. Dado que las manos del jugador están fijadas en el punto exacto de ascenso, ya está todo listo para una animación de "ascenso"
  2. Reproduce la animación "subir"

Estoy jugando bastante flojo aquí con los detalles de cómo uno se mueve y controla la muñeca de trapo, lo admito. Sin embargo, la idea es colocar esas manos en el punto de agarre y dejar que el jugador cuelgue allí sujeto por las manos al punto de agarre.

Tim Holt
fuente