Interacciones dinámicas del modelo

12

Tengo curiosidad por saber cómo en muchos juegos (a saber, juegos como arkham asylum / city, manhunt, hitman) lo hacen para que tu personaje pueda "agarrar" a un personaje frente a ti y hacerles cosas. Sé que esto puede sonar muy confuso, pero por ejemplo, ve a YouTube y busca "ejecuciones de hitman", y el primer video es un ejemplo de lo que estoy preguntando.

Básicamente, me pregunto cómo hacen que tu modelo interactúe dinámicamente con cualquier otro modelo con el que te encuentres, así que en Hitman cuando te encuentras detrás de alguien con el cable de fibra, estrangulas al otro personaje o si tienes la anestesia, te encuentras detrás de algún persona y ponga su mano sobre su boca mientras luchan y lentamente vaya al piso donde los acuesta. Estoy confundido sobre si se animó a usar dos modelos que usan identificadores óseos / esqueléticos específicos, si son solo dos animaciones completamente separadas que se reproducen en el momento correcto para que parezca que realmente están interactuando o algo diferente.

No soy un animador, así que supongo que la mayoría de lo que acabo de decir no es correcto, pero espero que alguien pueda entender lo que quiero decir y dar una respuesta.

PD) Soy un programador y estoy en el proceso de crear un juego hitmanesco, solo porque amo ese estilo de juego y quiero aumentar mis habilidades en algo divertido, así que si sabes de lo que estoy hablando, ten algo ejemplos que involucran tanto modelos como programación (uso c ++ y principalmente Ogre3D en este momento pero me estoy uniendo a la unidad y XNA) lo agradecería enormemente.

Gracias.

Ricardo
fuente

Respuestas:

4

Sospecho que son animaciones sincronizadas, ya que eso en la mayoría de las circunstancias (es decir, donde los personajes están en el mismo nivel de piso) sería la más fácil de implementar. Puedes ver que las animaciones de Hitman en realidad no están particularmente bien sincronizadas, aun así (escena de espada). Ya era un juego bastante revolucionario para su tiempo, así que creo que los jugadores estaban dispuestos a pasar por alto pequeñas inexactitudes; Los jugadores que conocía en ese momento ciertamente no se quejaron.

Además de eso, en la actualidad hay algunas soluciones físicas increíbles para la animación de personajes, por ejemplo. Euphoria y Rune Skovbo El sistema de locomoción de Johansen para Unity , por nombrar solo una pareja. En Euphoria , puedes ver en sus videos que el grado de realismo físico es una locura . Ese sistema se usó para GTA 4, Red Dead Redemption y Star Wars: The Force Unleashed. No hay duda de que podría llevar a cabo el ejemplo que diste, con facilidad. También insinúa la cantidad de esfuerzo de desarrollo que se dedica a la animación reactiva.

Quizás sea demasiado tiempo para un desarrollador individual hacer más que el enfoque de animaciones sincronizadas, e incluso eso puede tener problemas: personajes a diferentes alturas, por ejemplo, es posible que deba doblar el torso para realizar el ataque en el otro personaje, pero eso puede tener sus propios problemas (por ejemplo, cuando estrangula / corta la garganta), como si el ángulo es demasiado agudo. Supongo que una solución a eso podría ser hacer que el personaje doble las rodillas ligeramente, para obtener una altura uniforme del torso con su víctima. Un poco como hacer cola para un tiro de golf, viejo amigo.

Ingeniero
fuente
Gracias Nick por la información. Sospeché que solo eran animaciones sincronizadas, que deberían funcionar bien para mis necesidades ya que mis personajes (cuando puedes "ejecutarlos" de todos modos) siempre estarán en el mismo nivel que tú.
Richard