﻿1
00:00:04,400 --> 00:00:05,420
‫Ciao e Benvenuto.

2
00:00:05,480 --> 00:00:09,650
‫In questa lezione, creeremo il nostro piccolo percorso d'assalto ad ostacoli.

3
00:00:10,040 --> 00:00:16,310
‫E implementeremo qui queste piccole piattaforme push up che spingeranno via il nostro personaggio.

4
00:00:16,310 --> 00:00:22,220
‫Per farlo, dovremo implementare alcune piccole correzioni alla nostra classe di personaggi.

5
00:00:22,220 --> 00:00:24,380
‫Quindi tuffiamoci e vediamo quali sono.

6
00:00:25,430 --> 00:00:32,330
‫Quindi un altro tipo di puzzle che vorrei includere usando questo componente di base della piattaforma mobile è avere uno

7
00:00:32,330 --> 00:00:35,450
‫spintore che sostanzialmente ci spingerà fuori da una sporgenza.

8
00:00:35,930 --> 00:00:39,410
‫Ora, il modo in cui voglio farlo è prendere questo cubo qui.

9
00:00:39,410 --> 00:00:45,590
‫Penso che si chiami Puzzle Cube A, e quello può essere il cubo che è essenzialmente lo spintore.

10
00:00:45,890 --> 00:00:50,300
‫E lo configureremo in modo leggermente diverso dalla piattaforma mobile.

11
00:00:50,300 --> 00:00:57,200
‫Quindi andiamo avanti e torniamo alla nostra piattaforma in modo che io possa fare clic con il pulsante destro del mouse e fare clic su vai qui,

12
00:00:57,200 --> 00:01:00,110
‫il che richiede alla mia fotocamera di concentrarsi su di esso.

13
00:01:00,890 --> 00:01:08,300
‫E poi quello che possiamo fare è andare al nostro contenuto, disegnare sulle classi C++, cancellare la mia ricerca, andare su Obstacle Salt, fare clic con il tasto

14
00:01:08,300 --> 00:01:12,170
‫destro sulla piattaforma mobile e creare una nuova classe blueprint basata su di essa.

15
00:01:12,500 --> 00:01:19,400
‫Questa volta lo chiamerò l'underscore BP push cube in questo modo lo inserirò nel percorso del contenuto

16
00:01:19,400 --> 00:01:22,310
‫e farò clic su Crea classe Blueprint.

17
00:01:22,880 --> 00:01:24,150
‫Ora posso chiudere il mio browser dei contenuti.

18
00:01:24,170 --> 00:01:29,780
‫Non sono sicuro che i bambini bianchi volessero tirarlo fuori e andrò al sorteggio del contenuto,

19
00:01:29,780 --> 00:01:36,440
‫andrò alla radice del contenuto e cercherò il cubo del puzzle o una parola, e stiamo cercando il cubo del puzzle.

20
00:01:36,440 --> 00:01:38,360
‫Sì, ecco questo qui, la maglia.

21
00:01:38,360 --> 00:01:44,840
‫Trascinerò la nostra classe blueprints e poi chiuderò il content draw, chiuderò il risultato del mio compilatore in modo da poter vedere

22
00:01:44,850 --> 00:01:46,430
‫un po' meglio il viewport.

23
00:01:46,880 --> 00:01:50,690
‫E in realtà voglio ridimensionare questo cubo perché per impostazione predefinita è in realtà piuttosto piccolo.

24
00:01:50,690 --> 00:01:53,930
‫Lo renderò almeno dieci volte più grande in ogni dimensione.

25
00:01:54,380 --> 00:02:00,590
‫Quindi colpirò un piccolo lucchetto accanto alla proprietà della scala in modo che ciascuno di questi fondamentalmente si ridimensioni allo stesso

26
00:02:00,590 --> 00:02:01,010
‫modo.

27
00:02:01,380 --> 00:02:05,690
‫Ho intenzione di cambiare uno di loro in dieci e poi anche gli altri due scaleranno fino a dieci.

28
00:02:06,410 --> 00:02:10,160
‫E poi quello che farò è cambiare la direzione del movimento.

29
00:02:10,160 --> 00:02:12,650
‫Quindi attualmente si sta muovendo nella direzione.

30
00:02:12,830 --> 00:02:16,070
‫E se guardiamo in una scena, puoi vedere che questa è fondamentalmente la direzione in avanti.

31
00:02:16,070 --> 00:02:17,510
‫Voglio spostarlo da un lato all'altro.

32
00:02:17,510 --> 00:02:22,100
‫Ovviamente, potremmo ruotarlo una volta inserito nella scena e non importerebbe molto,

33
00:02:22,100 --> 00:02:29,630
‫ma lo cambierò a zero nella X e deve essere ragionevolmente veloce affinché sia un ostacolo che possiamo bisogno di

34
00:02:29,630 --> 00:02:30,380
‫evitare.

35
00:02:30,380 --> 00:02:35,210
‫Quindi farò 300 e farò anche la distanza di spostamento molto grande.

36
00:02:35,540 --> 00:02:37,940
‫Quindi, per cominciare, farcela almeno a 500.

37
00:02:37,940 --> 00:02:42,380
‫E ovviamente questo può essere quindi riconfigurato una volta inserito nel livello.

38
00:02:42,800 --> 00:02:47,600
‫Quindi diciamo che vai nel nostro livello e prova a posizionare questo cubo.

39
00:02:47,600 --> 00:02:53,090
‫Cancellerò la mia ricerca nel sorteggio del contenuto, andrò alla radice del contenuto e trascinerò un push

40
00:02:53,090 --> 00:02:53,450
‫cube.

41
00:02:53,780 --> 00:02:54,950
‫È assolutamente enorme.

42
00:02:54,950 --> 00:02:56,900
‫Ho decisamente perso la scala.

43
00:02:56,900 --> 00:03:00,320
‫Quindi torniamo alla classe Blueprint per il Pushing Cube.

44
00:03:00,650 --> 00:03:06,050
‫Dai un'occhiata alla proprietà della scala e forse vogliamo solo renderla quattro volte più grande e nota

45
00:03:06,050 --> 00:03:12,860
‫che lo sto facendo con questo blocco della scala attivato, quindi rendendolo quattro volte più grande in ogni dimensione e tornando al

46
00:03:12,860 --> 00:03:13,280
‫livello.

47
00:03:13,400 --> 00:03:15,530
‫E questo sembra molto più ragionevole ora.

48
00:03:15,530 --> 00:03:18,230
‫Quindi puoi vedere che in realtà si sta ritagliando un po' nel terreno.

49
00:03:18,680 --> 00:03:25,850
‫Quindi quello che possiamo fare è risolvere questo problema sollevando il cubo nel mondo, oppure potremmo farlo

50
00:03:25,850 --> 00:03:30,740
‫una volta per tutte e sollevarlo effettivamente nella classe Pushing Cube.

51
00:03:31,100 --> 00:03:36,800
‫Quindi penso che dovremo sollevarlo prima che inizierò a trascinarmi e vedere cosa sembra sano di mente.

52
00:03:37,100 --> 00:03:40,340
‫Penso che circa 200 lo metta sul piano terra.

53
00:03:41,180 --> 00:03:46,280
‫Quindi dillo, torna nella nostra scena e se ne vanno, sembra che sia corretto.

54
00:03:46,280 --> 00:03:49,280
‫Ora lo sposterò in modo che si sovrapponga al nostro giocatore.

55
00:03:49,880 --> 00:03:54,260
‫Andiamo avanti e premiamo play e puoi vedere che si muove avanti e indietro, non molto indietro

56
00:03:54,260 --> 00:03:55,070
‫e avanti.

57
00:03:55,070 --> 00:03:56,690
‫Quindi penso che dobbiamo cambiarlo.

58
00:03:56,690 --> 00:04:01,790
‫Torniamo alla classe, andiamo alla classe, alle impostazioni predefinite e facciamo la mossa.

59
00:04:01,790 --> 00:04:06,620
‫Distanza, penso che dovrà essere almeno 1500 in questo modo.

60
00:04:06,620 --> 00:04:11,660
‫E potremmo voler impostare la direzione del movimento nella direzione opposta, anche se potrebbe essere solo una

61
00:04:11,660 --> 00:04:12,740
‫questione di preferenza.

62
00:04:13,100 --> 00:04:17,810
‫Quindi torniamo alla nostra finestra principale e trasciniamo il cubo a sinistra e impostiamo, perché questa è la

63
00:04:17,810 --> 00:04:19,280
‫direzione in cui si muoverà.

64
00:04:19,880 --> 00:04:20,600
‫Premiamo play.

65
00:04:20,750 --> 00:04:21,470
‫E ci andiamo.

66
00:04:21,470 --> 00:04:24,260
‫Sta passando molto lentamente.

67
00:04:24,260 --> 00:04:25,970
‫Quindi non sono soddisfatto della velocità.

68
00:04:26,330 --> 00:04:28,010
‫Cambiamo quella velocità.

69
00:04:28,190 --> 00:04:29,930
‫Penso che debba essere almeno tre volte veloce.

70
00:04:29,930 --> 00:04:31,910
‫Quindi facciamo in modo che venga riprodotto a 900 colpi.

71
00:04:32,090 --> 00:04:32,750
‫Ed ecco qua.

72
00:04:32,750 --> 00:04:34,910
‫Abbiamo un po' più di sfida.

73
00:04:35,150 --> 00:04:37,580
‫Tuttavia, abbiamo anche un bug.

74
00:04:37,860 --> 00:04:43,700
‫Il nostro personaggio non viene davvero spinto in un modo molto sensato o carino da questo cubo che spinge.

75
00:04:43,700 --> 00:04:44,810
‫Puoi vedere che si guasta.

76
00:04:45,150 --> 00:04:46,610
‫Non è liscio.

77
00:04:46,910 --> 00:04:50,120
‫Tuttavia, vorrei attirare la vostra attenzione su una piccola soluzione.

78
00:04:50,120 --> 00:04:56,330
‫Se sto cercando di muovermi mentre mi colpisce, te ne accorgi e lei fa tutto molto bene.

79
00:04:56,510 --> 00:05:03,020
‫E questo perché il codice del carattere non controlla effettivamente le collisioni a meno che tu non stia provando a

80
00:05:03,020 --> 00:05:03,470
‫muoverti.

81
00:05:03,960 --> 00:05:07,420
‫Quindi c'è un po' di soluzione per noi per farlo.

82
00:05:07,440 --> 00:05:11,760
‫Andremo al nostro personaggio in terza persona BP che abbiamo creato.

83
00:05:12,030 --> 00:05:17,160
‫Ora, il modo in cui puoi arrivarci è tramite il disegno del contenuto oppure puoi selezionare

84
00:05:17,160 --> 00:05:22,410
‫il personaggio nella scena, andare al riquadro dei dettagli, andare al pulsante Progetto e premere Apri editor progetto.

85
00:05:23,190 --> 00:05:29,730
‫E quello che vogliamo fare è essenzialmente ogni singolo segno di spunta, vogliamo spostare il personaggio un po' a sinistra

86
00:05:29,730 --> 00:05:32,760
‫e poi un po' di nuovo a destra.

87
00:05:33,210 --> 00:05:38,610
‫Ora, il modo in cui lo faremo è usare un componente sul personaggio chiamato componente di movimento del

88
00:05:38,610 --> 00:05:39,110
‫personaggio.

89
00:05:39,120 --> 00:05:45,300
‫Quindi selezionalo nel riquadro dei componenti, quindi fai clic con il pulsante destro del mouse sul grafico

90
00:05:45,300 --> 00:05:48,940
‫dell'evento Blueprint e quindi cerca sposta il componente aggiornato.

91
00:05:50,190 --> 00:05:53,310
‫Essenzialmente ciò che fa questa funzione è dire.

92
00:05:54,300 --> 00:06:01,080
‫La componente di movimento che dovrebbe usare le sue regole di movimento del personaggio per muovere il personaggio.

93
00:06:01,830 --> 00:06:08,340
‫Quindi puoi vedere che ci vuole un delta che in pratica dice, questo è quanto dovresti spostarti.

94
00:06:08,880 --> 00:06:16,110
‫E ha una scansione, che ci dice che dovrebbe fare attenzione a eventuali collisioni lungo il percorso.

95
00:06:16,650 --> 00:06:23,610
‫Quindi possiamo fargli fare un movimento molto semplice di praticamente un centimetro nella X e perché non importa se

96
00:06:23,610 --> 00:06:28,110
‫si muove nella Z, perché non stiamo davvero cercando quelle collisioni.

97
00:06:28,710 --> 00:06:35,130
‫Quindi possiamo prendere la ripresa e trascinare il pin di esecuzione nella mossa, aggiornare i suoi componenti.

98
00:06:35,760 --> 00:06:41,420
‫E se lo lasciassimo così, sarebbe problematico perché gradualmente il nostro personaggio andrebbe alla deriva.

99
00:06:41,430 --> 00:06:43,170
‫Lascia che ti mostri se premo play.

100
00:06:43,890 --> 00:06:49,410
‫Puoi vedere che il personaggio è gradualmente un centimetro in un fotogramma alla volta, si sta spostando attraverso

101
00:06:49,410 --> 00:06:50,220
‫la scena.

102
00:06:50,610 --> 00:06:53,640
‫Quindi quello che dobbiamo fare è anche tornare indietro.

103
00:06:53,670 --> 00:06:59,430
‫Quindi trascinando un componente del movimento del personaggio qui sotto, trascinerò di nuovo questa penna e cercherò di

104
00:06:59,430 --> 00:07:00,780
‫nuovo la mossa.

105
00:07:00,780 --> 00:07:02,170
‫Componenti aggiornati.

106
00:07:02,700 --> 00:07:08,280
‫Infilerò la penna di esecuzione in modo che venga chiamata dopo il primo componente aggiornato di spostamento.

107
00:07:08,640 --> 00:07:14,820
‫E poi farò il delta meno uno nella X e meno uno nella Y.

108
00:07:14,850 --> 00:07:21,270
‫Quindi il risultato finale sarà che non sembra essere successo nulla, tuttavia, perché abbiamo costretto la componente

109
00:07:21,270 --> 00:07:24,840
‫del movimento a cercare queste collisioni con lo sweep.

110
00:07:25,140 --> 00:07:28,220
‫Reagirà senza intoppi al pusher.

111
00:07:28,230 --> 00:07:33,600
‫Quindi andiamo avanti e premiamo play e andiamo a metterci sulla traiettoria del nostro pusher.

112
00:07:34,140 --> 00:07:39,300
‫E puoi vedere che siamo stati facilmente spostati via di mezzo in questo modo.

113
00:07:39,450 --> 00:07:46,050
‫Quindi vorrei sfidarti a creare un percorso ad ostacoli tutto tuo usando questo spintore e i componenti della piattaforma mobile che

114
00:07:46,050 --> 00:07:47,550
‫abbiamo messo insieme qui.

115
00:07:48,000 --> 00:07:52,320
‫Quindi ecco l'esempio del percorso ad ostacoli che ho realizzato nel mio prototipo.

116
00:07:52,320 --> 00:07:57,270
‫Puoi vedere che ho delle piattaforme mobili per sollevarmi su una piccola isola in modo da poter

117
00:07:57,270 --> 00:07:59,910
‫usare una di queste isole e ridimensionarla come piattaforma.

118
00:07:59,910 --> 00:08:04,380
‫E poi ho i pusher che si muovono avanti e indietro e devo farmi strada.

119
00:08:04,680 --> 00:08:07,320
‫E poi ci sono le piattaforme rotanti, ma ci arriveremo più tardi.

120
00:08:07,320 --> 00:08:08,040
‫Quindi non preoccuparti.

121
00:08:08,250 --> 00:08:12,000
‫Ma abbiamo queste spinte e abbiamo la piattaforma mobile, quindi provaci.

122
00:08:12,030 --> 00:08:17,010
‫Puoi provare a replicare questo o se ti senti creativo e vuoi provare qualcosa di diverso, allora

123
00:08:17,010 --> 00:08:22,200
‫per favore vai avanti e crea il tuo percorso ad ostacoli perché è sempre davvero emozionante da vedere.

124
00:08:22,200 --> 00:08:27,330
‫E se crei qualcosa di unico, condividilo nelle discussioni in modo che tutti possiamo dare

125
00:08:27,330 --> 00:08:28,860
‫un'occhiata e trarre ispirazione.

126
00:08:28,920 --> 00:08:30,600
‫Quindi pubblica il video e provaci.

127
00:08:33,760 --> 00:08:34,380
‫Bene.

128
00:08:34,390 --> 00:08:35,180
‫Ben tornato.

129
00:08:35,200 --> 00:08:40,540
‫Quindi ora che abbiamo i nostri pusher al lavoro, facciamo qualcosa di un po' interessante, vero?

130
00:08:40,870 --> 00:08:44,010
‫Quindi prenderò questa piattaforma e la ruoterò davvero.

131
00:08:44,020 --> 00:08:50,650
‫Quindi abbiamo un po' più di lunghezza da aggiungere alla nostra configurazione, e la trascinerò avanti.

132
00:08:50,650 --> 00:08:57,130
‫Quindi il personaggio è proprio alla fine della piattaforma, quindi prenderò queste due piattaforme mobili e

133
00:08:57,130 --> 00:08:59,440
‫le posizionerò una dopo l'altra.

134
00:08:59,560 --> 00:09:09,220
‫E uno di questi, aggiungerò 1000 al suo asse Z e lo manderò in movimento nella direzione

135
00:09:09,220 --> 00:09:09,970
‫opposta.

136
00:09:10,300 --> 00:09:13,690
‫Quindi queste due piattaforme dovrebbero incontrarsi da qualche parte nel mezzo.

137
00:09:14,140 --> 00:09:17,830
‫Quindi duplicherò l'isola galleggiante su cui ci troviamo.

138
00:09:17,830 --> 00:09:24,610
‫Quindi, facendo alt clic e trascinando, lo ruoterò solo in modo che non sembri immediatamente

139
00:09:24,610 --> 00:09:32,350
‫la stessa piattaforma e lo trascino fuori e lo ridimensionerò un po' in modo da poterlo inserire in

140
00:09:32,350 --> 00:09:34,000
‫cima dell'altra piattaforma.

141
00:09:34,000 --> 00:09:40,120
‫Perché alla fine quello che voglio che accada è che una volta che arriviamo in cima a questa piattaforma superiore,

142
00:09:40,120 --> 00:09:42,730
‫veniamo spinti verso il basso per non morire.

143
00:09:42,730 --> 00:09:44,920
‫Ma ci dà una piccola battuta d'arresto.

144
00:09:45,400 --> 00:09:47,050
‫Ora, prenderò questi push cube.

145
00:09:47,050 --> 00:09:52,330
‫In realtà li trascinerò sulla piattaforma superiore.

146
00:09:52,840 --> 00:09:53,980
‫Ne inserirò alcuni.

147
00:09:54,190 --> 00:09:58,750
‫Quindi penso che tre siano sufficienti per il momento, e ne trascinerò

148
00:09:58,750 --> 00:10:03,160
‫uno dall'altra parte e invertirò la sua velocità in questo modo.

149
00:10:03,160 --> 00:10:07,630
‫Quindi invece di essere nove, sarà -900 e andrà nella direzione opposta.

150
00:10:08,140 --> 00:10:12,370
‫Proviamo questo così posso salire su queste piattaforme mobili.

151
00:10:12,370 --> 00:10:19,540
‫Mi permettono di avere un po' di scala quassù e ora devo cercare di superare questi ragazzi.

152
00:10:19,750 --> 00:10:25,330
‫E, cosa interessante, ho appena notato un piccolo bug nel modo in cui stiamo costringendo un personaggio a muoversi,

153
00:10:25,330 --> 00:10:27,430
‫e lo tratterò in un secondo.

154
00:10:27,940 --> 00:10:30,580
‫Ma sì, è un po' impegnativo, ma è fattibile.

155
00:10:30,580 --> 00:10:31,810
‫Potremmo sicuramente superarli.

156
00:10:31,810 --> 00:10:35,620
‫Al momento non lo sto facendo molto bene, ma potremmo sicuramente superare quei cubi se lo

157
00:10:35,620 --> 00:10:35,890
‫volessimo.

158
00:10:36,340 --> 00:10:39,040
‫Quindi la prossima cosa da fare è correggere quel piccolo bug.

159
00:10:39,700 --> 00:10:47,110
‫Ora il problema qui è che quando abbiamo chiamato i componenti aggiornati di spostamento, stiamo impostando una rotazione qui che non è la

160
00:10:47,110 --> 00:10:52,120
‫rotazione del nostro personaggio, il che significa che ci metterà sempre rivolti in avanti.

161
00:10:52,600 --> 00:11:02,560
‫Quindi il modo più semplice per risolvere questo problema è fare clic con il pulsante destro del mouse e ottenere la rotazione dell'attore e passare semplicemente la rotazione

162
00:11:02,560 --> 00:11:05,890
‫dell'attore alla nuova rotazione per spostare il componente aggiornato.

163
00:11:05,890 --> 00:11:09,820
‫Puoi passarlo a entrambi, ma quello che conta davvero è che l'abbiamo fatto

164
00:11:09,820 --> 00:11:16,300
‫per l'ultimo così possiamo andare avanti e giocare ora e dovremmo essere in grado di vedere che ora possiamo davvero ruotare il

165
00:11:16,300 --> 00:11:18,380
‫nostro carattere a seconda dei casi.

166
00:11:18,970 --> 00:11:19,840
‫Bene, roba fantastica.

167
00:11:19,840 --> 00:11:26,710
‫In questa lezione abbiamo corretto un piccolo bug di collisione con il nostro personaggio e abbiamo

168
00:11:26,710 --> 00:11:31,090
‫creato un piccolo percorso di assalto ad ostacoli per iniziare.

169
00:11:31,270 --> 00:11:33,580
‫Spero vi siate divertiti e ci vediamo alla prossima lezione.

