Come gestire correttamente la parte di atterraggio in un'animazione di salto


16

Guarda questo foglio di sprite.

Megaman

È chiaro che il frame 1-3 è il frame "jump up" dopo il quale l'ultimo frame verrà fissato fino al "picco" del salto (quando la gravità inizia a ritirarsi). Quando si torna indietro, si usano i frame 4-7 e tutto termina con un frame "inattivo" (che non è mostrato qui in questo sprite di salto).

La mia domanda riguarda i frame 6 e 7 in questo sprite. Quando l'entità "atterra" dopo un salto, si suppone di eseguire l'animazione 6-7 come animazione di "atterraggio". Quando ci si sposta verso il basso in un frame di salto 4-5 sono facili perché sono "l'inizio" dell'animazione. Il fotogramma 5 può essere mantenuto per tutto il tempo in cui cadi ... ma qual è il modo appropriato per passare dal fotogramma 5 al 6-7-x? Verifichi se il telaio dopo quello successivo è una caduta e poi "avvia" l'atterraggio o lo fai quando hai effettivamente toccato terra?

Non può essere cronometrato a causa di vari scenari come saltare da una scogliera o saltare sotto un tetto basso colpire la testa e rimbalzare giù.

Qualche idea?

Risposte:


17

Immagino che il solito approccio sia avere tre stati relativi al salto : Salto (un eroe sale al punto più alto del salto), Caduta (dal punto più alto del salto a terra), Atterraggio (il salto termina con l'eroe in piedi sul terreno ).

Esistono diversi modi per rilevare questi stati, in genere si tratta di diversi controlli di collisione che impostano flag di stato. Ad esempio, nel passaggio di fisica di un personaggio possiamo verificare le collisioni di seguito, e se non ce ne sono, allora il personaggio è nell'aria. Ora se un personaggio ha una velocità verticale positiva, è uno stato di salto , altrimenti è uno stato di caduta . Se è uno stato di caduta e di seguito abbiamo rilevato una collisione, allora è uno stato di atterraggio , quindi passiamo all'animazione di atterraggio.

Questa animazione di solito viene riprodotta quando l'eroe ha effettivamente colpito il terreno. La sequenza di animazione è breve, quindi l'atterraggio sembrerà ad alta velocità, inoltre crea una sensazione di controlli nitidi e precisi. A volte un personaggio può eseguire una lunga sequenza di atterraggio, ma è possibile che un personaggio annulli l'animazione di atterraggio e inizi a correre, ad esempio Castlevania: SotN.


+1. Un buon punto sugli stati. Dagli stati è possibile capire altri dettagli / modalità.
Kromster dice di sostenere Monica il

5

Ho visto questo fatto in due modi:

  1. Quando il rettangolo di selezione si scontra per la prima volta con il terreno, effettua una transizione rapida 5-> 6-> 7.
  2. Avere una seconda scatola di delimitazione "fantasma", che si estende una piccola porzione sotto la scatola di delimitazione effettiva per iniziare il 5-> 6, quindi sulla scatola di delimitazione effettiva in collisione fare 6-> 7.

Mi è piaciuto il secondo caso. Sembra molto flessibile perché il rettangolo di selezione dei fantasmi può essere impostato molto lontano a seconda della velocità del personaggio!
pek,

Approccio interessante Nbr 2. Non ho mai finito di provarlo ma lo terrò a mente grazie.
sPirc
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.