Interazioni dinamiche tra modelli


12

Sono solo curioso di sapere come in molti giochi (in particolare giochi come Arkham Asylum / City, Manhunt, Hitman) lo fanno in modo che il tuo personaggio possa "afferrare" un personaggio di fronte a te e fargli cose. So che può sembrare molto confuso, ma per esempio vai su YouTube e cerca "esecuzioni hitman", e il primo video è un esempio di quello che sto chiedendo.

Fondamentalmente mi chiedo come fanno il tuo modello a interagire dinamicamente con qualsiasi altro modello che incontri, quindi in hitman quando arrivi dietro qualcuno con il filo di fibra strangoli l'altro personaggio o se hai l'anestetico ti trovi dietro alcuni persona e metti la mano lì bocca mentre lottano e lentamente vanno sul pavimento dove li sdrai. Sono confuso sul fatto che sia stato animato per usare due modelli usando specifici identificatori ossei / scheletrici, se sono solo due animazioni completamente separate che vengono riprodotte al momento giusto per far sembrare che stiano effettivamente interagendo o qualcos'altro insieme.

Non sono un animatore, quindi presumo che la maggior parte di ciò che ho appena detto non sia giusto, ma spero che qualcuno possa capire cosa intendo e fornire una risposta.

PS) Sono un programmatore e sono in procinto di costruire un gioco hitmanesque, solo perché adoro quello stile di gioco e voglio aumentare le mie abilità su qualcosa di divertente, quindi se sai di cosa sto parlando hai un po ' esempi con il coinvolgimento sia dei modelli che della programmazione (al momento uso c ++ e principalmente Ogre3D ma sto entrando in unità e XNA) lo apprezzerei molto.

Grazie.

Risposte:


4

Sospetto che siano animazioni sincronizzate, dal momento che nella maggior parte dei casi (ad es. Dove i personaggi si trovano sullo stesso piano) sarebbero le più facili da implementare. Puoi vedere che le animazioni di Hitman non sono in realtà particolarmente ben sincronizzate, anche così (scena con la spada). Era già un gioco abbastanza rivoluzionario per il momento, quindi penso che i giocatori fossero disposti a trascurare piccole imprecisioni; i giocatori che conoscevo all'epoca non si lamentavano certo.

A parte questo, ci sono alcune incredibili soluzioni guidate fisicamente in questi giorni per l'animazione dei personaggi, ad es. Il sistema di locomozione di Euphoria e Rune Skovbo Johansen per Unity , per citarne solo una coppia. In Euphoria , dai loro video puoi vedere che il grado di realismo fisico è folle . Tale sistema è stato utilizzato per GTA 4, Red Dead Redemption e Star Wars: The Force Unleashed. Non c'è dubbio che potrebbe tirare fuori l'esempio che hai dato, con facilità. Indica anche la quantità di sforzo di sviluppo che va nell'animazione reattiva.

Sarebbe forse troppo dispendioso in termini di tempo per un singolo sviluppatore fare di più rispetto all'approccio delle animazioni sincronizzate, e anche questo può avere dei problemi: personaggi ad altezze diverse, ad esempio, potrebbe essere necessario piegare il busto per attaccare sull'altro personaggio, ma questo può avere i suoi problemi (ad es. quando si strangola / si taglia la gola), come se l'angolo è troppo acuto. Immagino che una soluzione potrebbe essere quella di far piegare leggermente il personaggio alle ginocchia, al fine di ottenere un'altezza uniforme del busto con la sua vittima. Un po 'come fare la fila per un tiro da golf, vecchio mio.


Grazie Nick per le informazioni. Sospettavo che fossero solo animazioni sincronizzate, che avrebbero funzionato bene per le mie esigenze dato che i miei personaggi (quando puoi "eseguirli" comunque) saranno sempre allo stesso livello di te.
Richard,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.