﻿1
00:00:04,320 --> 00:00:05,250
‫Ciao e Benvenuto.

2
00:00:05,250 --> 00:00:11,310
‫In questa lezione, creeremo alcune linee di tracciamento impostate in modo da poter sparare ai muri e

3
00:00:11,640 --> 00:00:14,040
‫vedere apparire questi punti di debug.

4
00:00:14,370 --> 00:00:18,030
‫E lo faremo usando una nuova traccia di linea di funzione per canale.

5
00:00:18,030 --> 00:00:22,290
‫Vedremo perché stiamo usando quella linea tracciata per tipo di oggetto, che è quella che abbiamo usato prima.

6
00:00:22,530 --> 00:00:24,090
‫Entriamo e vediamo come è fatto.

7
00:00:25,490 --> 00:00:30,950
‫Quindi nella nostra fuga dall'edificio, abbiamo usato le tracce di linea e abbiamo usato questa funzione qui, la traccia di linea

8
00:00:31,550 --> 00:00:32,630
‫per tipo di oggetto.

9
00:00:32,960 --> 00:00:36,080
‫Ed è questo che vogliamo usare?

10
00:00:36,540 --> 00:00:42,110
‫Bene, qual è la differenza tra la traccia di linea per tipo di oggetto e il suo fratello molto stretto, che

11
00:00:42,110 --> 00:00:44,240
‫è una traccia di linea per canale.

12
00:00:45,170 --> 00:00:53,030
‫Bene, il tipo di oggetto dice, voglio cercare in questa riga e vedere se trovo un oggetto che corrisponda a questo

13
00:00:53,030 --> 00:00:53,490
‫tipo.

14
00:00:53,510 --> 00:01:01,670
‫Quindi, credo che ciò che abbiamo usato nella costruzione della fuga fosse qualcosa di simile al tipo di oggetto del corpo della fisica ed è

15
00:01:01,670 --> 00:01:04,040
‫fantastico, colpirà i corpi della fisica.

16
00:01:04,340 --> 00:01:09,950
‫Ma se all'improvviso decidi di voler colpire qualcos'altro, non lascia molto spazio alle

17
00:01:09,950 --> 00:01:10,540
‫opzioni.

18
00:01:10,550 --> 00:01:16,430
‫Quindi il canale è migliore perché ci consente di definire i nostri canali personalizzati e quindi

19
00:01:16,430 --> 00:01:21,860
‫definire quali tipi di oggetti sono trasparenti per quel canale e quali lo bloccano.

20
00:01:22,220 --> 00:01:29,120
‫Quindi è fantastico perché quello che vogliamo essere in grado di fare è dire, va bene, forse una cosa tipo Bush è

21
00:01:30,080 --> 00:01:36,590
‫non può bloccare un proiettile, mentre un muro bloccherà un proiettile, ma non subirà alcun danno se non quello possiamo

22
00:01:36,590 --> 00:01:37,790
‫occuparci in seguito.

23
00:01:38,300 --> 00:01:45,140
‫Quindi canalizza tutto il percorso che stiamo per percorrere e possiamo trovare il metodo corretto qui facendo il controllo.

24
00:01:45,140 --> 00:01:50,930
‫P E tra l'altro, c'è questa piccola parte interessante che ho appreso solo di recente è

25
00:01:50,930 --> 00:01:58,130
‫che se usi il simbolo dell'atto, puoi cercare i simboli all'interno di questo file e o anche di altri file.

26
00:01:58,130 --> 00:01:59,960
‫Ma se hai il file aperto, è molto più veloce.

27
00:02:00,440 --> 00:02:07,160
‫Quindi potresti fare qualcosa come traccia linea e puoi vedere che ci sta dando l'elenco di tutti i simboli

28
00:02:07,160 --> 00:02:14,120
‫che sono funzioni o classi o variabili, e possiamo trovare quella linea, traccia, linea di test, traccia, singolo per canale

29
00:02:14,120 --> 00:02:15,890
‫per tipo di oggetto.

30
00:02:15,890 --> 00:02:21,350
‫Vogliamo che questa prima traccia di una linea, un singolo canale BI, che avrà un parametro out per

31
00:02:21,350 --> 00:02:26,960
‫ciò che colpiamo, i punti di partenza, i punti finali, il canale di traccia di collisione arriverà a quello

32
00:02:26,960 --> 00:02:32,210
‫tra un po' e poi qualche query parametri che hanno alcuni valori predefiniti, quindi in realtà non

33
00:02:32,210 --> 00:02:33,080
‫dobbiamo preoccuparci.

34
00:02:33,410 --> 00:02:39,140
‫Quindi solo quelle prime cose, il successo Start e Trace Channel, di cosa vogliamo preoccuparci.

35
00:02:39,710 --> 00:02:41,540
‫Impostiamo un canale di traccia.

36
00:02:41,780 --> 00:02:45,170
‫Andremo alle impostazioni e alle impostazioni del progetto per questo.

37
00:02:45,350 --> 00:02:48,920
‫E poi cerchiamo sotto il motore per l'area delle collisioni.

38
00:02:48,950 --> 00:02:53,180
‫E qui sotto puoi vedere che abbiamo canali oggetto e canali traccia.

39
00:02:53,240 --> 00:02:57,530
‫I canali degli oggetti sono in realtà solo un altro modo per dire diversi tipi di oggetti.

40
00:02:57,530 --> 00:03:02,090
‫Quindi, se si desidera avere oltre ai set predefiniti di oggetti come pedine e cose del genere, se si

41
00:03:02,090 --> 00:03:05,870
‫desidera una nuova categoria di oggetti, è possibile seguire il percorso del canale degli oggetti.

42
00:03:06,230 --> 00:03:12,260
‫Ma le tracce ti permettono di definire l'estremità opposta dello spettro, che è come, sai,

43
00:03:12,260 --> 00:03:15,500
‫ho un proiettile, quali oggetti può colpire?

44
00:03:15,860 --> 00:03:21,590
‫Quindi seguiremo questa strada, aggiungeremo un nuovo canale di traccia e chiameremo questo punto.

45
00:03:22,660 --> 00:03:25,750
‫E la risposta predefinita sarà.

46
00:03:25,750 --> 00:03:29,200
‫BLOCCO Che sostanzialmente significa che tutti i tipi di oggetti lo faranno.

47
00:03:29,200 --> 00:03:36,040
‫BLOCCO A meno che ora non specifichiamo diversamente, possiamo andare avanti e accettare questo e possiamo guardare i nostri preset qui

48
00:03:36,040 --> 00:03:36,610
‫sotto.

49
00:03:37,030 --> 00:03:42,280
‫E se lo espandessimo, i preset ti mostreranno che abbiamo un sacco di cose diverse a cui possiamo

50
00:03:42,280 --> 00:03:47,440
‫applicare, cose che possiamo dire, vogliamo che questo sia un attore fisico, nel qual caso è il tipo

51
00:03:47,440 --> 00:03:52,600
‫di oggetto, che sarà quello che è un canale di oggetti predefinito sarà il corpo della fisica.

52
00:03:52,960 --> 00:04:00,490
‫Ma se lo espandiamo, puoi vedere qual è la sua reazione ai diversi tipi di tracce qui.

53
00:04:00,490 --> 00:04:06,160
‫Quindi abbiamo i nostri tipi di traccia della telecamera, i nostri proiettili, la visibilità, li blocca tutti e poi ha i

54
00:04:06,160 --> 00:04:07,000
‫tipi di oggetti.

55
00:04:07,000 --> 00:04:13,600
‫Quindi è così che interagisce dal punto di vista fisico con altri oggetti come pedine e veicoli, ecc. Non è così che interagisce con la

56
00:04:13,600 --> 00:04:16,600
‫traccia di linea per oggetto.

57
00:04:16,720 --> 00:04:19,150
‫Questo è leggermente confuso e mi ha confuso prima.

58
00:04:19,780 --> 00:04:26,920
‫Quindi il tipo di traccia è ciò che è interessante e possiamo semplicemente dare un'occhiata qui e vedere che nessuna collisione dovrebbe essere

59
00:04:26,920 --> 00:04:28,930
‫impostata per non entrare in collisione.

60
00:04:28,930 --> 00:04:31,870
‫Quindi facciamo in modo che i nostri proiettili non si scontrino anche con quello.

61
00:04:31,870 --> 00:04:39,100
‫Quindi, semplicemente sovrascrivendo alcuni dei preset in modo tale che il nostro punto elenco funzioni come ci si aspetterebbe, sovrapponi tutto,

62
00:04:39,100 --> 00:04:42,310
‫ad esempio, dovrebbe sostanzialmente sovrapporsi al punto elenco.

63
00:04:42,730 --> 00:04:49,810
‫E probabilmente anche il muro invisibile e la dinamica del muro invisibile dovrebbero essere ignorati ai fini del nostro punto

64
00:04:49,810 --> 00:04:50,320
‫elenco.

65
00:04:50,890 --> 00:04:51,910
‫Lo stesso con la dinamica qui.

66
00:04:51,910 --> 00:04:55,030
‫Puoi vedere che fondamentalmente stiamo finendo con qualcosa che è abbastanza simile a una traccia visibile.

67
00:04:55,450 --> 00:05:00,790
‫Ma il motivo per tenerlo separato è che potremmo voler fare lievi distinzioni, come puoi vedere,

68
00:05:00,790 --> 00:05:04,480
‫non puoi vedere attraverso questo cespuglio, ma puoi spararci attraverso.

69
00:05:04,690 --> 00:05:08,920
‫Questo genere di cose significa che avere il nostro canale di tracciamento è davvero molto utile.

70
00:05:09,130 --> 00:05:14,740
‫Ora vorremmo essere in grado di utilizzare questo canale di traccia nel codice, ed è un po' strano come

71
00:05:14,740 --> 00:05:21,430
‫dobbiamo farlo perché qui c'è un enum, un canale di collisione E, e se andiamo F12 alla sua definizione, puoi vedere ce n'è

72
00:05:21,430 --> 00:05:27,550
‫un sacco per quelli predefiniti, mondo statico -- visibilità, ecc. quaggiù, ma poi ci sono un sacco di altri

73
00:05:27,550 --> 00:05:33,550
‫canali di traccia del motore uno, due e il canale di traccia del gioco uno, due, tre,

74
00:05:33,550 --> 00:05:34,840
‫ecc. predefinito.

75
00:05:35,560 --> 00:05:37,540
‫Quale dei nostri è questo?

76
00:05:37,540 --> 00:05:39,700
‫Sai, è che non abbiamo un proiettile qui.

77
00:05:40,330 --> 00:05:42,730
‫In realtà dobbiamo utilizzare uno di questi canali di traccia del gioco.

78
00:05:42,730 --> 00:05:44,350
‫Quindi è davvero un po' confuso.

79
00:05:44,740 --> 00:05:45,490
‫Qual é?

80
00:05:46,000 --> 00:05:50,710
‫Quindi il modo in cui lo fai è andare nella cartella del tuo progetto e andare in config.

81
00:05:51,280 --> 00:05:56,080
‫E quello che vogliamo è l'ini del motore predefinito e vogliamo aprirlo in un testo che è.

82
00:05:56,080 --> 00:05:58,270
‫Quindi potresti farlo in qualsiasi testo che ti piace.

83
00:05:58,270 --> 00:06:00,520
‫Mi piace trascinarlo nel codice di Visual Studio.

84
00:06:00,880 --> 00:06:03,070
‫In modo che il codice di Visual Studio sia quello che lo apre.

85
00:06:03,880 --> 00:06:10,930
‫E qui vogliamo essenzialmente cercare il nostro proiettile e vedere a cosa è stato assegnato.

86
00:06:10,930 --> 00:06:16,930
‫E penso che questa prima riga qui ci dica che il canale che gli è stato dato è quello del gioco Trace

87
00:06:16,930 --> 00:06:17,380
‫Channel.

88
00:06:17,800 --> 00:06:18,370
‫Fantastico.

89
00:06:18,370 --> 00:06:21,670
‫Quindi è quello che useremo quando faremo la nostra traccia di linea.

90
00:06:22,300 --> 00:06:26,860
‫Quindi iniziamo a mettere a posto la struttura di questa traccia di linea.

91
00:06:27,840 --> 00:06:30,500
‫La prima cosa di cui avremo bisogno è un punto di partenza.

92
00:06:30,510 --> 00:06:31,230
‫Lo abbiamo già.

93
00:06:31,230 --> 00:06:32,760
‫Quella è la posizione del nostro viewport.

94
00:06:33,210 --> 00:06:37,650
‫Avremo anche bisogno di un punto finale per la nostra traccia di linea che è leggermente più difficile da calcolare.

95
00:06:38,130 --> 00:06:45,660
‫Quindi creiamo un vettore F per la nostra estremità, e lo calcoleremo usando il nostro punto di stop,

96
00:06:46,410 --> 00:06:54,060
‫più la rotazione moltiplicata per l'importo, la distanza che vogliamo allontanare e non la rotazione, ma il vettore che

97
00:06:54,070 --> 00:06:56,640
‫punta nel senso di rotazione.

98
00:06:57,120 --> 00:07:03,840
‫Leggermente confuso, ma in realtà se esegui il vettore punto di rotazione, questo ti dà un vettore che punta

99
00:07:03,840 --> 00:07:05,850
‫nella direzione di questa rotazione.

100
00:07:05,850 --> 00:07:11,200
‫È un po' fare l'opposto di quello che stavamo facendo nel progetto di animazione per ottenere una rotazione dal

101
00:07:11,200 --> 00:07:11,640
‫vettore.

102
00:07:11,850 --> 00:07:12,930
‫Questo va dall'altra parte.

103
00:07:13,350 --> 00:07:20,840
‫Quindi faremo la posizione più questo vettore di rotazione, quindi vogliamo essenzialmente un raggio massimo.

104
00:07:20,850 --> 00:07:25,950
‫Quindi introdurrò una nuova proprietà qui, apporterò una modifica ovunque e sarà un float chiamato

105
00:07:25,950 --> 00:07:27,990
‫Max Range in questo modo.

106
00:07:27,990 --> 00:07:33,960
‫E possiamo impostarlo su un valore predefinito di qualcosa come 10.000 o mille intervalli massimi.

107
00:07:33,960 --> 00:07:36,810
‫Saranno circa 100 metri, scusa, una decina di metri.

108
00:07:37,260 --> 00:07:42,810
‫E andremo oltre per fare un vettore di punti di rotazione moltiplicato per l'intervallo massimo.

109
00:07:42,810 --> 00:07:46,470
‫Quindi questo sarà il vettore che otteniamo da quella rotazione sarà una dimensione uno.

110
00:07:46,830 --> 00:07:50,970
‫Moltiplicandolo per l'intervallo massimo lo renderà un vettore di dimensioni, qualunque sia l'intervallo massimo.

111
00:07:50,970 --> 00:07:54,630
‫E poi lo aggiungiamo sopra la posizione per portarci il punto finale.

112
00:07:54,810 --> 00:07:57,510
‫Non preoccuparti se non segui la matematica al 100%.

113
00:07:58,050 --> 00:08:01,280
‫La cosa importante è che questo è il modo in cui vogliamo arrivare al nostro punto finale.

114
00:08:01,560 --> 00:08:07,530
‫Quindi eseguirà la riga qui per aggiungere un po 'di tracciamento della linea e rimuoverò questa telecamera di

115
00:08:07,530 --> 00:08:12,720
‫debug del disegno perché voglio fare un diverso aiuto per il debug del disegno qui.

116
00:08:13,110 --> 00:08:19,140
‫Voglio disegnare un punto di debug che puoi trovare qui, prende il mondo, prende una posizione, una dimensione

117
00:08:19,140 --> 00:08:20,370
‫e un colore.

118
00:08:20,730 --> 00:08:24,360
‫E che sia persistente o meno, probabilmente vogliamo che sia persistente, che sia visibile.

119
00:08:24,810 --> 00:08:31,350
‫Quindi dovremmo essere in grado di fare qualcosa in questo senso, diciamo disegnare punti di debug e faremo

120
00:08:31,350 --> 00:08:37,800
‫un mondo di get subito qui, e quindi inizieremo invece con la posizione del nostro viewport, proprio

121
00:08:37,800 --> 00:08:44,280
‫come un test per vedere come funziona questo punto di debug del disegno, assegnagli una dimensione per

122
00:08:44,400 --> 00:08:48,390
‫dargli un colore f di rosso e renderlo persistente.

123
00:08:48,390 --> 00:08:52,410
‫E poi andremo a capitalizzare per il punto e virgola e vedremo se funziona.

124
00:08:52,410 --> 00:08:55,170
‫Premiamo compila nel motore e premiamo play.

125
00:08:55,950 --> 00:08:58,110
‫Quindi ora sparo e mi sposto leggermente indietro.

126
00:08:58,110 --> 00:08:59,430
‫Puoi vedere che c'è un punto lì.

127
00:08:59,760 --> 00:09:02,340
‫Tuttavia, è davvero, davvero minuscolo e difficile da vedere.

128
00:09:02,340 --> 00:09:06,780
‫Quindi aumenteranno questo valore a 20 invece.

129
00:09:07,050 --> 00:09:08,040
‫Vediamo se è meglio.

130
00:09:08,160 --> 00:09:09,360
‫Compila e gioca.

131
00:09:09,480 --> 00:09:09,720
‫Sì.

132
00:09:09,720 --> 00:09:12,780
‫Abbastanza sicuro, ora posso vedere un punto molto, molto chiaro.

133
00:09:13,380 --> 00:09:16,680
‫Quindi è ora che la tua sfida faccia una traccia di linea per canale.

134
00:09:16,920 --> 00:09:22,470
‫L'abbiamo già fatto con i tipi di oggetto, quindi speriamo di poterlo estrapolare per farlo per canale.

135
00:09:22,740 --> 00:09:28,020
‫Quindi usa la posizione e la fine che abbiamo già definito come inizio e fine.

136
00:09:28,620 --> 00:09:34,860
‫Controlla il successo del risultato facendo un'istruzione if in modo da ottenere solo il parametro out okay nel parametro

137
00:09:34,860 --> 00:09:38,880
‫out del risultato hit e solo disegnando un punto di debug.

138
00:09:38,880 --> 00:09:44,910
‫Se raggiungiamo con successo il punto e ricordiamo che stiamo usando quel canale che abbiamo trovato nel punto,

139
00:09:44,910 --> 00:09:46,020
‫anche qualsiasi file.

140
00:09:46,020 --> 00:09:50,820
‫Quindi metti in pausa il video e vedi se riesci a risolvere tutti quei parametri e argomenti nella

141
00:09:51,150 --> 00:09:56,010
‫traccia di linea e ottenere quel punto di debug che disegna dove abbiamo colpito con la nostra traccia di linea.

142
00:09:56,820 --> 00:10:02,360
‫Ora in questa fase non stiamo facendo nulla di intelligente, come ignorare l'attore giocatore.

143
00:10:02,370 --> 00:10:07,800
‫Quindi la tua traccia di linea potrebbe finire per colpire il giocatore e va bene per questa sfida.

144
00:10:08,160 --> 00:10:08,640
‫Metti in pausa il video.

145
00:10:08,680 --> 00:10:09,000
‫Provaci.

146
00:10:10,640 --> 00:10:10,990
‫Bene.

147
00:10:11,000 --> 00:10:11,480
‫Ben tornato.

148
00:10:11,810 --> 00:10:13,850
‫Quindi tuffiamoci dentro.

149
00:10:13,850 --> 00:10:18,380
‫Otterremo il mondo, prima di tutto, e una freccia a quello.

150
00:10:18,380 --> 00:10:22,940
‫Andremo a fare una traccia di linea singolo per canale.

151
00:10:24,110 --> 00:10:25,850
‫Allora avremo bisogno di un risultato positivo.

152
00:10:25,860 --> 00:10:32,600
‫Quindi, in parametri, dobbiamo prima dichiarare la nostra struttura dei risultati di successo per passarla come parametro dell'app.

153
00:10:33,110 --> 00:10:37,520
‫Lo chiamerà hit e lo passeranno come primo argomento qui.

154
00:10:37,970 --> 00:10:39,410
‫Allora abbiamo bisogno della posizione.

155
00:10:40,470 --> 00:10:41,700
‫E abbiamo bisogno della fine.

156
00:10:42,180 --> 00:10:43,410
‫E poi cosa?

157
00:10:43,470 --> 00:10:44,370
‫Cosa succede dopo?

158
00:10:44,370 --> 00:10:45,360
‫La collisione.

159
00:10:46,200 --> 00:10:47,220
‫Un canale di collisione.

160
00:10:47,580 --> 00:10:49,470
‫Quindi sarà un canale di collisione E.

161
00:10:49,470 --> 00:10:50,490
‫Colon.

162
00:10:50,490 --> 00:10:53,550
‫E poi dovrebbe essere ec, cosa abbiamo detto?

163
00:10:53,560 --> 00:10:55,350
‫Andiamo a dare un'occhiata al motore predefinito.

164
00:10:55,350 --> 00:11:01,140
‫Qualsiasi canale di traccia del gioco CC uno è quello che l'impostazione predefinita any ha configurato per chiedere.

165
00:11:01,440 --> 00:11:03,300
‫Ci sono altri argomenti qui di cui abbiamo bisogno?

166
00:11:03,300 --> 00:11:04,500
‫Andiamo avanti.

167
00:11:04,860 --> 00:11:06,720
‫Abbiamo i parametri di collisione che sono predefiniti.

168
00:11:06,720 --> 00:11:09,870
‫Quindi no, non abbiamo bisogno di niente qui dentro.

169
00:11:10,350 --> 00:11:14,160
‫E poi quello che possiamo fare è che abbiamo bisogno di un risultato booleano per questo.

170
00:11:14,160 --> 00:11:15,810
‫Quindi B successo.

171
00:11:16,970 --> 00:11:19,230
‫E suona molto utile, non è vero?

172
00:11:19,250 --> 00:11:20,120
‫Sii successo.

173
00:11:20,780 --> 00:11:23,060
‫Diciamo An se B successo.

174
00:11:24,230 --> 00:11:26,660
‫Vorremo disegnare quel punto di debug.

175
00:11:26,660 --> 00:11:27,870
‫Quindi sposteremo questo verso il basso.

176
00:11:27,890 --> 00:11:34,190
‫Posso farlo con Alt e quindi la freccia sposta la linea in questo modo, quindi posso

177
00:11:34,760 --> 00:11:41,330
‫farla rientrare con un controllo e le parentesi quadre giuste sulla tastiera e questo fa sembrare così.

178
00:11:41,330 --> 00:11:46,490
‫E ora invece della posizione, che è il punto di partenza, vogliamo effettivamente la posizione di successo.

179
00:11:46,490 --> 00:11:50,060
‫Quindi sarà la posizione del punto in questo modo.

180
00:11:50,330 --> 00:11:54,500
‫E sembra che mi manchi un punto e virgola alla fine di questa riga qui.

181
00:11:54,650 --> 00:11:56,600
‫Costruiamolo e proviamolo.

182
00:11:56,960 --> 00:12:02,440
‫Una volta compilato questo gioco di successo, vai nel mondo e prova a sparare contro i nostri muri.

183
00:12:03,080 --> 00:12:03,620
‫Ecco qua.

184
00:12:03,620 --> 00:12:07,430
‫Puoi vedere che abbiamo un punto sul muro proprio dove ho sparato.

185
00:12:07,430 --> 00:12:08,750
‫Posso farlo più volte.

186
00:12:09,110 --> 00:12:16,010
‫Sembra colpire se vado troppo lontano da un muro, non colpisce affatto a causa della nostra portata massima piuttosto

187
00:12:16,010 --> 00:12:16,430
‫breve.

188
00:12:16,820 --> 00:12:20,990
‫E puoi vedere una volta che entro nell'intervallo massimo, colpisce e disegna un punto.

189
00:12:21,350 --> 00:12:23,900
‫Quindi questa è una sfida completata con successo.

190
00:12:23,900 --> 00:12:29,090
‫Ora siamo in grado di mostrare e tracciare una linea fino a un punto particolare.

191
00:12:29,330 --> 00:12:35,390
‫Il prossimo passo sarà fare in modo che mostri effettivamente alcuni effetti particellari, il che sarà molto più interessante del

192
00:12:35,450 --> 00:12:38,600
‫semplice disegno di un punto di debug per quello.

193
00:12:38,600 --> 00:12:39,950
‫Ci vediamo alla prossima lezione.

