‫Ciao e Benvenuto.
‫In questa lezione, ti presenteremo una nuova parte del progetto di animazione chiamata macchina a
‫stati.
‫Parte molto utile di esso.
‫E cosa possiamo permetterci di fare è se premiamo un interruttore booleano qui, ci permetterà di passare a
‫uno stato di salto e poi di tornare a terra.
‫Vediamo come funziona tutto questo e come possiamo crearlo per noi stessi.
‫Bene.
‫Quindi abbiamo questo comportamento davvero strano quando saltiamo, il che significa solo che finiamo per correre a
‫mezz'aria, il che ovviamente non è un bell'aspetto.
‫Ora, per risolvere questo problema, dovremo conoscere un concetto di animazione completamente nuovo chiamato macchina a stati
‫di animazione.
‫Quindi questo appartiene al progetto di animazione, quindi vai avanti e accendilo se non l'hai
‫già acceso.
‫E nel grafico anim, finora, tutto ciò che abbiamo fatto nel grafico è passato attraverso questi nodi
‫qui.
‫Ora, quello che voglio mostrarvi è come possiamo aggiungere qualcosa di nuovo, qualcosa chiamato macchina a stati.
‫Faremo clic con il pulsante destro del mouse e questo è nel grafico anim e cercheremo la macchina a stati.
‫E puoi vedere che questo annuncio, la nuova macchina a stati è un'opzione qui.
‫Ora, voglio mostrarti che c'è anche un altro modo per farlo.
‫Se fai clic con il pulsante destro del mouse fino in fondo.
‫Quindi, se facciamo clic con il pulsante destro del mouse nel grafico anim e cerchiamo una nuova macchina a stati, abbiamo questa opzione.
‫Qui facciamo clic, crea un nuovo nodo e puoi vedere che il nodo ha un pin di output di un singolo PO
‫di animazione e oltre nel riquadro di sinistra in My Blueprint, ha creato questa nuova macchina a stati sotto il
‫nostro grafico anim.
‫Quindi, se fai doppio clic sulla nuova macchina a stati o fai clic sul grafico anim, vedrai che ti
‫porterà a questa nuova finestra.
‫Quindi è un'altra cosa.
‫Abbiamo il grafico anim, il nostro grafico degli eventi e ora abbiamo questo grafico della macchina a stati.
‫Possiamo davvero rinominarlo.
‫Quindi possiamo dare un nome migliore alla nostra macchina a stati facendo clic su di essa nei progetti della miniera e premendo F-2.
‫E possiamo chiamarla locomozione perché sarà tutta una questione di locomozione.
‫E poi cosa fa una macchina a stati?
‫Bene, una macchina a stati è nella sua forma più semplice, è un insieme di se fai clic con il pulsante destro del mouse.
‫In effetti, puoi vedere che ci sono un paio di opzioni qui.
‫C'è un commento, c'è un condotto.
‫Ma la cosa più importante è che gli stati sono una macchina piena di stati.
‫E posso aggiungere un paio di stati qui per darti un'idea.
‫Quindi abbiamo anche uno stato per dichiarare uno stato.
‫E poi se ti trascini oltre questo confine, crea qualcosa chiamato transizione.
‫Quindi possiamo creare una transizione tra gli stati.
‫E abbiamo questa voce, Penn, che fondamentalmente ci dice dove dovremmo avviarla in quale stato.
‫Ok, allora facciamo un piccolo passo indietro.
‫Che cosa significa tutto questo?
‫Bene, in ogni dato stato, se fai doppio clic su di esso, puoi vedere che c'è un pin di output e quel
‫pin di output può essere utilizzato nello stesso modo in cui il nostro grafico anim può essere utilizzato per costruire una posa di animazione.
‫Quindi, nella sua forma più semplice, potremmo semplicemente decidere di inserire un'animazione qui.
‫Quindi seleziona qualsiasi vecchia riproducibilità dell'animazione, ad esempio.
‫E questa è l'animazione che verrà riprodotta quando la macchina a stati è in un determinato stato.
‫Ora, come entriamo in un dato stato?
‫Bene, potremmo entrare in un dato stato perché il nostro nodo di ingresso punta ad esso.
‫E quindi questo è lo stato predefinito.
‫È da lì che iniziamo.
‫Ma poi potremmo arrivare a uno stato anche attraverso una serie di transizioni.
‫Quindi le transizioni hanno ciascuna proprietà, puoi fare doppio clic su una transizione e puoi
‫vederlo di nuovo, otteniamo questo nodo nel suo pop-up e possiamo avere una sorta di proprietà booleana.
‫Quindi non lo so, potremmo avere qualcosa come è morto, possiamo ottenere è morto, possiamo convogliarlo qui e ora
‫ogni volta che è morto è vero.
‫Faremo la transizione se siamo in questo stato originale, se siamo morti, faremo la transizione nello
‫stato uno e inizieremo a riprodurre l'animazione nello stato uno.
‫E poi se le transizioni dallo stato uno sono vere, per qualsiasi motivo, potremmo effettuare il passaggio
‫allo stato due.
‫Ok, quindi in teoria va tutto molto bene, ma in che modo questo ci aiuta nella pratica con la corsa?
‫Bene, per esempio, potremmo volere uno stato che dice grounded.
‫E negli stati a terra, giocheremo la nostra locomozione a terra.
‫Quindi, se torniamo al grafico anim, ciò che è la locomozione a terra è fondamentalmente tutto qui prima dell'offset di combattimento noi
‫e idle, c'è questo spazio di fusione della locomozione che ho spostato a terra.
‫Quindi taglierò i nodi qui, andrò e collegherò la mia macchina a stati di locomozione per passare al nostro offset di mira che
‫andrò nella macchina a stati di locomozione, andrò nello stato di terra e incollerò quei
‫nodi qui e collegarli al pannello di output.
‫Quindi seguiamo cosa sta succedendo qui a livello di grafico anim.
‫Prima di tutto, stiamo eseguendo la macchina a stati di locomozione dell'animazione.
‫E poiché non l'ho collegato, ma poiché il pin di ingresso punta allo stato a terra, siamo
‫automaticamente nello stato a terra, andrà lì, capisci, ok, abbiamo uno spazio di
‫fusione, mescoliamo ciò usando le nostre variabili, quindi lo emettiamo.
‫Questo diventa l'output della nostra macchina a stati nel suo insieme.
‫E poi alimenta l'animazione di combattimento, che alimenta la nostra animazione di morte, che
‫alimenta il nostro output finale.
‫Quindi si spera che ora quello che vedremo quando lo compileremo è in realtà non è cambiato nulla perché c'è solo uno stato
‫nella nostra macchina a stati.
‫Tuttavia, se stiamo saltando, possiamo introdurre un nuovo stato.
‫Per questo andiamo allo stato, quindi possiamo essere in volo come stato e in questo stato non giocheremo le
‫stesse animazioni.
‫Stiamo essenzialmente sostituendo quelle animazioni nel grafico dell'anim in alto.
‫A questo livello, stiamo dicendo che questo nodo passerà alla riproduzione di animazioni diverse quando si
‫trova nello stato aviotrasportato.
‫Quindi vogliamo entrare nell'Airborne State e assicurarci di avere un'animazione selezionata qui.
‫Quindi estrarrò quel risultato e cercherò solo un salto.
‫E in particolare cercherò il combattimento di combattimento dell'apice del salto perché questo ci fa mirare all'apice
‫perché questo sarà l'inizio del nostro salto e quindi usciremo dal grafico dell'anim che usciremo a
‫livello di locomozione e noteremo che c'è un problema qui.
‫Non c'è modo per noi di arrivare nell'Airborne State perché non c'è una transizione che ci porti a questo.
‫Quindi quello che vogliamo fare è trascinare dal confine di Grounded sull'Airborne State e vogliamo fare doppio clic
‫lì perché vogliamo creare una transizione qui.
‫E farò solo una transizione basata su una variabile che al momento non abbiamo.
‫Quindi, se torno ai miei progetti su una variabile e ho un è in volo come variabile
‫booleana qui, allora posso inserirlo in questo editor di nodi per Grounded Transition.
‫E poi possiamo collegarlo in modo che quello che stiamo dicendo è che questa transizione è possibile quando siamo
‫in volo e quindi vogliamo una transizione inversa che va dall'aereo a terra.
‫E se facciamo doppio clic su quello, allora possiamo inserire un nodo nodo che sostanzialmente
‫nega il booleano e quindi possiamo inserire anche il booleano is airborne.
‫In modo che alla fine quello che abbiamo qui, se andiamo alla nostra anteprima dell'anim, lo aggiungiamo alla
‫scheda a destra, possiamo girare l'interruttore e entriamo in quello stato in volo riproducendo l'animazione in volo.
‫E se lo capovolgiamo di nuovo, torniamo alla nostra locomozione a terra.
‫E puoi vedere che tutto questo funzionerà anche con il nostro obiettivo.
‫Se sposto la mira verso l'alto, colpisco in volo.
‫Puoi vedere che continuiamo a mirare nella direzione in cui dovremmo mirare.
‫Ok, quindi ho una mini sfida per te.
‫Oltre a impostare la macchina a stati in questo modo, se non l'hai già seguito, quello che vorrei
‫che provassi a fare è vedere se riesci a trovare un modo.
‫Nel momento in cui clicchiamo è in volo, otteniamo questo strano ciclo glitch di questa animazione, questa animazione
‫in volo.
‫Vedi se riesci a fare in modo che questa animazione non si ripeta.
‫Vedi se riesci a orientarti nel progetto dell'anim, che può essere piuttosto difficile da navigare e vedere se riesci
‫a trovare quella proprietà.
‫Bene.
‫Ben tornato.
‫Quindi si spera che tu sia andato e ci hai provato.
‫Allora, da dove cominceremo a pensare a questo?
‫Come inizieremmo a navigare intorno a questo progetto?
‫Bene, per cominciare, sappiamo che questo problema viene dalla nostra macchina a stati di locomozione.
‫Quindi entriamo lì e possiamo vedere che la cosa che sta giocando lo stato che sta giocando attualmente
‫è lo stato aereo.
‫Quindi entriamo in quello e puoi vedere che il combattimento dell'apice del salto sta girando in tondo e
‫sta chiaramente creando questo problema qui.
‫Quindi, se facciamo clic su quell'animazione e osserviamo i dettagli, puoi vedere che abbiamo questa proprietà di animazione del
‫ciclo impostata.
‫Se deseleziono e poi ricompilo quel progetto di animazione, vado e colpisco è in volo.
‫Puoi vedere che riproduce quell'apice del salto solo una volta e poi continua a mantenere quell'animazione fino a quando non deselezioniamo la casella, a
‫quel punto torna alla nostra macchina a stati di locomozione.
‫Vediamo che tutto funziona se avessimo un po' di velocità, se ci muovessimo.
‫Quindi qui stiamo correndo.
‫Aggiungiamo è in volo.
‫Entra nel nostro apice di salto fino a quando non siamo più in volo, a quel punto torniamo a
‫correre a terra.
‫Quindi è tutto per questa lezione.
‫Ci è stato presentato un concetto completamente nuovo, molto da comprendere nell'idea di una macchina a stati di animazione.
‫Abbiamo visto due stati e come entriamo in essi tramite le transizioni, e abbiamo visto come ciò
‫può essere guidato da un valore booleano per consentirci di avere uno stato di salto.
‫Nella prossima lezione, collegheremo questo al gameplay e perfezioneremo ulteriormente le cose.