﻿1
00:00:04,440 --> 00:00:05,700
‫Ciao e benvenuto a questa lezione.

2
00:00:05,700 --> 00:00:11,100
‫Giocheremo con gli offset AIM che consentiranno alla nostra mesh di muovere le braccia su e giù.

3
00:00:11,370 --> 00:00:15,120
‫Mentre miriamo su e giù, tuffiamoci e vediamo di cosa si tratta.

4
00:00:16,200 --> 00:00:20,880
‫Quindi al momento, se miriamo su e giù, puoi vedere che le braccia dei nostri personaggi in realtà

5
00:00:20,880 --> 00:00:26,310
‫non stanno facendo nulla e la pistola non sembra proprio che dovrebbe puntare verso l'alto, sparare e colpire il punto

6
00:00:26,310 --> 00:00:28,230
‫in cui stiamo effettivamente colpendo .

7
00:00:28,800 --> 00:00:30,810
‫Quindi come possiamo cambiare questo?

8
00:00:30,870 --> 00:00:33,390
‫Bene, è una modifica a un progetto di animazione.

9
00:00:33,390 --> 00:00:38,460
‫Quindi andiamo avanti e apriamo il progetto di animazione come punto di partenza e lo colleghiamo alla nostra finestra principale.

10
00:00:39,180 --> 00:00:44,190
‫E poi voglio presentarvi un nuovo tipo di risorsa di animazione che non abbiamo mai visto prima.

11
00:00:44,190 --> 00:00:46,440
‫Abbiamo visto spazi di fusione, abbiamo visto animazioni.

12
00:00:46,800 --> 00:00:53,070
‫La prossima cosa che voglio mostrarti è qualcosa chiamato offset di animazione e in particolare offset di

13
00:00:53,070 --> 00:00:53,670
‫mira.

14
00:00:53,670 --> 00:01:00,600
‫Quindi, se cerchiamo la parola chiave A0 nelle animazioni, stiamo cercando queste con una piccola sottolineatura blu

15
00:01:00,600 --> 00:01:01,890
‫chiamata offset AIM.

16
00:01:02,250 --> 00:01:03,060
‫E ce ne sono un paio.

17
00:01:03,060 --> 00:01:09,090
‫Quello che mi interessa è il combattimento AOE, che dovrebbe essere qui da qualche parte.

18
00:01:09,120 --> 00:01:11,460
‫Erano grigi, inattivi combattimenti aoe.

19
00:01:11,950 --> 00:01:16,620
‫Entra, selezionalo, quindi vedrai che abbiamo qualcosa che assomiglia molto al nostro spazio di fusione.

20
00:01:16,800 --> 00:01:22,470
‫Tranne che questa volta se sposti la piccola protuberanza verde, quello che sta succedendo è che sta cambiando

21
00:01:22,470 --> 00:01:25,620
‫la direzione in cui punta la maglia dei nostri personaggi.

22
00:01:25,620 --> 00:01:30,660
‫Quindi se veniamo a sinistra, lui punta la sua pistola a sinistra, noi arriviamo a destra, lui

23
00:01:30,660 --> 00:01:32,460
‫punta la sua pistola a destra.

24
00:01:32,790 --> 00:01:36,810
‫E allo stesso modo con su e giù, se vai in alto, allora lui guarda in alto, tu in

25
00:01:36,810 --> 00:01:39,000
‫basso, lui guarda in basso e cerca di abbattere.

26
00:01:39,600 --> 00:01:46,620
‫Ora la differenza con questa e altre animazioni che abbiamo visto è che questa è nota come animazione

27
00:01:46,620 --> 00:01:47,280
‫additiva.

28
00:01:47,280 --> 00:01:51,690
‫Se vai al riquadro dei dettagli, puoi vedere che è additivo perché dice impostazioni

29
00:01:51,690 --> 00:01:55,680
‫aggiuntive e c'è questa posa basata sull'animazione che sta basando tutto questo.

30
00:01:56,370 --> 00:02:01,500
‫Fondamentalmente ciò che significa quando è additivo è che questa animazione può essere aggiunta sopra le altre

31
00:02:01,500 --> 00:02:02,400
‫tue animazioni.

32
00:02:02,400 --> 00:02:06,030
‫Quindi sta dicendo che posso mirare mentre corri.

33
00:02:06,030 --> 00:02:13,020
‫Posso aggiungere le informazioni su dove si sono spostate le mie braccia rispetto alla tua posa di corsa e aggiungerle in cima.

34
00:02:13,620 --> 00:02:14,670
‫Allora come appare?

35
00:02:14,670 --> 00:02:22,260
‫Se andiamo al progetto di animazione, quello che vogliamo fare è aggiungere queste informazioni dopo aver aggiunto tutte queste informazioni

36
00:02:22,260 --> 00:02:28,410
‫sulla locomozione e probabilmente non prima della morte, perché la morte dovrebbe essere l'ultima cosa.

37
00:02:29,160 --> 00:02:31,080
‫Quindi vogliamo dopo la locomozione.

38
00:02:31,080 --> 00:02:33,690
‫Quindi abbiamo tutte le nostre animazioni in esecuzione che vogliamo aggiungere.

39
00:02:33,690 --> 00:02:40,110
‫Inoltre, le poche informazioni su dove dovrebbero essere spostate le nostre braccia in modo da mirare

40
00:02:40,110 --> 00:02:40,770
‫correttamente.

41
00:02:41,280 --> 00:02:45,000
‫Quindi, per fare ciò, possiamo fare clic con il pulsante destro del mouse e aggiungere l'offset della mira.

42
00:02:45,000 --> 00:02:47,850
‫Possiamo farlo anche dal browser delle risorse e quindi cercare A0.

43
00:02:48,240 --> 00:02:53,550
‫E poi, come ho detto, stiamo cercando quella versione da combattimento, che è un posto diverso in questo browser.

44
00:02:53,550 --> 00:02:59,880
‫Stranamente, se l'ho trascinato dentro, quello che ottieni è qualcosa con un pin di input che dice Qual è

45
00:02:59,880 --> 00:03:01,620
‫l'avviso di base pagato?

46
00:03:01,620 --> 00:03:06,810
‫La base dei piani di locomozione non aveva un pin di input

47
00:03:07,260 --> 00:03:14,550
‫perché ti fornisce l'intera animazione, mentre questo obiettivo è compensato perché è un'animazione additiva, richiede qualcosa da aggiungere.

48
00:03:14,550 --> 00:03:19,950
‫Quindi devi dargli una posa di base che verrà dalla nostra locomozione, e poi andremo

49
00:03:19,950 --> 00:03:26,460
‫a inserirla nella nostra falsa posa della fusione, che siamo morti o meno, perché siamo solo mostrando questo

50
00:03:26,460 --> 00:03:27,990
‫se non siamo morti.

51
00:03:29,030 --> 00:03:36,710
‫E poi voglio mostrarti che se dovessi cambiare il tono in uno o forse in 180, in realtà, e andare

52
00:03:36,710 --> 00:03:41,480
‫avanti e compilare, allora puoi vedere che sta guardando completamente in alto.

53
00:03:42,020 --> 00:03:44,540
‫Ora, un altro trucco che voglio fare qui è nel grafico degli eventi.

54
00:03:44,540 --> 00:03:50,090
‫Al momento, abbiamo una situazione piuttosto fastidiosa in cui non possiamo fare qualcosa nell'anteprima

55
00:03:50,090 --> 00:03:54,830
‫dell'anim perché viene sovrascritto con zeri dal nostro grafico degli eventi.

56
00:03:54,830 --> 00:04:01,610
‫Un modo semplice per risolvere questo problema è semplicemente mettere un controllo qui per verificare se il proprietario del pedone che abbiamo qui

57
00:04:02,090 --> 00:04:02,910
‫è valido.

58
00:04:02,930 --> 00:04:04,130
‫Vale a dire, è nullo?

59
00:04:04,850 --> 00:04:10,730
‫Quindi, se put è valido qui e quello con il punto interrogativo ci dà automaticamente questi nodi

60
00:04:11,090 --> 00:04:18,500
‫di esecuzione e se passiamo attraverso un nodo di esecuzione dell'animazione di aggiornamento e impostiamo le cose solo se è valido, allora

61
00:04:18,500 --> 00:04:23,900
‫quello che accadrà è che quando non stai effettivamente giocando e non c'è una pedina lì

62
00:04:23,900 --> 00:04:26,900
‫a darci le informazioni, ci permetterà di impostarle.

63
00:04:26,900 --> 00:04:28,040
‫Aggiunta l'anteprima di Anim.

64
00:04:28,610 --> 00:04:36,380
‫Quindi ora posso cambiare la velocità e puoi vedere che inizia a correre con il suo offset di mira impostato alto.

65
00:04:36,980 --> 00:04:41,030
‫Quindi impostiamo questo in modo che il nostro tono sia effettivamente una variabile qui.

66
00:04:41,030 --> 00:04:47,060
‫Quindi farò clic con il pulsante destro del mouse su pitch e promuovo a variabile e porterò quella variabile qui sotto,

67
00:04:47,060 --> 00:04:50,150
‫che è visibile e cambierò il suo nome in pitch.

68
00:04:51,080 --> 00:04:54,470
‫O in effetti, siamo più specifici, questo è l'obiettivo.

69
00:04:54,470 --> 00:05:00,230
‫Quindi ora, se andiamo avanti e compiliamo, impostiamo il nostro obiettivo predefinito per caso.

70
00:05:00,230 --> 00:05:03,110
‫Vogliamo impostarlo su zero per impostazione predefinita.

71
00:05:03,530 --> 00:05:04,820
‫Vado avanti e lo compilo.

72
00:05:05,270 --> 00:05:10,970
‫E ora se andiamo avanti e cambiamo la velocità e poi cambiamo il passo della mira.

73
00:05:12,140 --> 00:05:16,850
‫Puoi vedere che possiamo mirare in alto e possiamo mirare in basso, che è esattamente quello che vogliamo.

74
00:05:17,150 --> 00:05:20,120
‫Ora, il problema qui è che non è ancora ambientato in un gioco.

75
00:05:20,150 --> 00:05:26,660
‫Se andiamo su e giù, niente di tutto ciò viene dalle informazioni dalla nostra rotazione di controllo e dalla nostra mira.

76
00:05:27,170 --> 00:05:31,010
‫Quindi dobbiamo tornare al nostro grafico degli eventi e ottenere alcune di queste informazioni qui.

77
00:05:31,040 --> 00:05:35,810
‫Ora, voglio solo rendere un po' più piccante le cose qui perché questo sta diventando piuttosto lungo.

78
00:05:36,170 --> 00:05:42,590
‫E quello che voglio fare è togliere questo pin valido è voglio mettere un nodo di sequenza che mi

79
00:05:42,680 --> 00:05:47,670
‫permetterà di allargare le cose anche un po' in basso nella direzione verticale.

80
00:05:47,690 --> 00:05:52,980
‫Quindi il nodo della sequenza, prima di tutto, andrà a impostare la velocità e l'angolo qui.

81
00:05:53,000 --> 00:05:57,050
‫Quindi penso che possiamo spostare questa roba a che fare con il casting per girare un personaggio.

82
00:05:57,410 --> 00:06:04,130
‫Penso che possiamo abbassarlo ulteriormente verticalmente, collegandoci con quel pin della sequenza e il pin dell'oggetto per

83
00:06:04,130 --> 00:06:07,310
‫provare a ottenere - su un nodo.

84
00:06:07,340 --> 00:06:09,800
‫Quindi possiamo aggiungere un altro pin nella sequenza.

85
00:06:09,810 --> 00:06:13,580
‫E questa volta voglio ottenere due informazioni dal nostro proprietario del pedone.

86
00:06:14,060 --> 00:06:17,280
‫Il primo sarà una rotazione di controllo.

87
00:06:17,300 --> 00:06:19,820
‫Quindi facciamo una rotazione di controllo.

88
00:06:20,450 --> 00:06:26,180
‫Ma questo non sarà sufficiente perché come rotazione di controllo, se dividiamo il birillo, puoi vedere che

89
00:06:26,180 --> 00:06:29,520
‫abbiamo un campo qui e potremmo provare a impostarlo.

90
00:06:29,560 --> 00:06:30,650
‫Proviamolo.

91
00:06:31,100 --> 00:06:38,540
‫Quindi, se eseguo un passo prestabilito e collego il nodo di esecuzione al nodo di esecuzione dalla nostra sequenza, aggiungendo

92
00:06:38,540 --> 00:06:44,870
‫un po' di reindirizzamento a quello, cosa accadrà se compiliamo, salviamo, premiamo play e poi miriamo in

93
00:06:44,870 --> 00:06:46,100
‫alto funziona bene.

94
00:06:46,310 --> 00:06:48,530
‫Mira in basso non si gira.

95
00:06:48,890 --> 00:06:52,070
‫Poi le cose iniziano a sembrare ancora più strane.

96
00:06:52,520 --> 00:06:59,270
‫Ora quello che sta succedendo è che questa rotazione di controllo è completamente globale e quindi non tiene conto

97
00:06:59,270 --> 00:07:02,600
‫della direzione che il nostro giocatore sta già affrontando.

98
00:07:03,080 --> 00:07:10,880
‫Quindi, per tenerne conto, dobbiamo tornare al pedone e ottenere la rotazione dell'attore.

99
00:07:10,880 --> 00:07:18,290
‫E poi quello che vogliamo trovare è la rotazione tra la rotazione dell'attore e la rotazione del controllo.

100
00:07:18,680 --> 00:07:22,340
‫E il modo in cui lo facciamo è che disconnetterò semplicemente il tono AM.

101
00:07:22,880 --> 00:07:28,700
‫Interrompi quel collegamento e fai clic con il pulsante destro del mouse e ricombina i pin della struttura è voglio fare un

102
00:07:28,700 --> 00:07:33,230
‫delta tra quei due in modo da poter togliere la rotazione del controllo e cercare Delta.

103
00:07:34,270 --> 00:07:41,050
‫E Delta è fondamentalmente un modo elegante per dire sottrazione tra rotatori.

104
00:07:41,440 --> 00:07:48,760
‫Quindi quello che vogliamo fare è prendere la nostra rotazione di controllo e sottrarre la rotazione di base, che sarà

105
00:07:48,790 --> 00:07:50,780
‫la rotazione del nostro attore.

106
00:07:50,800 --> 00:07:55,690
‫Quindi è B quindi sarà A meno B se passi il mouse sopra, questo è ciò che fa la rotazione delta.

107
00:07:56,170 --> 00:08:01,600
‫E fondamentalmente vogliamo dire: Sì, voglio la rotazione di controllo, ma togli tutte quelle

108
00:08:01,600 --> 00:08:03,580
‫informazioni sulla nostra rotazione attiva.

109
00:08:03,580 --> 00:08:10,720
‫Quindi posso solo sapere se stiamo mirando su e giù rispetto alla direzione in cui è rivolto il mio personaggio.

110
00:08:11,230 --> 00:08:17,650
‫E poi se divido il valore di ritorno nascosto da quello e uso il campo da lì,

111
00:08:17,650 --> 00:08:20,140
‫vedremo che tutto funziona come previsto.

112
00:08:20,140 --> 00:08:26,440
‫Quando guardo in alto il mio nome, quando guardo in basso, miro in basso e non importa da che

113
00:08:26,440 --> 00:08:29,380
‫parte sto affrontando nel mondo, sarà sempre così.

114
00:08:29,440 --> 00:08:33,160
‫Quindi è quasi tutto per la nostra rotazione dell'obiettivo.

115
00:08:33,190 --> 00:08:38,320
‫L'unico problema è che al momento Ally non è in grado di mirare in questo modo.

116
00:08:38,320 --> 00:08:46,600
‫Quindi, se vado a mettere un personaggio sparatutto su per le scale qui e poi andiamo a cercare di picchiarlo, cerchiamo

117
00:08:46,600 --> 00:08:49,180
‫di convincerlo a venire da noi.

118
00:08:49,480 --> 00:08:50,230
‫Eccolo che arriva.

119
00:08:50,590 --> 00:08:53,260
‫Puoi vedere che sta sparando contro il muro.

120
00:08:53,320 --> 00:08:55,960
‫Non sta cercando di mirare affatto, il che è un po' triste.

121
00:08:56,350 --> 00:09:02,260
‫Quindi cosa succede se andiamo al nostro alleato e al nostro albero del comportamento, puoi vedere che stiamo impostando un

122
00:09:02,260 --> 00:09:04,060
‫focus predefinito su una posizione.

123
00:09:04,060 --> 00:09:10,150
‫E per impostazione predefinita, se imposti un focus su una posizione, Unreal non aggiornerà la tua rotazione di controllo

124
00:09:10,150 --> 00:09:13,270
‫nello stesso modo in cui non eseguirà il pitch.

125
00:09:13,840 --> 00:09:14,860
‫Quindi è un po' triste.

126
00:09:15,010 --> 00:09:21,940
‫Ok, quindi quello che dobbiamo fare è andare sulla nostra lavagna e cambiare la posizione di questo giocatore in modo che sia

127
00:09:21,940 --> 00:09:27,730
‫solo un riferimento al giocatore, invece che dobbiamo cambiare questo vettore in modo che sia un oggetto.

128
00:09:27,790 --> 00:09:33,370
‫Quindi ora quello che abbiamo è una chiave vuota per il giocatore, che è un oggetto, e

129
00:09:33,370 --> 00:09:38,530
‫possiamo cambiare la classe base in attore se vogliamo, anche se non è particolarmente importante.

130
00:09:38,980 --> 00:09:44,560
‫E poi ciò che significa è finito nell'albero del comportamento, possiamo cambiare le cose in modo che

131
00:09:44,560 --> 00:09:49,270
‫ci spostiamo invece di spostarci per applicare la posizione, ci spostiamo all'attore del giocatore.

132
00:09:49,690 --> 00:09:57,340
‫Possiamo impostare il focus sull'attore giocatore e aggiornare la posizione del giocatore se la scena ora deve

133
00:09:57,340 --> 00:10:00,370
‫puntare anche a un attore giocatore.

134
00:10:00,370 --> 00:10:05,800
‫Ora questo non funzionerà ancora perché il nostro aggiornamento della posizione del giocatore se la scena sta attualmente tentando

135
00:10:05,800 --> 00:10:08,110
‫di impostare una posizione in questa chiave.

136
00:10:08,350 --> 00:10:10,990
‫Quindi una piccola mini sfida per te, vedi se riesci ad aggiornarla.

137
00:10:10,990 --> 00:10:18,760
‫Quindi, invece di impostare la posizione in quel servizio di albero del comportamento, stiamo impostando il video della posa dell'attore effettivo e

138
00:10:18,760 --> 00:10:19,540
‫ci proviamo.

139
00:10:19,660 --> 00:10:19,960
‫Bene.

140
00:10:19,960 --> 00:10:20,650
‫Ben tornato.

141
00:10:20,650 --> 00:10:25,750
‫Quindi esamineremo il codice di Visual Studio e cercheremo in particolare il servizio ASC.

142
00:10:25,750 --> 00:10:29,410
‫È la posizione del giocatore di sottolineatura del servizio, se visualizzata.

143
00:10:29,890 --> 00:10:32,860
‫E lo cambieremo in un insieme di valori impostati come vettore.

144
00:10:32,860 --> 00:10:37,030
‫Verrà impostato il valore come oggetto, semplice come quello.

145
00:10:37,030 --> 00:10:41,950
‫Abbiamo le scelte dei tipi nella lavagna ed è quello che lo diremo qui.

146
00:10:42,370 --> 00:10:46,120
‫Ora, ovviamente, si lamenterà che quello che stiamo cercando di dire è un vettore piuttosto che un oggetto.

147
00:10:46,510 --> 00:10:52,690
‫Quindi rimuoveremo semplicemente la posizione dell'attore di get e passeremo il giocatore, e invece cancellare il valore

148
00:10:52,690 --> 00:10:54,610
‫è lo stesso di prima.

149
00:10:54,610 --> 00:11:00,580
‫Quindi possiamo semplicemente tornare nell'editor, premere, compilare e vedere se questa nuova configurazione funziona con Aiming for

150
00:11:00,580 --> 00:11:01,580
‫the High.

151
00:11:01,630 --> 00:11:02,710
‫Kate, tuffiamoci.

152
00:11:02,710 --> 00:11:03,310
‫Premi play.

153
00:11:03,310 --> 00:11:05,560
‫Vai a trovare quell'aria su per le scale.

154
00:11:06,530 --> 00:11:08,680
‫Falli provare e vieni a guardarci dall'alto in basso.

155
00:11:08,690 --> 00:11:09,170
‫Dai.

156
00:11:09,330 --> 00:11:16,730
‫Ho un'altra cosa che ho dimenticato dall'albero del comportamento da aggiornare è che il giocatore può vedere al momento è stato ripristinato

157
00:11:16,730 --> 00:11:23,600
‫la chiave della lavagna per l'attore personale vogliamo che sia fondamentalmente il giocatore è il set del giocatore andiamo e

158
00:11:23,600 --> 00:11:28,820
‫fai quel cambiamento perché al momento non stavo venendo a inseguirci ora ci sta

159
00:11:29,120 --> 00:11:35,030
‫inseguendo e infatti, se hai saltato, puoi quasi vedere che la rotazione della mira di questo ragazzo

160
00:11:35,030 --> 00:11:35,990
‫sta cambiando.

161
00:11:35,990 --> 00:11:40,310
‫Andiamo su per le scale e vediamo se può spararci giù dalle scale.

162
00:11:40,970 --> 00:11:41,630
‫Eccellente.

163
00:11:41,630 --> 00:11:45,920
‫Ha cambiato la sua rotazione e in effetti sta sparando proprio su di noi.

164
00:11:46,190 --> 00:11:46,850
‫Entrambi lo sono.

165
00:11:47,030 --> 00:11:49,040
‫Lo abbiamo visto perdere la salute e presto morirà.

166
00:11:50,540 --> 00:11:51,710
‫Ok, è tutto per questa lezione.

167
00:11:51,710 --> 00:11:59,060
‫Abbiamo aggiunto un offset di mira e abbiamo aggiornato la nostra aria in modo che possa usarla anche per mirare.

168
00:11:59,120 --> 00:12:03,170
‫La prossima lezione, faremo qualcosa per questa divertente corsa in aria.

169
00:12:03,440 --> 00:12:04,190
‫Lo vedrò.

