﻿1
00:00:04,390 --> 00:00:05,560
‫Ciao e Benvenuto.

2
00:00:05,560 --> 00:00:11,230
‫In questa lezione creeremo piattaforme rotanti e mobili.

3
00:00:11,230 --> 00:00:17,560
‫Lo faremo imparando il tipo di rotatore F in C++ in modo da poter aggiungere un po'

4
00:00:17,560 --> 00:00:20,950
‫più di un altro elemento al nostro puzzle.

5
00:00:20,950 --> 00:00:23,950
‫Entriamo e scopriamo come funziona.

6
00:00:24,280 --> 00:00:28,300
‫Quindi parliamo della compilazione della nostra funzione di rotazione della piattaforma.

7
00:00:28,510 --> 00:00:34,930
‫Quindi, per eseguire la rotazione, è molto simile al modo in cui eseguiamo la posizione e abbiamo funzioni molto

8
00:00:34,930 --> 00:00:35,350
‫simili.

9
00:00:35,350 --> 00:00:43,240
‫Possiamo chiamare invece di chiamare, ottenere la posizione dell'attore, possiamo chiamare, ottenere invece la rotazione dell'attore.

10
00:00:43,240 --> 00:00:49,270
‫E se metto le parentesi alla fine di questa riga e passo il mouse sopra

11
00:00:49,270 --> 00:00:55,630
‫la funzione, Visual Studio IntelliSense ci mostrerà che il valore restituito da questo è un rotatore F.

12
00:00:55,630 --> 00:01:02,110
‫Abbiamo usato il vettore F quando abbiamo lavorato con le posizioni e abbiamo parlato dei rotatori nelle sezioni

13
00:01:02,110 --> 00:01:02,830
‫precedenti.

14
00:01:02,830 --> 00:01:07,090
‫Quindi diamo un'occhiata a mettere questo rotatore F in una variabile locale.

15
00:01:07,090 --> 00:01:14,920
‫Quindi il tipo sarà F rotator e chiameremo questa rotazione corrente uguale alla rotazione dell'attore get, mettere un punto

16
00:01:14,920 --> 00:01:17,680
‫e virgola alla fine della riga.

17
00:01:17,680 --> 00:01:20,260
‫Eliminerò anche l'istruzione di registro perché non ne abbiamo più bisogno.

18
00:01:20,260 --> 00:01:25,450
‫E poi quello che vogliamo fare è essenzialmente esattamente lo stesso che abbiamo fatto con la

19
00:01:25,450 --> 00:01:31,810
‫velocità della piattaforma, che è una sorta di velocità di rotazione moltiplicata per il tempo delta aggiunto alla rotazione corrente.

20
00:01:31,810 --> 00:01:35,470
‫Quindi quale dovrebbe essere quella velocità di rotazione?

21
00:01:35,470 --> 00:01:39,520
‫Bene, è qui che vogliamo passare al file di intestazione e aggiungere una nuova proprietà U.

22
00:01:39,520 --> 00:01:48,760
‫Quindi lo aggiungerò sotto la distanza di spostamento e avrò una proprietà U modificata ovunque e poi gli darò una

23
00:01:49,300 --> 00:01:55,900
‫categoria uguale a questa volta la chiamerò rotazione e cambierò il nome della categoria da

24
00:01:55,900 --> 00:02:00,100
‫piattaforma mobile a spostamento in entrambi i casi.

25
00:02:00,100 --> 00:02:03,850
‫Quindi avremo una categoria per lo spostamento, una categoria per la rotazione.

26
00:02:03,850 --> 00:02:11,800
‫Quindi sotto la proprietà inseriremo un rotatore F chiamato velocità di rotazione e non gli daremo un valore predefinito qui

27
00:02:11,800 --> 00:02:16,780
‫perché per impostazione predefinita non voglio che nessuna delle nostre piattaforme ruoti.

28
00:02:16,780 --> 00:02:21,190
‫Quindi il valore predefinito sarà 000, ed è proprio quello di cui abbiamo bisogno.

29
00:02:21,280 --> 00:02:26,470
‫Quindi inserirò un punto e virgola alla fine della riga qui e ora possiamo tornare al

30
00:02:26,470 --> 00:02:31,330
‫file C++ e utilizzare quella variabile membro nella nostra funzione di rotazione della piattaforma.

31
00:02:31,330 --> 00:02:42,610
‫Quindi quello che vogliamo fare è la rotazione attuale uguale alla rotazione attuale più la velocità di rotazione moltiplicata per il tempo delta e mettere

32
00:02:42,610 --> 00:02:46,750
‫un punto e virgola alla fine della linea.

33
00:02:46,900 --> 00:02:52,660
‫E ora l'ultimo pezzo del puzzle è impostare il nostro attore in quella nuova rotazione.

34
00:02:52,660 --> 00:02:58,300
‫Quindi, esattamente come ti aspetteresti, forse una piccola mini sfida per te, infatti, è come andresti

35
00:02:58,300 --> 00:03:00,130
‫avanti e farlo tu stesso?

36
00:03:01,970 --> 00:03:10,430
‫Bene, quello che useremmo è la funzione di rotazione dell'attore impostato e passeremmo un argomento di rotazione corrente in questo modo

37
00:03:10,430 --> 00:03:14,930
‫e metteremmo un punto e virgola alla fine della riga.

38
00:03:14,960 --> 00:03:19,160
‫Ora, sfortunatamente, non funziona così semplicemente come questo.

39
00:03:19,310 --> 00:03:22,190
‫È giunto alla mia attenzione, hanno fatto notare alcuni studenti nell'assistente didattico.

40
00:03:22,190 --> 00:03:27,920
‫Dan, grazie mille, ha sottolineato che la semplice aggiunta di rotazioni in questo modo non funzionerà sempre

41
00:03:27,920 --> 00:03:32,710
‫a causa di alcune complicazioni legate alle rotazioni che si avvolgono su se stesse.

42
00:03:32,720 --> 00:03:38,870
‫Se vai fino a -90 gradi di rotazione, a un certo punto devi capovolgere in più 90

43
00:03:38,870 --> 00:03:41,070
‫gradi di rotazione e così via.

44
00:03:41,090 --> 00:03:49,580
‫Quindi un modo migliore per aggirare questo problema, invece di impostare la rotazione attiva, è chiamare la rotazione locale

45
00:03:49,580 --> 00:03:50,540
‫dell'attore aggiuntivo.

46
00:03:50,540 --> 00:03:57,110
‫E puoi notare qui che ci sono anche alcune trasformazioni locali dell'attore aggiunto e un offset locale per la

47
00:03:57,110 --> 00:03:57,830
‫posizione.

48
00:03:57,830 --> 00:04:00,920
‫Quindi puoi usarlo anche tu invece di aggiungere la posizione.

49
00:04:00,920 --> 00:04:05,840
‫Tuttavia, non ci sono lo stesso tipo di problemi che incontreremo nei casi limite relativi alla

50
00:04:05,840 --> 00:04:06,380
‫rotazione.

51
00:04:06,380 --> 00:04:12,800
‫Quindi quello che ti consiglierei di fare è aggiungere invece la rotazione locale dell'attore qui e quindi

52
00:04:12,800 --> 00:04:19,670
‫inserire la velocità di rotazione moltiplicata per il tempo delta e fa il resto di questo codice automaticamente per te.

53
00:04:19,670 --> 00:04:22,100
‫Quindi possiamo semplicemente andare avanti e sbarazzarci di quelle linee.

54
00:04:22,100 --> 00:04:27,560
‫E hai una semplice aggiunta alla rotazione locale in corso qui, e puoi anche sbarazzartene

55
00:04:27,560 --> 00:04:31,670
‫ottenendo la rotazione corrente perché non ne abbiamo più bisogno neanche.

56
00:04:31,850 --> 00:04:35,450
‫Quindi andiamo nell'editor e premiamo il pulsante di compilazione.

57
00:04:35,450 --> 00:04:37,520
‫E quando ciò è fatto, chiudi il registro.

58
00:04:37,640 --> 00:04:42,530
‫Selezioniamo una delle piattaforme nel livello che ognuna di esse farà e diamo un'occhiata alle categorie.

59
00:04:42,530 --> 00:04:46,970
‫Quindi abbiamo il movimento, la rotazione e la velocità di rotazione.

60
00:04:46,970 --> 00:04:54,890
‫Quindi voglio ruotare questa piattaforma attorno al suo asse Z probabilmente diciamo di circa 90 gradi al secondo.

61
00:04:54,890 --> 00:04:57,920
‫Quindi ci vogliono 4 secondi per fare una rotazione completa.

62
00:04:57,950 --> 00:04:59,990
‫Andiamo avanti e premiamo play.

63
00:04:59,990 --> 00:05:00,620
‫Ed ecco qua.

64
00:05:00,620 --> 00:05:03,590
‫Abbiamo una piattaforma rotante e mobile.

65
00:05:03,590 --> 00:05:11,270
‫Quindi, a differenza del meccanismo della piattaforma mobile, non dobbiamo preoccuparci che la nostra piattaforma rotante vada effettivamente

66
00:05:11,270 --> 00:05:13,040
‫avanti e indietro.

67
00:05:13,040 --> 00:05:16,310
‫Se vuoi che lo faccia, questa è una possibile estensione a cui potresti pensare.

68
00:05:16,310 --> 00:05:22,400
‫Ma per me questo è abbastanza perché vogliamo solo che queste cose continuino a girare nella

69
00:05:22,400 --> 00:05:23,420
‫stessa direzione.

70
00:05:23,630 --> 00:05:29,270
‫Quindi lasciami andare e rimuovere la rotazione da questa particolare piattaforma perché non vogliamo che questa

71
00:05:29,270 --> 00:05:30,200
‫piattaforma ruoti.

72
00:05:30,200 --> 00:05:37,640
‫Quindi mi piace sfidarti a creare una piattaforma rotante con segnale acustico, in pratica un'altra variante da usare per

73
00:05:37,640 --> 00:05:40,220
‫noi e trovare una mesh appropriata.

74
00:05:40,220 --> 00:05:45,980
‫Andrei con qualcosa che è vagamente circolare in modo che abbia senso come piattaforma rotante e

75
00:05:45,980 --> 00:05:52,640
‫dargli una velocità di rotazione predefinita e posizionarlo nel livello per creare un po 'di un puzzle di piattaforma

76
00:05:52,640 --> 00:05:54,380
‫rotante che puoi attraversare.

77
00:05:54,380 --> 00:05:56,300
‫Metti in pausa il video e prova.

78
00:05:59,400 --> 00:05:59,700
‫Bene.

79
00:05:59,700 --> 00:06:00,660
‫Ben tornato.

80
00:06:00,690 --> 00:06:08,610
‫Quindi andremo avanti nel nostro cassetto dei contenuti e andremo a cercare le classi C++, Obstacle Assault e fare clic con il pulsante

81
00:06:08,610 --> 00:06:14,270
‫destro del mouse sulla piattaforma mobile per creare un dispositivo di classe blueprint derivato da questo.

82
00:06:14,280 --> 00:06:21,060
‫La chiameremo piattaforma rotante di sottolineatura BP e la inseriremo nel percorso del contenuto e

83
00:06:21,060 --> 00:06:23,430
‫creeremo una classe di progetto.

84
00:06:23,430 --> 00:06:27,180
‫Una volta visualizzato l'editor, inseriamolo nella nostra finestra principale.

85
00:06:27,180 --> 00:06:33,180
‫Chiuderò il mio browser dei contenuti che sembra voler apparire ogni volta, andrò al nostro livello

86
00:06:33,180 --> 00:06:39,390
‫principale e andrò sull'isola con tutte le nostre risorse di prova facendo clic con il tasto destro.

87
00:06:40,260 --> 00:06:44,490
‫Vai qui e vediamo se c'è qualcosa che sembra buono.

88
00:06:44,490 --> 00:06:48,600
‫Mi piace l'aspetto di queste piattaforme qui.

89
00:06:48,600 --> 00:06:55,710
‫Se faccio clic con il pulsante destro del mouse su di esso o se faccio semplicemente clic su di esso, la mesh utilizzata

90
00:06:55,740 --> 00:06:59,760
‫qui nella mesh statica è la piattaforma SM A Quindi cerchiamo quella.

91
00:06:59,760 --> 00:07:07,620
‫Andiamo ai nostri progetti, apriamo il contenuto, disegniamo, andiamo a tutto e quindi cerchiamo il trattino di sottolineatura della

92
00:07:07,620 --> 00:07:14,710
‫piattaforma M, il trattino di sottolineatura A e poi abbiamo la mesh, che è questa qui.

93
00:07:15,270 --> 00:07:16,890
‫Secondo per me.

94
00:07:16,980 --> 00:07:21,480
‫Lo trascinerò nel nostro viewport per avere la nostra piattaforma.

95
00:07:21,480 --> 00:07:24,090
‫Ora vediamo dove è centrato.

96
00:07:24,090 --> 00:07:25,860
‫È centrato nel mezzo?

97
00:07:25,860 --> 00:07:30,840
‫Sì, lo è, il che è positivo e importante perché abbiamo bisogno che ruoti a metà.

98
00:07:30,840 --> 00:07:34,560
‫Altrimenti questa piattaforma circolare sembrerà un po' strana.

99
00:07:34,770 --> 00:07:43,680
‫Possiamo anche ridimensionarlo un po' nelle dimensioni x e Y per rendere questa piattaforma un po' più grande e possiamo andare alle impostazioni predefinite della

100
00:07:43,680 --> 00:07:51,180
‫classe per rimuovere qualsiasi velocità della piattaforma perché non vogliamo che si muova e impostare la distanza di spostamento verso il

101
00:07:51,360 --> 00:07:57,480
‫basso a zero potenzialmente e poi guarda la sezione di rotazione e impostala su circa bene, abbiamo

102
00:07:57,480 --> 00:08:01,440
‫provato a 90 gradi al secondo e sembrava abbastanza ragionevole.

103
00:08:01,440 --> 00:08:04,050
‫Quindi andiamo avanti e salviamo questa piattaforma rotante.

104
00:08:04,170 --> 00:08:12,270
‫Andremo al nostro livello principale e quindi faremo clic con il pulsante destro del mouse sull'isoletta galleggiante dove abbiamo il nostro livello per impostare il

105
00:08:12,270 --> 00:08:14,360
‫nostro puzzle, fare clic, vai qui.

106
00:08:14,880 --> 00:08:21,930
‫Poi in cima a quest'isola, voglio mettere giù il nostro nuovo progetto.

107
00:08:21,930 --> 00:08:28,050
‫Quindi annulliamo la ricerca, andiamo alla radice del contenuto e troviamo la nostra piattaforma rotante e inseriamola nel

108
00:08:28,050 --> 00:08:28,410
‫livello.

109
00:08:28,410 --> 00:08:31,050
‫E all'istante vedo che in realtà voglio che sia un po' più grande.

110
00:08:31,200 --> 00:08:33,630
‫Quindi andiamo avanti e ingrandiamolo.

111
00:08:33,630 --> 00:08:37,500
‫Qualche unità in più, forse tre volte dovrebbe andare bene.

112
00:08:37,500 --> 00:08:38,850
‫Andiamo a dare un'occhiata.

113
00:08:38,850 --> 00:08:44,940
‫Ora, penso che potrebbe essere ancora più grande, quindi aumenterò un po' di più in modo che essenzialmente in X

114
00:08:44,940 --> 00:08:48,630
‫e Y sia cinque volte più grande di quanto non fosse originariamente.

115
00:08:48,660 --> 00:08:54,330
‫Va bene, è un bel disco rotante ampio e potrebbe essere piuttosto difficile per noi da attraversare.

116
00:08:54,330 --> 00:09:02,190
‫Quindi li duplicherò usando alt e trascinerò per crearne alcuni sulla piattaforma e proverò

117
00:09:02,190 --> 00:09:07,860
‫a posizionarli in modo appropriato e poi alt trascinarne altri.

118
00:09:08,550 --> 00:09:14,320
‫In modo da avere qui una piccola serie di enigmi che possiamo provare a superare.

119
00:09:14,340 --> 00:09:18,570
‫Quindi li ho semplicemente mossi un po' finché non sono riuscito a farli praticamente da bordo a bordo.

120
00:09:18,570 --> 00:09:24,540
‫Ed è qui che essere in grado di avere una modalità di gioco aiuta davvero perché possiamo fare clic con il pulsante destro del mouse

121
00:09:24,540 --> 00:09:30,450
‫vicino alle piattaforme e fare clic su Riproduci da qui, e qui ci sono tutte le nostre piattaforme rotanti su cui possiamo calpestare.

122
00:09:30,450 --> 00:09:37,620
‫Ed è un po' una sfida ora per noi trovare la strada su queste piattaforme mobili in modo semplice e piacevole.

123
00:09:37,620 --> 00:09:41,370
‫Ora c'è questa zona morta nel mezzo che potremmo provare a

124
00:09:41,370 --> 00:09:47,190
‫cancellare, ma in realtà è abbastanza difficile rimanere nella zona morta, quindi non cercherò di inserire qualcosa di

125
00:09:47,190 --> 00:09:48,930
‫specifico per cercare di fermarlo.

126
00:09:49,350 --> 00:09:50,280
‫Ma puoi vedere che ci sei.

127
00:09:50,280 --> 00:09:55,080
‫È una sfida fattibile che possiamo affrontare, ma è un po' complicata ed è divertente.

128
00:09:55,080 --> 00:09:55,590
‫Roba fantastica.

129
00:09:55,590 --> 00:10:01,270
‫Quindi, in questa lezione, abbiamo visto come realizzare piattaforme rotanti imparando a conoscere un nuovo tipo, il

130
00:10:01,290 --> 00:10:05,940
‫rotatore F e come possiamo usarlo per impostare la rotazione dei nostri attori.

131
00:10:05,940 --> 00:10:07,530
‫Ci vediamo alla prossima lezione.

