﻿1
00:00:04,440 --> 00:00:05,250
‫Ciao e Benvenuto.

2
00:00:05,260 --> 00:00:10,530
‫In questa lezione impareremo la differenza tra pedine come questo ragazzo e

3
00:00:10,530 --> 00:00:12,570
‫personaggi come questo ragazzo.

4
00:00:12,570 --> 00:00:19,260
‫E andremo avanti e creeremo un progetto per il personaggio e un attore per il personaggio C++ in modo che assomiglino a questo in modo

5
00:00:19,260 --> 00:00:21,000
‫da avere la nostra mesh Wraith.

6
00:00:21,030 --> 00:00:22,620
‫Entriamo e vediamo come è fatto.

7
00:00:22,860 --> 00:00:29,760
‫Ok, quindi la prima parte del nostro piano di progetto più ampio da cui vorremo iniziare è il movimento

8
00:00:29,820 --> 00:00:31,560
‫dei giocatori, numero uno.

9
00:00:31,560 --> 00:00:36,990
‫Questo è ciò che fondamentalmente è fondamentale nella maggior parte dei giochi, non solo nei giochi sparatutto, poi si passa all'animazione,

10
00:00:36,990 --> 00:00:41,850
‫alle riprese, alla salute e alla morte e a tutte quelle altre cose a cui vogliamo arrivare.

11
00:00:42,150 --> 00:00:45,390
‫Ma la prima cosa da affrontare è il movimento del giocatore.

12
00:00:46,110 --> 00:00:49,740
‫Per fare ciò, creeremo una classe di personaggi.

13
00:00:49,740 --> 00:00:50,970
‫Ora, cos'è una classe di personaggi?

14
00:00:50,970 --> 00:00:55,800
‫Ebbene, prima di tutto, c'è una distinzione tra una pedina e un personaggio.

15
00:00:56,250 --> 00:01:01,070
‫Il pedone è tutto ciò che puoi possedere come giocatore.

16
00:01:01,080 --> 00:01:05,040
‫Parleremo di più del possesso più avanti, ma ne avrai già visto un po' prima.

17
00:01:05,490 --> 00:01:10,260
‫Ma l'idea qui è che il pedone è la cosa che è controllata dal giocatore.

18
00:01:10,260 --> 00:01:10,830
‫Un personaggio?

19
00:01:10,830 --> 00:01:11,550
‫Cos'è un personaggio?

20
00:01:11,850 --> 00:01:15,060
‫Bene, la prima cosa da dire è che il personaggio è una pedina.

21
00:01:15,060 --> 00:01:17,730
‫Eredita direttamente dalla classe del pedone.

22
00:01:17,730 --> 00:01:20,730
‫Quindi può fare tutto ciò che può fare il pedone.

23
00:01:20,850 --> 00:01:25,470
‫E ancora di più un personaggio è una specializzazione di una pedina.

24
00:01:26,190 --> 00:01:28,410
‫Aggiunge carattere come caratteristiche.

25
00:01:28,410 --> 00:01:29,490
‫Beh, non è molto istruttivo.

26
00:01:29,490 --> 00:01:32,820
‫Quindi che tipo di cose sono i personaggi in un personaggio?

27
00:01:33,240 --> 00:01:39,870
‫Bene, per esempio, il movimento che si muove proprio come farebbe una persona normale, muoversi sul pavimento, essere in grado di

28
00:01:39,870 --> 00:01:43,560
‫saltare, essere in grado di correre, tutto quel genere di cose.

29
00:01:43,860 --> 00:01:49,470
‫Questo tende ad essere il dominio di un personaggio piuttosto che di una pedina, perché le pedine possono volare in giro come astronavi,

30
00:01:49,470 --> 00:01:49,980
‫per esempio.

31
00:01:49,980 --> 00:01:53,550
‫Non sono come le persone, quindi è così che è un personaggio.

32
00:01:53,790 --> 00:01:59,070
‫E aggiunge anche cose come il movimento della mesh NAF, che vedremo di più quando arriveremo

33
00:01:59,070 --> 00:02:05,160
‫alla sezione AI di questa sezione, e questo ci aiuterà a spostare il personaggio, evitare ostacoli e cose

34
00:02:05,160 --> 00:02:06,030
‫del genere.

35
00:02:06,780 --> 00:02:09,570
‫Quindi, come possiamo andare avanti e creare un personaggio?

36
00:02:09,960 --> 00:02:10,320
‫Molto.

37
00:02:10,320 --> 00:02:13,320
‫Come creeremmo qualsiasi altra classe C++.

38
00:02:13,320 --> 00:02:16,380
‫Possiamo aggiungere una nuova, nuova classe C++.

39
00:02:16,380 --> 00:02:20,970
‫E puoi vedere qui tra le opzioni, c'è -- e c'è carattere.

40
00:02:21,450 --> 00:02:28,140
‫Ora andrò avanti e ti darò subito una sfida per creare Blueprint Children e C++

41
00:02:28,140 --> 00:02:29,910
‫per quella materia.

42
00:02:29,910 --> 00:02:34,050
‫Quindi, prima di tutto, seguiremo per creare il C++.

43
00:02:34,050 --> 00:02:35,700
‫Questo non farà parte della tua sfida.

44
00:02:36,000 --> 00:02:38,070
‫Creeremo noi stessi una pedina.

45
00:02:38,580 --> 00:02:42,870
‫Quindi chiamerò semplicemente il mio -- perché non useremo il --.

46
00:02:42,870 --> 00:02:46,080
‫Vorremo vedere la differenza tra questo e il personaggio.

47
00:02:46,260 --> 00:02:52,440
‫Quindi andiamo avanti e creiamo quella classe e una volta che va avanti e finisce, ti ritroverai con una classe --,

48
00:02:52,440 --> 00:02:57,390
‫il genere di cose che avrai visto prima che inizi giocare a una configurazione tecnologica, giocare a

49
00:02:57,390 --> 00:02:58,950
‫un componente di input, eccetera..

50
00:02:59,280 --> 00:03:04,140
‫Quindi quello che faremo è ripetere la stessa procedura, aggiungere una nuova classe C++.

51
00:03:04,140 --> 00:03:06,990
‫Questa volta creeremo un personaggio, vai al prossimo.

52
00:03:07,410 --> 00:03:12,420
‫E invece di chiamarlo qualcosa di privo di fantasia come il mio personaggio, lo chiamerò

53
00:03:12,750 --> 00:03:17,850
‫il personaggio sparatutto, che è più descrittivo sul tipo di personaggio che stiamo cercando di creare qui.

54
00:03:18,270 --> 00:03:20,370
‫Andrò avanti e creerò quella classe.

55
00:03:21,030 --> 00:03:26,670
‫E quando è finito di costruire, puoi vedere che otteniamo una testa dall'aspetto abbastanza simile, un file.

56
00:03:26,670 --> 00:03:32,820
‫In effetti, praticamente tutto è identico tranne ciò che eredita dalla classe del personaggio

57
00:03:32,820 --> 00:03:34,320
‫invece di --.

58
00:03:34,320 --> 00:03:36,600
‫È molto, molto simile a parte questo.

59
00:03:37,050 --> 00:03:41,490
‫Quindi, per vedere le differenze, dovremo guardare i figli del progetto di queste cose per vedere

60
00:03:41,490 --> 00:03:43,500
‫che tipo di componenti ci sono.

61
00:03:44,190 --> 00:03:50,070
‫Quindi sarà una sfida da seguire per creare il C++, come ho appena fatto, aggiungere un

62
00:03:50,070 --> 00:03:54,960
‫bambino progetto per ciascuno di quelli il mio spawn e il personaggio sparatutto.

63
00:03:55,020 --> 00:04:01,140
‫Quindi quali differenze puoi vedere quando apri quei due progetti separati, metti in pausa il video e

64
00:04:01,140 --> 00:04:01,860
‫prova.

65
00:04:02,100 --> 00:04:02,940
‫Ehi, bentornato.

66
00:04:03,300 --> 00:04:04,710
‫Quindi proviamoci.

67
00:04:04,710 --> 00:04:12,360
‫Se entriamo nell'editor e vado solo all'inizio della mia directory dei contenuti e poi

68
00:04:12,360 --> 00:04:15,240
‫aggiungerò alcuni nuovi progetti.

69
00:04:15,750 --> 00:04:18,750
‫Quindi farò clic con il pulsante destro del mouse per creare una classe blueprint.

70
00:04:19,170 --> 00:04:25,290
‫E invece di ereditare da una di queste, selezionerò tutte le classi e cercherò la mia

71
00:04:25,290 --> 00:04:32,160
‫-- classe, che è figlia di --, come possiamo vedere, selezionerò quella e andrò a creare un override di

72
00:04:32,160 --> 00:04:32,600
‫Quello.

73
00:04:32,640 --> 00:04:39,510
‫Lo chiamerò BP underscore my -- per usare quella convenzione, che ci aiuta a

74
00:04:39,510 --> 00:04:41,970
‫distinguere tra C++ e blueprint.

75
00:04:42,510 --> 00:04:45,300
‫Quindi farò clic con il pulsante destro del mouse e creerò un'altra classe di progetto.

76
00:04:45,300 --> 00:04:48,030
‫Questa volta cercherò il personaggio dello sparatutto.

77
00:04:49,210 --> 00:04:50,470
‫E seleziona quello.

78
00:04:50,470 --> 00:04:54,520
‫E prevedibilmente, chiamerò quel personaggio sparatutto di sottolineatura di BP.

79
00:04:54,880 --> 00:04:59,320
‫In un certo senso ci aiuta in termini di non dover essere troppo fantasiosi nel nominare le cose.

80
00:04:59,320 --> 00:05:02,080
‫Non vuoi essere fantasioso nel nominare quei bambini del progetto.

81
00:05:02,440 --> 00:05:06,850
‫Vuoi solo essere in grado di dire che sarà esattamente lo stesso nome solo con il trattino basso BP sul

82
00:05:06,850 --> 00:05:07,240
‫davanti.

83
00:05:07,750 --> 00:05:13,330
‫Quindi andiamo avanti e apriamo quei due e li colleghiamo alla finestra principale in modo da poterli confrontare in modo semplice e

84
00:05:13,330 --> 00:05:13,840
‫piacevole.

85
00:05:14,110 --> 00:05:19,450
‫Apri la ripresa di un punto personaggio nella finestra principale e immediatamente possiamo vedere alcune differenze.

86
00:05:19,960 --> 00:05:24,340
‫Il pedone fondamentalmente non ha nulla da fare nella vista dei componenti.

87
00:05:24,370 --> 00:05:27,790
‫Ha una radice di scena predefinita e nient'altro.

88
00:05:28,510 --> 00:05:30,090
‫Passiamo al personaggio sparatutto.

89
00:05:30,100 --> 00:05:33,160
‫Tuttavia, puoi vedere che ci sono alcune altre cose in corso per cominciare.

90
00:05:33,520 --> 00:05:40,540
‫Abbiamo qui un componente della capsula, il che in qualche modo implica già che si aspetta che una

91
00:05:40,540 --> 00:05:44,080
‫forma umanoide si adatti all'interno di quella capsula.

92
00:05:44,080 --> 00:05:50,430
‫La capsula serve per eseguire fisica approssimativa e manipolazioni o collisioni con il terreno.

93
00:05:50,440 --> 00:05:54,520
‫E poi ovviamente qualcosa che si adatta molto bene all'interno è un personaggio umanoide.

94
00:05:54,610 --> 00:05:59,380
‫Abbiamo una componente freccia che fondamentalmente ci dice quale strada è da seguire per questo personaggio.

95
00:05:59,830 --> 00:06:02,290
‫E poi abbiamo una mesh, che è ereditata.

96
00:06:02,290 --> 00:06:03,760
‫È ereditato dal C++.

97
00:06:03,760 --> 00:06:08,960
‫In effetti, è ereditato da due livelli in su perché non abbiamo definito nessuna mesh qui nel foglio, un

98
00:06:08,970 --> 00:06:09,490
‫personaggio.

99
00:06:09,790 --> 00:06:13,900
‫Devono invece essere stati definiti nella classe di caratteri A.

100
00:06:14,290 --> 00:06:21,430
‫Quindi quel componente mesh sta gocciolando fino in fondo a questa classe blueprint e non ha ancora

101
00:06:21,430 --> 00:06:23,470
‫nulla in quella mesh.

102
00:06:23,470 --> 00:06:26,800
‫Quindi possiamo andare avanti e inserire una rete.

103
00:06:26,830 --> 00:06:27,940
‫Quindi andiamo avanti e proviamolo.

104
00:06:27,940 --> 00:06:30,970
‫Vai al riquadro dei dettagli, alla rete scheletrica.

105
00:06:31,360 --> 00:06:34,680
‫E in pratica vogliamo inserire il nostro personaggio di Wraith.

106
00:06:34,690 --> 00:06:37,450
‫Quindi selezionerò Wraith qui e poi andiamo.

107
00:06:37,450 --> 00:06:39,850
‫Lo ha messo un po' fuori terra.

108
00:06:39,860 --> 00:06:43,360
‫Quindi quello che voglio fare è andare avanti e sistemare i suoi piedi.

109
00:06:43,870 --> 00:06:48,040
‫Quindi si incontrano con il fondo della capsula come meglio posso.

110
00:06:48,610 --> 00:06:50,710
‫Sembra che l'abbia capito bene la prima volta.

111
00:06:51,010 --> 00:06:57,040
‫E poi vogliamo anche allinearlo in modo che sia rivolto verso quella freccia in avanti in modo da poter fare

112
00:06:57,040 --> 00:07:01,900
‫un po' di magia di rotazione di 90 gradi in quel modo e siamo d'oro.

113
00:07:01,900 --> 00:07:07,000
‫Stavo premendo il tasto tutto per arrivare alla rotazione, che tra l'altro, oppure potresti usare questi

114
00:07:07,000 --> 00:07:13,210
‫piccoli widget nella parte superiore in alto a destra del tuo viewport per spostarti tra la tua traslazione e rotazione.

115
00:07:13,480 --> 00:07:17,590
‫Un'altra cosa che vale la pena notare qui nella gerarchia dei componenti, a parte

116
00:07:17,590 --> 00:07:22,990
‫il fatto che ha questa mesh, la freccia e la capsula, è che abbiamo questa componente di movimento del personaggio.

117
00:07:23,000 --> 00:07:29,020
‫Questo è ciò che è interamente responsabile per dargli carattere come movimento, essere in grado di camminare e

118
00:07:29,020 --> 00:07:29,860
‫correre, ecc.

119
00:07:30,160 --> 00:07:34,810
‫Puoi vedere qui nel riquadro dei dettagli che abbiamo un sacco di impostazioni di movimento, abbiamo la scala di

120
00:07:34,810 --> 00:07:35,260
‫gravità.

121
00:07:35,260 --> 00:07:39,960
‫Quindi potresti far sembrare che stiamo giocando su Marte o sulla luna o su Giove.

122
00:07:39,970 --> 00:07:42,430
‫Qualunque cosa tu voglia fare, puoi cambiare la scala di gravità può essere divertente.

123
00:07:42,910 --> 00:07:49,540
‫Abbiamo tipi di movimento predefiniti per se siamo sulla terraferma, se siamo sull'acqua, tutto questo genere

124
00:07:49,540 --> 00:07:53,950
‫di cose, camminare, saltare, roba della rete di informazioni.

125
00:07:53,950 --> 00:07:56,620
‫Funziona automaticamente bene nei giochi multiplayer.

126
00:07:56,620 --> 00:07:57,970
‫Ha tutto questo integrato.

127
00:07:58,420 --> 00:08:01,690
‫Quindi praticamente molte cose sono già state fatte per noi qui.

128
00:08:02,110 --> 00:08:06,550
‫Quindi è per questo che vogliamo usare un personaggio su un pedone in cui dovremmo scrivere tutto questo

129
00:08:06,550 --> 00:08:08,880
‫codice di movimento da zero se usiamo il personaggio.

130
00:08:08,890 --> 00:08:15,250
‫È già impostato con questa componente di movimento del personaggio per noi, ed è ben lungi dall'essere tutte le cose

131
00:08:15,250 --> 00:08:17,110
‫che il personaggio ci fornisce.

132
00:08:17,110 --> 00:08:22,900
‫Fornisce anche molte sottigliezze e belle funzioni che possiamo chiamare nella classe base per svolgere il nostro lavoro

133
00:08:22,900 --> 00:08:24,070
‫ancora più facilmente.

134
00:08:24,280 --> 00:08:26,410
‫Lo vedremo nelle prossime lezioni.

135
00:08:26,710 --> 00:08:32,440
‫Quindi l'ultima cosa che potremmo voler fare è assicurarci che questo personaggio sia la pedina che viene generata

136
00:08:32,440 --> 00:08:33,670
‫nella nostra mappa.

137
00:08:34,150 --> 00:08:37,990
‫Quindi il modo in cui lo farò sarà di nuovo alla radice dei nostri contenuti.

138
00:08:37,990 --> 00:08:39,010
‫E questa è revisione.

139
00:08:39,020 --> 00:08:40,330
‫Tante sfide per te.

140
00:08:40,330 --> 00:08:49,090
‫Se lo desideri, potremmo andare avanti e creare un clone di questa mappa e una modalità di gioco del progetto impostata da

141
00:08:49,090 --> 00:08:52,870
‫questa mappa che genererà il personaggio dello sparatutto dell'app.

142
00:08:53,030 --> 00:08:56,800
‫Vi incoraggio a tentare queste molte sfide così come la grande sfida principale.

143
00:08:57,040 --> 00:09:00,160
‫Ho intenzione di andare avanti e non darò alcuna diapositiva di sfida per quello.

144
00:09:00,490 --> 00:09:05,680
‫Quindi abbiamo le mappe modulari della raccolta del bundle di partenza della prima stagione di fantascienza.

145
00:09:06,010 --> 00:09:07,000
‫Ho la mappa uno qui.

146
00:09:07,000 --> 00:09:11,440
‫In realtà, per ora, andrò avanti e lo copierò nel percorso del mio progetto.

147
00:09:11,440 --> 00:09:15,880
‫E possiamo riorganizzare le cose un po' più tardi, man mano che il percorso si

148
00:09:15,880 --> 00:09:18,310
‫arricchisce e la struttura organizzativa diventa più chiara.

149
00:09:18,820 --> 00:09:22,870
‫Rinominerò quella mappa in Sandbox.

150
00:09:23,680 --> 00:09:29,620
‫Lo imposteremo come predefinito del progetto andando su impostazioni, mappe e modalità del progetto e

151
00:09:29,620 --> 00:09:35,560
‫quindi cambiandolo da Mappa uno a Sandbox sia per il gioco che per l'editor.

152
00:09:38,050 --> 00:09:39,640
‫Quindi creerò una modalità di gioco.

153
00:09:39,640 --> 00:09:42,680
‫Quindi farò clic con il pulsante destro del mouse e creerò una classe blueprint.

154
00:09:42,700 --> 00:09:45,620
‫Creerò un progetto di base per la modalità di gioco.

155
00:09:45,640 --> 00:09:49,990
‫Chiamalo BP, sottolinea la modalità di gioco sparatutto.

156
00:09:50,760 --> 00:09:52,590
‫Posso aprirlo.

157
00:09:52,600 --> 00:09:58,150
‫Non ho bisogno di alcun C++ in questa classe base, quindi praticamente non lo sto derivando da C++.

158
00:09:58,150 --> 00:10:05,140
‫Ma una volta che ne abbiamo bisogno, possiamo sempre strappare i progetti dei genitori a classi C++ di nostra ideazione.

159
00:10:05,710 --> 00:10:08,530
‫Quindi quello che ho intenzione di fare è andare ai dettagli.

160
00:10:08,530 --> 00:10:14,380
‫Se non è selezionato per, devi andare alle impostazioni predefinite della classe qui nella barra in alto e

161
00:10:14,380 --> 00:10:20,560
‫quindi puoi andare alla sezione delle classi e trovare che dovrebbe essere qualcosa di simile all'impostazione predefinita - classe così.

162
00:10:21,010 --> 00:10:25,840
‫E cercheremo il personaggio sparatutto BP nella versione blueprint perché ha

163
00:10:25,840 --> 00:10:33,730
‫la mesh impostata e quindi torneremo alla nostra sandbox, apriremo la nostra sandbox e cambieremo la sua modalità di gioco.

164
00:10:34,060 --> 00:10:39,700
‫Ora, il motivo per cui ho creato una sandbox è perché non voglio modificare la mappa originale, perché voglio

165
00:10:39,700 --> 00:10:43,720
‫sempre tornare a quella per riferimento se ho sporcato la mia sandbox.

166
00:10:44,320 --> 00:10:50,620
‫Quindi andiamo al menu a discesa dei progetti nella barra in alto e selezioniamo le modalità di gioco attualmente impostate sulla modalità di gioco

167
00:10:50,620 --> 00:10:51,280
‫di base.

168
00:10:52,000 --> 00:10:55,600
‫Selezionerò invece il gioco sparatutto BP underscore.

169
00:10:55,810 --> 00:10:56,500
‫Modalità di gioco.

170
00:10:56,740 --> 00:10:57,850
‫Modalità di gioco sparatutto, piuttosto.

171
00:10:58,360 --> 00:11:03,190
‫E l'ultimo pezzo del puzzle sarà inserire un giocatore, iniziare da qualche parte.

172
00:11:03,220 --> 00:11:07,900
‫In realtà non me ne rendevo conto, ma la mappa contiene già un inizio giocatore.

173
00:11:08,170 --> 00:11:13,870
‫Quindi aggiungere il prossimo significa che ora puoi generare accidentalmente in due posti separati.

174
00:11:14,080 --> 00:11:16,150
‫Lo sistemeremo più avanti nel corso.

175
00:11:16,150 --> 00:11:20,080
‫Ma solo perché tu lo sappia, se finisci per deporre le uova in una posizione diversa e ti confondi,

176
00:11:20,080 --> 00:11:20,680
‫ecco perché.

177
00:11:20,890 --> 00:11:24,130
‫Quindi vai a casa tua, scheda attori a sinistra.

178
00:11:24,130 --> 00:11:28,990
‫Se non ce l'hai, vai alla finestra e seleziona un luogo attori per farlo apparire.

179
00:11:29,470 --> 00:11:30,910
‫E vogliamo attori di base.

180
00:11:30,910 --> 00:11:32,350
‫Vogliamo che il giocatore inizi ad essere attivo.

181
00:11:32,350 --> 00:11:33,670
‫Devi solo andare avanti e portarlo dentro.

182
00:11:33,670 --> 00:11:39,670
‫Ci dà questa piccola capsula con una freccia in avanti che ci mostra dove si genererà Spawn in modo da poter

183
00:11:39,670 --> 00:11:41,260
‫andare avanti e premere play.

184
00:11:41,620 --> 00:11:45,310
‫E non è immediatamente ovvio se questo abbia funzionato o meno.

185
00:11:45,670 --> 00:11:52,280
‫Quindi quello che devi fare è andare su F8 per espellere dal tuo pedone per sbloccarlo, possederlo.

186
00:11:52,540 --> 00:11:54,130
‫E se ti giri, puoi vederlo.

187
00:11:54,130 --> 00:11:56,880
‫Abbastanza sicuro, abbiamo il nostro personaggio qui.

188
00:11:56,890 --> 00:12:00,670
‫Aveva solo una telecamera da qualche parte dentro l'inguine, sfortunatamente.

189
00:12:00,940 --> 00:12:04,270
‫E quindi lo sistemeremo in seguito.

190
00:12:04,540 --> 00:12:12,970
‫Ma al momento, avevamo una rete a posto e da lì continueremo a sistemare le animazioni, ottenere un personaggio

191
00:12:12,970 --> 00:12:18,370
‫in terza persona e così via, e farlo muovere, cosa più importante.

192
00:12:19,630 --> 00:12:23,680
‫Quindi al momento abbiamo il personaggio sparatutto corretto che si genera.

193
00:12:23,680 --> 00:12:25,150
‫Non è una fotocamera in terza persona.

194
00:12:25,150 --> 00:12:26,380
‫Lo sistemeremo più tardi.

195
00:12:26,710 --> 00:12:30,130
‫Ma prima di tutto, faremo funzionare il nostro movimento.

196
00:12:30,140 --> 00:12:32,380
‫Passiamo quindi alla prossima lezione.

