﻿1
00:00:04,190 --> 00:00:04,640
‫Ehi.

2
00:00:04,640 --> 00:00:05,730
‫Ben tornato.

3
00:00:05,750 --> 00:00:08,240
‫Stiamo esponendo le variabili ai progetti.

4
00:00:08,240 --> 00:00:12,110
‫E ora vorremmo parlare di esporre i nostri componenti.

5
00:00:12,290 --> 00:00:18,350
‫Questo ci permetterà di impostare alcune delle proprietà, come le mesh sui nostri componenti di mesh statiche, oltre a

6
00:00:18,350 --> 00:00:22,160
‫posizionare la nostra capsula e il punto di spawn del proiettile.

7
00:00:22,190 --> 00:00:26,630
‫Ora siamo tornati qui in VS Code e abbiamo tutte le nostre variabili di test.

8
00:00:26,630 --> 00:00:33,830
‫E prima di iniziare a esporre le nostre variabili dei componenti privati, ci sono solo un altro paio di

9
00:00:33,860 --> 00:00:36,990
‫cose specifiche della tua proprietà che dobbiamo imparare.

10
00:00:37,010 --> 00:00:43,880
‫Per prima cosa, tutte le nostre variabili di test sono nella sezione pubblica e un paio delle nostre variabili qui

11
00:00:43,880 --> 00:00:50,780
‫sono esposte al grafico degli eventi che consente l'accesso in lettura e l'accesso corretto, e queste non sono consentite nella

12
00:00:50,780 --> 00:00:51,750
‫sezione privata.

13
00:00:51,770 --> 00:00:58,730
‫Ad esempio, se prendo il nostro visibile ovunque int e modifico ovunque int e li taglio e li incollo

14
00:00:58,730 --> 00:01:01,800
‫qui nella sezione privata insieme ai nostri componenti.

15
00:01:01,820 --> 00:01:05,090
‫Ecco cosa succede quando tentiamo di compilare qui.

16
00:01:05,090 --> 00:01:08,000
‫Vediamo nel nostro terminale un paio di errori.

17
00:01:08,000 --> 00:01:13,760
‫Vediamo blueprint, read, write non dovrebbero essere usati su membri privati e dice la stessa cosa

18
00:01:13,760 --> 00:01:15,590
‫su Blueprint Read only.

19
00:01:15,740 --> 00:01:20,720
‫E se volessimo leggere e scrivere l'accesso nel grafico dell'evento sui membri privati?

20
00:01:20,720 --> 00:01:22,540
‫Bene, c'è un modo per aggirare questo problema.

21
00:01:22,550 --> 00:01:26,450
‫Possiamo ancora avere accesso alle variabili private nel grafico degli eventi.

22
00:01:26,450 --> 00:01:28,930
‫Dobbiamo aggiungere un altro input all'U.

23
00:01:28,940 --> 00:01:31,490
‫La macro della proprietà e quell'input assomiglia a questo.

24
00:01:31,490 --> 00:01:41,390
‫Diciamo che meta uguale a parentesi consente l'accesso privato uguale e tra virgolette true.

25
00:01:41,420 --> 00:01:43,010
‫Ora questo sembra piuttosto strano.

26
00:01:43,010 --> 00:01:46,580
‫È una specie di incubo di sintassi, ma ecco come appare.

27
00:01:46,580 --> 00:01:54,530
‫Le macro di proprietà consentono i metadati e i metadati sono solo una parola di fantasia per i dati che forniscono informazioni su

28
00:01:54,530 --> 00:01:55,510
‫altri dati.

29
00:01:55,520 --> 00:02:03,170
‫Quindi abbiamo questo meta uguale e se utilizziamo consenti accesso privato uguale a vero, possiamo esporre queste variabili al

30
00:02:03,170 --> 00:02:06,200
‫grafico degli eventi anche se sono private.

31
00:02:06,230 --> 00:02:12,020
‫Ora, se sei un pignolo e non pensi che dare accesso privato a una variabile sia un'ottima idea,

32
00:02:12,020 --> 00:02:13,610
‫beh, non devi farlo.

33
00:02:13,610 --> 00:02:19,400
‫Questo è solo un altro strumento nella tua cassetta degli attrezzi che ci consente di esporre le variabili private al progetto.

34
00:02:19,400 --> 00:02:22,790
‫E sul lato C++, questi sono ancora privati.

35
00:02:22,790 --> 00:02:25,610
‫Non puoi ancora accedervi da altre classi.

36
00:02:25,610 --> 00:02:28,610
‫Quindi hai quell'incapsulamento sul lato C++.

37
00:02:28,640 --> 00:02:33,230
‫Questo ti dà solo la possibilità di ottenerli nei progetti e modificarli.

38
00:02:33,230 --> 00:02:36,320
‫E davvero nei progetti, è una specie di mondo diverso.

39
00:02:36,320 --> 00:02:41,210
‫In genere, non esporrete le cose a progetti in cui qualcuno potrebbe entrare e cambiare e

40
00:02:41,210 --> 00:02:42,590
‫potenzialmente interrompere il gioco.

41
00:02:42,590 --> 00:02:44,570
‫Ma è utile sapere come farlo.

42
00:02:44,570 --> 00:02:52,850
‫Quindi daremo a questo meta l'accesso privato a entrambi visibili ovunque, int e modifica ovunque.

43
00:02:52,850 --> 00:02:55,010
‫E quindi compiliamo questo.

44
00:02:55,070 --> 00:03:00,860
‫E ora vediamo che abbiamo una compilazione riuscita anche se abbiamo riscritture blueprint e blueprint read

45
00:03:00,860 --> 00:03:03,730
‫only su variabili in una sezione privata.

46
00:03:03,740 --> 00:03:10,130
‫Ora di nuovo qui in BP Pond Tank nel grafico dell'evento, posso fare clic con il pulsante destro

47
00:03:10,130 --> 00:03:17,150
‫del mouse e digitare modifica ovunque e qui vediamo ottenere modifica ovunque int abbiamo ancora accesso ad esso e se cerco

48
00:03:17,150 --> 00:03:20,000
‫visibile, vedo visibile ovunque possiamo ottenere e impostalo.

49
00:03:20,000 --> 00:03:25,490
‫Ora l'ultima cosa che ti mostrerò che possiamo aggiungere alle tue proprietà è un avviso di categoria qui

50
00:03:25,490 --> 00:03:26,780
‫nel pannello dei dettagli.

51
00:03:26,780 --> 00:03:32,510
‫Queste variabili che abbiamo aggiunto sono in questa categoria in base a questo è il nome della classe ed è lì che

52
00:03:32,510 --> 00:03:33,860
‫vanno per impostazione predefinita.

53
00:03:33,860 --> 00:03:40,730
‫Ma nota che abbiamo anche altre variabili ereditate da questa classe e ciascuna è nelle proprie categorie.

54
00:03:40,730 --> 00:03:48,890
‫Ora possiamo creare la nostra categoria per queste variabili esposte e lo facciamo aggiungendo categoria uguale.

55
00:03:48,890 --> 00:03:52,100
‫E tra virgolette possiamo dare a questo una categoria.

56
00:03:52,100 --> 00:03:55,880
‫Quindi potrei chiamare queste variabili super duper.

57
00:03:55,880 --> 00:04:00,050
‫Ora avrò una virgola qui perché l'ho messa qui negli Stati Uniti.

58
00:04:00,050 --> 00:04:05,180
‫Macro di proprietà come uno degli input e tutti gli input devono essere separati da virgole.

59
00:04:05,180 --> 00:04:11,390
‫Lo copierò e lo aggiungerò alla proprietà U qui per modificarlo ovunque int.

60
00:04:11,390 --> 00:04:15,350
‫Quindi ora questi dovrebbero essere nella loro categoria chiamata variabili super duper.

61
00:04:15,350 --> 00:04:19,130
‫Compiliamo e torniamo qui nell'editor, dai un'occhiata.

62
00:04:19,130 --> 00:04:25,760
‫Abbiamo variabili super duper e le nostre variabili sono qui e posso fare clic con il pulsante destro del mouse nel grafico degli

63
00:04:25,760 --> 00:04:27,800
‫eventi per cercare super e dare un'occhiata.

64
00:04:27,800 --> 00:04:30,980
‫Abbiamo variabili super duper e le nostre variabili sono qui.

65
00:04:30,980 --> 00:04:36,320
‫Quindi questo è un bel modo per organizzare le nostre variabili e renderle un po' più facili da trovare.

66
00:04:36,320 --> 00:04:40,100
‫Quindi ho aggiunto un paio di nuove cose al nostro tavolo qui.

67
00:04:40,100 --> 00:04:45,740
‫Possiamo fornire un accesso privato, possiamo prendere variabili private ed esporle comunque al grafico degli

68
00:04:45,740 --> 00:04:47,780
‫eventi con questi meta specificatori.

69
00:04:47,780 --> 00:04:53,180
‫E possiamo anche assegnare alle variabili la loro categoria per organizzarle in blueprint.

70
00:04:53,300 --> 00:04:59,330
‫Quindi ora che conosci molti modi per controllare l'accesso alle nostre variabili in Blueprint,

71
00:04:59,330 --> 00:05:03,710
‫compilerai la tua proprietà per i componenti che ora decidi.

72
00:05:03,770 --> 00:05:05,090
‫I loro livelli di accesso.

73
00:05:05,090 --> 00:05:11,210
‫Vorrai che siano visibili ovunque per questi perché la modifica ovunque non è qualcosa che vuoi dare

74
00:05:11,210 --> 00:05:12,380
‫ai tuoi componenti.

75
00:05:12,410 --> 00:05:17,090
‫Ciò significa che puoi effettivamente modificare quella variabile del puntatore e non vogliamo cambiare il puntatore.

76
00:05:17,120 --> 00:05:19,130
‫Dovrebbe sempre puntare all'oggetto.

77
00:05:19,130 --> 00:05:24,680
‫Lo costruiamo nel costruttore, ma puoi anche decidere se dargli o meno accesso in lettura,

78
00:05:24,680 --> 00:05:28,310
‫in scrittura nel grafico degli eventi, assegnargli una categoria.

79
00:05:28,340 --> 00:05:31,370
‫Questo ci permetterà di mantenere le nostre variabili organizzate.

80
00:05:31,400 --> 00:05:35,160
‫Ora, se hai intenzione di fornire loro un progetto, leggi, scrivi o un progetto di sola lettura.

81
00:05:35,180 --> 00:05:41,150
‫Dovrai consentire l'accesso privato con quel meta specificato perché si tratta di variabili private.

82
00:05:41,180 --> 00:05:46,610
‫Ora, una volta che hai esposto i componenti ai progetti, puoi impostare alcune proprietà nel progetto

83
00:05:46,610 --> 00:05:47,310
‫predefinito.

84
00:05:47,330 --> 00:05:51,200
‫È possibile assegnare ai componenti della mesh statica le proprie mesh statiche.

85
00:05:51,200 --> 00:05:57,560
‫Quindi impostalo sia nel serbatoio -- che nel progetto della torretta e posiziona la capsula.

86
00:05:57,560 --> 00:06:04,100
‫Quindi sta approssimativamente comprendendo il volume delle mesh e posiziona il punto di spawn del proiettile, posizionalo in

87
00:06:04,100 --> 00:06:08,120
‫un punto che avrebbe senso per la generazione dei proiettili.

88
00:06:08,150 --> 00:06:11,990
‫Quindi metti in pausa il video ed esponi i nostri componenti al progetto.

89
00:06:15,010 --> 00:06:15,550
‫Bene.

90
00:06:15,550 --> 00:06:20,200
‫Quindi eccoci qui nella nostra sezione privata e vorremmo esporre questi componenti.

91
00:06:20,230 --> 00:06:26,590
‫Ora, per prima cosa, darò il mio componente capsula visibile ovunque e deciderò semplicemente di dare questo

92
00:06:26,590 --> 00:06:33,310
‫progetto in sola lettura in modo da poter accedere alla variabile comp capsula nel grafico degli eventi, ma

93
00:06:33,310 --> 00:06:34,630
‫non posso impostarlo.

94
00:06:34,660 --> 00:06:40,120
‫Ora darò a questi la categoria e per i nostri componenti qui, gli darò solo i

95
00:06:40,120 --> 00:06:45,910
‫componenti della categoria ora perché sto usando il blueprint di sola lettura, userò meta per consentire l'accesso privato

96
00:06:45,910 --> 00:06:47,470
‫è uguale a true.

97
00:06:47,500 --> 00:06:49,720
‫Quindi lo metterò proprio lì.

98
00:06:49,720 --> 00:06:56,020
‫E per il resto dei miei componenti, sono contento di questi stessi specificatori di proprietà,

99
00:06:56,020 --> 00:06:59,110
‫quindi darò loro tutti gli stessi specificatori.

100
00:06:59,110 --> 00:07:04,510
‫Ora compilerò questo e tornerò qui nell'editor, farò clic sulla finestra in modo da poter effettivamente

101
00:07:04,510 --> 00:07:08,980
‫vedere cosa sto facendo qui e posso selezionare la mesh di base.

102
00:07:08,980 --> 00:07:15,430
‫E per la proprietà della mesh statica, dato che siamo nel -- progetto del serbatoio, sceglierò la base

103
00:07:15,430 --> 00:07:16,300
‫del serbatoio.

104
00:07:16,450 --> 00:07:18,880
‫Quella è la base del serbatoio.

105
00:07:18,910 --> 00:07:24,610
‫Ora posso selezionare la mesh della torretta e per la sua mesh statica selezionerò la torretta del carro armato.

106
00:07:24,610 --> 00:07:28,860
‫E ora il nostro progetto del carro armato sembra davvero un carro armato.

107
00:07:28,870 --> 00:07:34,180
‫Ora, prima di impostare il punto di spawn del proiettile, vorrei regolare il componente della capsula.

108
00:07:34,180 --> 00:07:37,510
‫Quindi sta approssimativamente comprendendo il volume della mesh.

109
00:07:37,510 --> 00:07:43,660
‫Ora, con il componente della capsula selezionato, abbiamo queste proprietà mezza altezza della capsula e raggio della capsula.

110
00:07:43,750 --> 00:07:49,480
‫Ridimensionerò il raggio e la mezza altezza della capsula in modo che appaia approssimativamente

111
00:07:49,480 --> 00:07:50,830
‫della forma corretta.

112
00:07:51,010 --> 00:07:57,430
‫E avrò bisogno di posizionare il mio serbatoio in modo che sia in basso perché il nostro componente della capsula

113
00:07:57,430 --> 00:07:58,960
‫è il componente principale.

114
00:07:58,960 --> 00:08:05,080
‫Dobbiamo spostare tutti gli altri componenti rispetto alla radice in modo da poter selezionare la mesh di base e spostarla verso il

115
00:08:05,080 --> 00:08:05,650
‫basso.

116
00:08:05,650 --> 00:08:13,450
‫E per farlo bene, posso inclinare la mia visuale in questo modo, oppure posso venire qui dove c'è scritto prospettiva

117
00:08:13,450 --> 00:08:14,920
‫e selezionare, giusto?

118
00:08:14,920 --> 00:08:17,350
‫E ora sono in modalità ortografica.

119
00:08:17,350 --> 00:08:21,640
‫Questo posto è tutto su un aereo, quindi posso spostare le cose e prenderle.

120
00:08:21,640 --> 00:08:27,940
‫Proprio in questo momento disattiverò lo snap in modo da poterlo posizionare in modo più preciso e penso che stia

121
00:08:27,940 --> 00:08:29,050
‫andando abbastanza bene.

122
00:08:29,140 --> 00:08:34,210
‫Ora tornerò alla modalità prospettica in modo da poterlo vedere e assicurarmi che tutto

123
00:08:34,210 --> 00:08:39,730
‫sia a posto e selezionerò il componente della capsula e mi assicurerò che la scala sia giusta.

124
00:08:39,730 --> 00:08:44,710
‫Ora, questo potrebbe richiedere un po 'di aggiustamento per andare bene, ma con alcune modifiche puoi farlo sembrare

125
00:08:44,710 --> 00:08:45,430
‫abbastanza buono.

126
00:08:45,430 --> 00:08:47,200
‫Quindi sono soddisfatto di questo.

127
00:08:47,200 --> 00:08:50,830
‫Successivamente, vorrei posizionare il punto di spawn del proiettile.

128
00:08:51,040 --> 00:08:57,190
‫Riaccenderò lo scatto e lo sposterò proprio davanti alla canna qui.

129
00:08:57,190 --> 00:08:58,960
‫Quindi questo sembra abbastanza buono.

130
00:08:59,110 --> 00:09:04,270
‫Ora vado avanti e salva questo e ora è il momento di impostare la torretta dello stagno BP.

131
00:09:04,660 --> 00:09:08,950
‫Quindi qui nella torretta dello stagno BP, imposterò la mesh di base.

132
00:09:08,950 --> 00:09:15,730
‫Quindi selezioniamo la base della torre e imposterò la mesh della torretta sulla torretta.

133
00:09:16,450 --> 00:09:17,410
‫Eccoci.

134
00:09:17,410 --> 00:09:24,190
‫Ora aumenterò la composizione della capsula e sposterò la mesh di base verso il basso e lo modificherò solo fino a quando non lo

135
00:09:24,190 --> 00:09:25,510
‫ottengo nel modo giusto.

136
00:09:25,510 --> 00:09:33,910
‫E ancora, posso entrare nella vista ortografica e disattivare lo snap e posizionarlo all'incirca come

137
00:09:33,910 --> 00:09:37,360
‫vorrei e tornare in prospettiva.

138
00:09:37,540 --> 00:09:39,130
‫Penso che sembra abbastanza buono.

139
00:09:39,130 --> 00:09:41,890
‫Ora, l'ultima cosa è il punto di spawn del proiettile.

140
00:09:41,890 --> 00:09:48,640
‫Ho intenzione di riattivare lo snap e posizionarlo proprio qui davanti alla canna e imposterò gli incrementi

141
00:09:48,640 --> 00:09:53,080
‫di snap su cinque solo così posso posizionarlo proprio lì davanti.

142
00:09:53,080 --> 00:09:57,520
‫Ora assicurati che il punto di spawn del proiettile non sia troppo vicino alla canna.

143
00:09:57,700 --> 00:10:00,970
‫Da questo momento genereremo proiettili.

144
00:10:00,970 --> 00:10:06,460
‫E qualcosa che ha fatto inciampare alcuni studenti è che il loro punto di spawn è troppo vicino

145
00:10:06,460 --> 00:10:11,680
‫alla canna e c'è una collisione lì che può causare complicazioni durante la generazione dei proiettili.

146
00:10:11,680 --> 00:10:18,190
‫Ora questo può essere facilmente risolto assicurandosi che il punto di spawn sia a una buona distanza dalla canna.

147
00:10:18,190 --> 00:10:21,880
‫E lo rifiniremo alla fine di questa sezione del corso.

148
00:10:22,270 --> 00:10:25,990
‫Ok, quindi l'ultima cosa che farò è mettere alcuni di questi nel mondo.

149
00:10:25,990 --> 00:10:28,900
‫Ho già un serbatoio per laghetti BP qui.

150
00:10:28,930 --> 00:10:31,060
‫Lo metterò a terra.

151
00:10:31,240 --> 00:10:35,980
‫E trasciniamo un paio di istanze della torretta dello stagno BP.

152
00:10:36,160 --> 00:10:42,700
‫Ne metterò uno qui e lo ruoterò in modo che sia rivolto verso l'esterno e poi andrò avanti e ne

153
00:10:42,700 --> 00:10:44,890
‫posizionerò uno ad ogni angolo qui.

154
00:10:45,630 --> 00:10:48,420
‫In modo che possano custodire questa struttura centrale.

155
00:10:48,870 --> 00:10:52,920
‫E questo sembra un po' più simile al prodotto finito.

156
00:10:53,880 --> 00:10:54,960
‫Eccoci.

157
00:10:55,170 --> 00:11:01,680
‫E ovviamente, se lo volessi, potrei vederlo dall'alto e in modalità ortografica dall'alto.

158
00:11:01,680 --> 00:11:04,890
‫Posso posizionarli in modo più preciso.

159
00:11:04,890 --> 00:11:08,430
‫Ma ovviamente, questo è un po' meno importante in un gioco raffinato.

160
00:11:08,430 --> 00:11:10,740
‫Vorrai che tutto sembri a posto.

161
00:11:10,890 --> 00:11:13,170
‫Ok, torniamo alla modalità prospettiva.

162
00:11:13,200 --> 00:11:15,720
‫Sembra davvero fantastico.

163
00:11:15,720 --> 00:11:22,260
‫Quindi, tornando al nostro piano di sezione, abbiamo creato il nostro carro armato e il nostro obiettivo è che si muova in tutto

164
00:11:22,260 --> 00:11:22,830
‫il mondo.

165
00:11:22,830 --> 00:11:25,980
‫Quindi, nelle lezioni a venire, inizieremo a imparare come farlo.

166
00:11:25,980 --> 00:11:31,890
‫Quindi in questa lezione abbiamo esposto i nostri componenti ai progetti e abbiamo impostato alcune proprietà nei progetti

167
00:11:31,890 --> 00:11:34,840
‫per il carro armato e per la torretta.

168
00:11:34,860 --> 00:11:36,180
‫Ottimo progresso.

169
00:11:36,210 --> 00:11:37,500
‫Ci vediamo nel prossimo video.

