﻿1
00:00:04,470 --> 00:00:05,240
‫Ciao e Benvenuto.

2
00:00:05,250 --> 00:00:10,800
‫In questa lezione, ti presenteremo una nuova parte del progetto di animazione chiamata macchina a

3
00:00:10,800 --> 00:00:11,310
‫stati.

4
00:00:11,310 --> 00:00:12,570
‫Parte molto utile di esso.

5
00:00:12,870 --> 00:00:18,960
‫E cosa possiamo permetterci di fare è se premiamo un interruttore booleano qui, ci permetterà di passare a

6
00:00:18,960 --> 00:00:22,560
‫uno stato di salto e poi di tornare a terra.

7
00:00:22,800 --> 00:00:26,820
‫Vediamo come funziona tutto questo e come possiamo crearlo per noi stessi.

8
00:00:28,020 --> 00:00:28,260
‫Bene.

9
00:00:28,260 --> 00:00:33,420
‫Quindi abbiamo questo comportamento davvero strano quando saltiamo, il che significa solo che finiamo per correre a

10
00:00:33,420 --> 00:00:35,970
‫mezz'aria, il che ovviamente non è un bell'aspetto.

11
00:00:36,600 --> 00:00:41,700
‫Ora, per risolvere questo problema, dovremo conoscere un concetto di animazione completamente nuovo chiamato macchina a stati

12
00:00:41,700 --> 00:00:42,390
‫di animazione.

13
00:00:42,600 --> 00:00:47,190
‫Quindi questo appartiene al progetto di animazione, quindi vai avanti e accendilo se non l'hai

14
00:00:47,190 --> 00:00:48,060
‫già acceso.

15
00:00:48,660 --> 00:00:55,050
‫E nel grafico anim, finora, tutto ciò che abbiamo fatto nel grafico è passato attraverso questi nodi

16
00:00:55,050 --> 00:00:55,500
‫qui.

17
00:00:55,980 --> 00:01:00,780
‫Ora, quello che voglio mostrarvi è come possiamo aggiungere qualcosa di nuovo, qualcosa chiamato macchina a stati.

18
00:01:01,230 --> 00:01:07,050
‫Faremo clic con il pulsante destro del mouse e questo è nel grafico anim e cercheremo la macchina a stati.

19
00:01:07,050 --> 00:01:11,580
‫E puoi vedere che questo annuncio, la nuova macchina a stati è un'opzione qui.

20
00:01:11,610 --> 00:01:15,150
‫Ora, voglio mostrarti che c'è anche un altro modo per farlo.

21
00:01:15,480 --> 00:01:17,860
‫Se fai clic con il pulsante destro del mouse fino in fondo.

22
00:01:17,880 --> 00:01:24,690
‫Quindi, se facciamo clic con il pulsante destro del mouse nel grafico anim e cerchiamo una nuova macchina a stati, abbiamo questa opzione.

23
00:01:24,690 --> 00:01:31,230
‫Qui facciamo clic, crea un nuovo nodo e puoi vedere che il nodo ha un pin di output di un singolo PO

24
00:01:31,830 --> 00:01:37,860
‫di animazione e oltre nel riquadro di sinistra in My Blueprint, ha creato questa nuova macchina a stati sotto il

25
00:01:37,860 --> 00:01:39,060
‫nostro grafico anim.

26
00:01:39,420 --> 00:01:45,510
‫Quindi, se fai doppio clic sulla nuova macchina a stati o fai clic sul grafico anim, vedrai che ti

27
00:01:45,510 --> 00:01:47,520
‫porterà a questa nuova finestra.

28
00:01:47,700 --> 00:01:48,870
‫Quindi è un'altra cosa.

29
00:01:48,870 --> 00:01:53,580
‫Abbiamo il grafico anim, il nostro grafico degli eventi e ora abbiamo questo grafico della macchina a stati.

30
00:01:54,540 --> 00:01:55,950
‫Possiamo davvero rinominarlo.

31
00:01:55,950 --> 00:02:01,710
‫Quindi possiamo dare un nome migliore alla nostra macchina a stati facendo clic su di essa nei progetti della miniera e premendo F-2.

32
00:02:01,710 --> 00:02:05,700
‫E possiamo chiamarla locomozione perché sarà tutta una questione di locomozione.

33
00:02:05,700 --> 00:02:07,630
‫E poi cosa fa una macchina a stati?

34
00:02:07,680 --> 00:02:11,820
‫Bene, una macchina a stati è nella sua forma più semplice, è un insieme di se fai clic con il pulsante destro del mouse.

35
00:02:11,820 --> 00:02:13,950
‫In effetti, puoi vedere che ci sono un paio di opzioni qui.

36
00:02:14,310 --> 00:02:15,660
‫C'è un commento, c'è un condotto.

37
00:02:15,660 --> 00:02:19,920
‫Ma la cosa più importante è che gli stati sono una macchina piena di stati.

38
00:02:19,920 --> 00:02:22,810
‫E posso aggiungere un paio di stati qui per darti un'idea.

39
00:02:22,820 --> 00:02:24,830
‫Quindi abbiamo anche uno stato per dichiarare uno stato.

40
00:02:25,440 --> 00:02:29,610
‫E poi se ti trascini oltre questo confine, crea qualcosa chiamato transizione.

41
00:02:29,610 --> 00:02:32,250
‫Quindi possiamo creare una transizione tra gli stati.

42
00:02:32,910 --> 00:02:38,460
‫E abbiamo questa voce, Penn, che fondamentalmente ci dice dove dovremmo avviarla in quale stato.

43
00:02:39,090 --> 00:02:40,800
‫Ok, allora facciamo un piccolo passo indietro.

44
00:02:40,800 --> 00:02:42,060
‫Che cosa significa tutto questo?

45
00:02:43,050 --> 00:02:49,080
‫Bene, in ogni dato stato, se fai doppio clic su di esso, puoi vedere che c'è un pin di output e quel

46
00:02:49,080 --> 00:02:55,230
‫pin di output può essere utilizzato nello stesso modo in cui il nostro grafico anim può essere utilizzato per costruire una posa di animazione.

47
00:02:55,380 --> 00:03:00,030
‫Quindi, nella sua forma più semplice, potremmo semplicemente decidere di inserire un'animazione qui.

48
00:03:00,150 --> 00:03:03,330
‫Quindi seleziona qualsiasi vecchia riproducibilità dell'animazione, ad esempio.

49
00:03:03,660 --> 00:03:09,240
‫E questa è l'animazione che verrà riprodotta quando la macchina a stati è in un determinato stato.

50
00:03:09,990 --> 00:03:11,780
‫Ora, come entriamo in un dato stato?

51
00:03:11,790 --> 00:03:15,000
‫Bene, potremmo entrare in un dato stato perché il nostro nodo di ingresso punta ad esso.

52
00:03:15,000 --> 00:03:16,670
‫E quindi questo è lo stato predefinito.

53
00:03:16,680 --> 00:03:17,790
‫È da lì che iniziamo.

54
00:03:18,360 --> 00:03:21,720
‫Ma poi potremmo arrivare a uno stato anche attraverso una serie di transizioni.

55
00:03:22,410 --> 00:03:27,120
‫Quindi le transizioni hanno ciascuna proprietà, puoi fare doppio clic su una transizione e puoi

56
00:03:27,120 --> 00:03:32,280
‫vederlo di nuovo, otteniamo questo nodo nel suo pop-up e possiamo avere una sorta di proprietà booleana.

57
00:03:32,280 --> 00:03:38,820
‫Quindi non lo so, potremmo avere qualcosa come è morto, possiamo ottenere è morto, possiamo convogliarlo qui e ora

58
00:03:39,120 --> 00:03:41,610
‫ogni volta che è morto è vero.

59
00:03:41,940 --> 00:03:48,060
‫Faremo la transizione se siamo in questo stato originale, se siamo morti, faremo la transizione nello

60
00:03:48,060 --> 00:03:52,140
‫stato uno e inizieremo a riprodurre l'animazione nello stato uno.

61
00:03:52,140 --> 00:03:57,810
‫E poi se le transizioni dallo stato uno sono vere, per qualsiasi motivo, potremmo effettuare il passaggio

62
00:03:57,810 --> 00:03:58,860
‫allo stato due.

63
00:03:59,550 --> 00:04:05,640
‫Ok, quindi in teoria va tutto molto bene, ma in che modo questo ci aiuta nella pratica con la corsa?

64
00:04:06,360 --> 00:04:10,830
‫Bene, per esempio, potremmo volere uno stato che dice grounded.

65
00:04:11,790 --> 00:04:16,370
‫E negli stati a terra, giocheremo la nostra locomozione a terra.

66
00:04:16,380 --> 00:04:24,720
‫Quindi, se torniamo al grafico anim, ciò che è la locomozione a terra è fondamentalmente tutto qui prima dell'offset di combattimento noi

67
00:04:24,720 --> 00:04:30,660
‫e idle, c'è questo spazio di fusione della locomozione che ho spostato a terra.

68
00:04:30,660 --> 00:04:39,240
‫Quindi taglierò i nodi qui, andrò e collegherò la mia macchina a stati di locomozione per passare al nostro offset di mira che

69
00:04:39,240 --> 00:04:44,880
‫andrò nella macchina a stati di locomozione, andrò nello stato di terra e incollerò quei

70
00:04:44,880 --> 00:04:48,390
‫nodi qui e collegarli al pannello di output.

71
00:04:48,870 --> 00:04:52,380
‫Quindi seguiamo cosa sta succedendo qui a livello di grafico anim.

72
00:04:53,130 --> 00:04:58,080
‫Prima di tutto, stiamo eseguendo la macchina a stati di locomozione dell'animazione.

73
00:04:58,620 --> 00:05:04,320
‫E poiché non l'ho collegato, ma poiché il pin di ingresso punta allo stato a terra, siamo

74
00:05:04,320 --> 00:05:08,430
‫automaticamente nello stato a terra, andrà lì, capisci, ok, abbiamo uno spazio di

75
00:05:08,430 --> 00:05:12,090
‫fusione, mescoliamo ciò usando le nostre variabili, quindi lo emettiamo.

76
00:05:12,510 --> 00:05:15,840
‫Questo diventa l'output della nostra macchina a stati nel suo insieme.

77
00:05:16,290 --> 00:05:21,090
‫E poi alimenta l'animazione di combattimento, che alimenta la nostra animazione di morte, che

78
00:05:21,090 --> 00:05:23,220
‫alimenta il nostro output finale.

79
00:05:23,910 --> 00:05:30,600
‫Quindi si spera che ora quello che vedremo quando lo compileremo è in realtà non è cambiato nulla perché c'è solo uno stato

80
00:05:30,600 --> 00:05:32,370
‫nella nostra macchina a stati.

81
00:05:33,360 --> 00:05:36,750
‫Tuttavia, se stiamo saltando, possiamo introdurre un nuovo stato.

82
00:05:36,750 --> 00:05:43,710
‫Per questo andiamo allo stato, quindi possiamo essere in volo come stato e in questo stato non giocheremo le

83
00:05:43,710 --> 00:05:44,730
‫stesse animazioni.

84
00:05:44,730 --> 00:05:48,930
‫Stiamo essenzialmente sostituendo quelle animazioni nel grafico dell'anim in alto.

85
00:05:48,930 --> 00:05:54,150
‫A questo livello, stiamo dicendo che questo nodo passerà alla riproduzione di animazioni diverse quando si

86
00:05:54,150 --> 00:05:55,740
‫trova nello stato aviotrasportato.

87
00:05:56,190 --> 00:06:00,390
‫Quindi vogliamo entrare nell'Airborne State e assicurarci di avere un'animazione selezionata qui.

88
00:06:00,390 --> 00:06:05,370
‫Quindi estrarrò quel risultato e cercherò solo un salto.

89
00:06:05,640 --> 00:06:12,570
‫E in particolare cercherò il combattimento di combattimento dell'apice del salto perché questo ci fa mirare all'apice

90
00:06:12,570 --> 00:06:19,020
‫perché questo sarà l'inizio del nostro salto e quindi usciremo dal grafico dell'anim che usciremo a

91
00:06:19,020 --> 00:06:23,400
‫livello di locomozione e noteremo che c'è un problema qui.

92
00:06:23,460 --> 00:06:27,900
‫Non c'è modo per noi di arrivare nell'Airborne State perché non c'è una transizione che ci porti a questo.

93
00:06:28,500 --> 00:06:35,160
‫Quindi quello che vogliamo fare è trascinare dal confine di Grounded sull'Airborne State e vogliamo fare doppio clic

94
00:06:35,160 --> 00:06:38,070
‫lì perché vogliamo creare una transizione qui.

95
00:06:38,460 --> 00:06:42,030
‫E farò solo una transizione basata su una variabile che al momento non abbiamo.

96
00:06:42,030 --> 00:06:50,370
‫Quindi, se torno ai miei progetti su una variabile e ho un è in volo come variabile

97
00:06:50,700 --> 00:06:57,810
‫booleana qui, allora posso inserirlo in questo editor di nodi per Grounded Transition.

98
00:06:58,740 --> 00:07:05,640
‫E poi possiamo collegarlo in modo che quello che stiamo dicendo è che questa transizione è possibile quando siamo

99
00:07:06,390 --> 00:07:11,190
‫in volo e quindi vogliamo una transizione inversa che va dall'aereo a terra.

100
00:07:11,760 --> 00:07:19,350
‫E se facciamo doppio clic su quello, allora possiamo inserire un nodo nodo che sostanzialmente

101
00:07:19,350 --> 00:07:25,560
‫nega il booleano e quindi possiamo inserire anche il booleano is airborne.

102
00:07:26,010 --> 00:07:32,070
‫In modo che alla fine quello che abbiamo qui, se andiamo alla nostra anteprima dell'anim, lo aggiungiamo alla

103
00:07:32,310 --> 00:07:38,280
‫scheda a destra, possiamo girare l'interruttore e entriamo in quello stato in volo riproducendo l'animazione in volo.

104
00:07:38,280 --> 00:07:42,990
‫E se lo capovolgiamo di nuovo, torniamo alla nostra locomozione a terra.

105
00:07:43,260 --> 00:07:46,440
‫E puoi vedere che tutto questo funzionerà anche con il nostro obiettivo.

106
00:07:46,440 --> 00:07:50,640
‫Se sposto la mira verso l'alto, colpisco in volo.

107
00:07:50,820 --> 00:07:54,270
‫Puoi vedere che continuiamo a mirare nella direzione in cui dovremmo mirare.

108
00:07:54,510 --> 00:07:56,880
‫Ok, quindi ho una mini sfida per te.

109
00:07:57,300 --> 00:08:02,880
‫Oltre a impostare la macchina a stati in questo modo, se non l'hai già seguito, quello che vorrei

110
00:08:03,300 --> 00:08:07,380
‫che provassi a fare è vedere se riesci a trovare un modo.

111
00:08:07,410 --> 00:08:14,040
‫Nel momento in cui clicchiamo è in volo, otteniamo questo strano ciclo glitch di questa animazione, questa animazione

112
00:08:14,040 --> 00:08:15,090
‫in volo.

113
00:08:15,510 --> 00:08:18,750
‫Vedi se riesci a fare in modo che questa animazione non si ripeta.

114
00:08:18,780 --> 00:08:23,610
‫Vedi se riesci a orientarti nel progetto dell'anim, che può essere piuttosto difficile da navigare e vedere se riesci

115
00:08:23,610 --> 00:08:24,810
‫a trovare quella proprietà.

116
00:08:24,840 --> 00:08:25,110
‫Bene.

117
00:08:25,110 --> 00:08:25,610
‫Ben tornato.

118
00:08:25,620 --> 00:08:28,080
‫Quindi si spera che tu sia andato e ci hai provato.

119
00:08:28,350 --> 00:08:30,450
‫Allora, da dove cominceremo a pensare a questo?

120
00:08:30,450 --> 00:08:32,850
‫Come inizieremmo a navigare intorno a questo progetto?

121
00:08:33,810 --> 00:08:39,360
‫Bene, per cominciare, sappiamo che questo problema viene dalla nostra macchina a stati di locomozione.

122
00:08:39,960 --> 00:08:45,150
‫Quindi entriamo lì e possiamo vedere che la cosa che sta giocando lo stato che sta giocando attualmente

123
00:08:45,150 --> 00:08:46,500
‫è lo stato aereo.

124
00:08:46,710 --> 00:08:52,800
‫Quindi entriamo in quello e puoi vedere che il combattimento dell'apice del salto sta girando in tondo e

125
00:08:52,800 --> 00:08:55,020
‫sta chiaramente creando questo problema qui.

126
00:08:55,590 --> 00:09:02,460
‫Quindi, se facciamo clic su quell'animazione e osserviamo i dettagli, puoi vedere che abbiamo questa proprietà di animazione del

127
00:09:02,460 --> 00:09:03,270
‫ciclo impostata.

128
00:09:03,990 --> 00:09:11,190
‫Se deseleziono e poi ricompilo quel progetto di animazione, vado e colpisco è in volo.

129
00:09:11,820 --> 00:09:21,270
‫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

130
00:09:21,270 --> 00:09:25,590
‫quel punto torna alla nostra macchina a stati di locomozione.

131
00:09:25,860 --> 00:09:29,040
‫Vediamo che tutto funziona se avessimo un po' di velocità, se ci muovessimo.

132
00:09:29,040 --> 00:09:30,030
‫Quindi qui stiamo correndo.

133
00:09:30,630 --> 00:09:32,400
‫Aggiungiamo è in volo.

134
00:09:32,610 --> 00:09:39,060
‫Entra nel nostro apice di salto fino a quando non siamo più in volo, a quel punto torniamo a

135
00:09:39,060 --> 00:09:40,310
‫correre a terra.

136
00:09:40,320 --> 00:09:41,370
‫Quindi è tutto per questa lezione.

137
00:09:41,370 --> 00:09:46,500
‫Ci è stato presentato un concetto completamente nuovo, molto da comprendere nell'idea di una macchina a stati di animazione.

138
00:09:46,800 --> 00:09:52,290
‫Abbiamo visto due stati e come entriamo in essi tramite le transizioni, e abbiamo visto come ciò

139
00:09:52,320 --> 00:09:57,660
‫può essere guidato da un valore booleano per consentirci di avere uno stato di salto.

140
00:09:57,660 --> 00:10:02,040
‫Nella prossima lezione, collegheremo questo al gameplay e perfezioneremo ulteriormente le cose.

