﻿1
00:00:04,460 --> 00:00:05,320
‫Ciao e Benvenuto.

2
00:00:05,330 --> 00:00:09,770
‫In questa lezione impareremo qualcosa chiamato l'oggetto del mondo, un oggetto molto importante

3
00:00:09,770 --> 00:00:10,640
‫in Unreal.

4
00:00:10,850 --> 00:00:15,950
‫Vedremo come possiamo arrivare all'ora corrente nel nostro gioco da questo oggetto e stamparlo sulla

5
00:00:15,950 --> 00:00:18,350
‫console entro la fine di questa lezione.

6
00:00:18,620 --> 00:00:20,420
‫Quindi tuffiamoci e vediamo come funziona.

7
00:00:21,350 --> 00:00:28,190
‫Quindi, per essere in grado di tracciare linee o spazzare, dobbiamo comprendere un altro concetto, un altro

8
00:00:28,190 --> 00:00:34,280
‫tipo di oggetto che esiste in una terra irreale, e quell'oggetto è il mondo.

9
00:00:34,670 --> 00:00:37,610
‫Quindi abbiamo affrontato molto con i livelli.

10
00:00:37,610 --> 00:00:41,330
‫Quindi, se andiamo alla nostra estrazione dei contenuti, ci siamo occupati anche delle mappe.

11
00:00:41,690 --> 00:00:46,520
‫Quindi la mappa e il livello di cui abbiamo parlato come sinonimi.

12
00:00:46,850 --> 00:00:50,840
‫Tuttavia, un mondo è una specie di quello all'inizio.

13
00:00:51,110 --> 00:00:59,060
‫All'inizio era il nuovo mondo e il nuovo mondo è il tipo, è la classe fondamentalmente per

14
00:00:59,060 --> 00:01:01,730
‫l'ambiente che vediamo quando giochiamo.

15
00:01:02,360 --> 00:01:05,300
‫Ma non è necessariamente solo un livello.

16
00:01:05,300 --> 00:01:12,800
‫Puoi caricare un livello che in C++ viene chiamato livello te, che è solo una raccolta degli attori che dovremmo

17
00:01:12,800 --> 00:01:14,720
‫portare nel nuovo mondo.

18
00:01:14,720 --> 00:01:19,700
‫Quindi puoi caricare un livello nel tuo nuovo mondo, ma non necessariamente solo un livello.

19
00:01:19,700 --> 00:01:23,270
‫Puoi caricare più livelli in un unico mondo.

20
00:01:23,600 --> 00:01:28,220
‫E questo perché spesso abbiamo questi livelli di streaming, abbiamo livelli molto grandi in cui non vogliamo

21
00:01:28,220 --> 00:01:32,300
‫caricare tutto, ogni attore nel livello in una volta sola per motivi di performance.

22
00:01:32,600 --> 00:01:38,870
‫Quindi lo abbiamo suddiviso in più livelli e questo ci permette di inserire solo parti della scena come

23
00:01:38,870 --> 00:01:39,560
‫richiesto.

24
00:01:39,950 --> 00:01:44,720
‫Quindi, se diamo un'occhiata alla pagina della documentazione su New World, penso che descriva in modo

25
00:01:44,720 --> 00:01:50,960
‫piuttosto succinto che il mondo è l'oggetto di livello superiore che rappresenta una mappa o una sandbox in cui esisteranno e

26
00:01:50,960 --> 00:01:52,580
‫saranno renderizzati attori e componenti.

27
00:01:52,850 --> 00:01:57,230
‫E se guardi un po' più in basso, dice che il mondo può essere un

28
00:01:57,560 --> 00:02:03,830
‫singolo livello persistente, fondamentalmente significando un livello che sarà costantemente lì o con potenzialmente un elenco opzionale di livelli di streaming e

29
00:02:03,830 --> 00:02:07,460
‫livelli fondamentalmente dispari che possono essere caricati ogni volta che volere.

30
00:02:08,270 --> 00:02:10,550
‫Ora, perché tutto questo è interessante?

31
00:02:11,000 --> 00:02:14,540
‫È interessante perché ci consente di eseguire il tracciamento delle linee.

32
00:02:14,540 --> 00:02:20,540
‫Se cerchiamo nella documentazione qui la traccia di linea, allora vedrai che ci sono un sacco

33
00:02:20,570 --> 00:02:28,280
‫di funzionalità qui, in particolare quella che è più interessante per noi è la traccia di linea singola per canale o

34
00:02:28,280 --> 00:02:35,960
‫la traccia di linea multi per canale, che essenzialmente ci consentono rispettivamente per ottenere il primo oggetto colpito o tutti gli

35
00:02:35,960 --> 00:02:38,930
‫oggetti colpiti da una traccia di linea.

36
00:02:39,410 --> 00:02:45,260
‫E puoi vedere che gli elenchi di argomenti, specialmente se guardo la traccia di riga

37
00:02:45,260 --> 00:02:52,220
‫singola, l'elenco di argomenti ha l'inizio ha la fine, ha un canale di traccia per cui eseguire la traccia.

38
00:02:52,640 --> 00:02:58,040
‫E in realtà ci dà un risultato nell'elenco dei parametri, il che è un po' strano e

39
00:02:58,040 --> 00:02:59,360
‫lo tratteremo a breve.

40
00:03:00,020 --> 00:03:01,940
‫Ma comunque, questa è la traccia della linea.

41
00:03:01,940 --> 00:03:05,420
‫Abbiamo anche la possibilità di fare uno sweep.

42
00:03:05,540 --> 00:03:09,740
‫Quindi, se cerchiamo lo sweep, puoi vedere che c'è uno sweep multi bicanale.

43
00:03:09,980 --> 00:03:12,380
‫C'è anche uno sweep singolo per canale.

44
00:03:12,710 --> 00:03:20,120
‫E qui, oltre all'inizio e alla fine, hai anche un tipo di forma di collisione f in cui puoi

45
00:03:20,120 --> 00:03:20,630
‫passare.

46
00:03:20,630 --> 00:03:26,840
‫Fondamentalmente se facciamo clic su quella collisione F, una forma che puoi seguire nella documentazione in tempo

47
00:03:26,840 --> 00:03:33,560
‫reale, leggi di più a riguardo e puoi vedere che la forma di collisione sostanzialmente supporta l'essere una sfera,

48
00:03:33,620 --> 00:03:36,230
‫una scatola di capsule o una linea.

49
00:03:36,530 --> 00:03:43,550
‫Quindi useremo la sfera nel nostro caso in questo modo, e vedremo come costruirla in seguito.

50
00:03:44,030 --> 00:03:48,500
‫Ma puoi capire perché vogliamo impadronirci di quel tuo mondo, perché è importante per noi.

51
00:03:48,500 --> 00:03:52,520
‫Ma la domanda è: come possiamo entrare in possesso del nuovo mondo?

52
00:03:52,520 --> 00:03:55,190
‫E una volta che lo abbiamo in mano, come lo usiamo?

53
00:03:55,940 --> 00:03:59,090
‫Bene, andiamo a dare un'occhiata al codice di Visual Studio.

54
00:03:59,990 --> 00:04:06,410
‫Su ogni componente e su ogni attore è presente una funzione chiamata Get World.

55
00:04:07,010 --> 00:04:13,310
‫E se digiti get world e poi parentesi, questo restituisce un oggetto di tipo you world, in effetti un puntatore

56
00:04:13,310 --> 00:04:15,950
‫a un oggetto di tipo U world.

57
00:04:16,100 --> 00:04:17,030
‫Quindi conserviamolo.

58
00:04:17,030 --> 00:04:23,450
‫Abbiamo un nuovo puntatore del mondo, che sarà lo chiameremo semplicemente il mondo, vero?

59
00:04:23,990 --> 00:04:25,670
‫E questo è uguale per ottenere mondi.

60
00:04:25,670 --> 00:04:28,310
‫E poi possiamo mettere un punto e virgola alla fine lì.

61
00:04:28,610 --> 00:04:34,490
‫Ora, per ottenere effettivamente qualcosa da questo mondo, useremo l'operatore freccia.

62
00:04:34,550 --> 00:04:40,280
‫Quindi faremo World Arrow e poi potremmo andare a dare un'occhiata ad alcuni dettagli di quel

63
00:04:40,280 --> 00:04:41,000
‫mondo.

64
00:04:41,450 --> 00:04:47,270
‫Ma prima di farlo, dobbiamo includere il suo file di intestazione perché altrimenti questo file C++, quando

65
00:04:47,270 --> 00:04:52,550
‫il compilatore lo raggiunge, non saprà cosa è incluso all'interno di un file che digiterai.

66
00:04:52,550 --> 00:04:55,490
‫Non ha alcuna informazione su un tuo mondo di sorta.

67
00:04:55,970 --> 00:05:02,120
‫Quindi, per risolvere il problema, dobbiamo guardare la nostra documentazione per te, scorrerai verso l'alto e cercherai quel posto

68
00:05:02,120 --> 00:05:03,410
‫dove si trova.

69
00:05:03,540 --> 00:05:10,170
‫Dice include e questo ci dà l'inclusione che dobbiamo usare, puoi dire include motore di quotazione per questo.

70
00:05:10,490 --> 00:05:15,030
‫Bene, questo è ciò di cui abbiamo bisogno, quindi lo metteremo solo dopo che avrò preso un punto su di lui.

71
00:05:15,990 --> 00:05:22,950
‫E ora, se controlliamo lo spazio, dovremmo ottenere un elenco delle cose che possiamo fare con questo particolare

72
00:05:22,950 --> 00:05:23,400
‫mondo.

73
00:05:23,820 --> 00:05:26,340
‫E ce ne sono molti che abbiamo.

74
00:05:26,340 --> 00:05:35,580
‫Ovviamente, possiamo trovare la nostra traccia di linea, possiamo trovare la nostra scansione per più o singoli siti, sfidarti a

75
00:05:35,580 --> 00:05:38,010
‫stampare il time lapse.

76
00:05:38,010 --> 00:05:41,730
‫Questa è una proprietà disponibile sull'oggetto nuovo mondo.

77
00:05:42,180 --> 00:05:48,030
‫Troverai la proprietà time seconds letta a riguardo nella documentazione collegata a questa

78
00:05:48,030 --> 00:05:52,980
‫lezione e la memorizzerai in una variabile del tipo appropriato.

79
00:05:52,980 --> 00:05:58,890
‫Ancora una volta, guardando la documentazione ti dirà quale dovrebbe essere il tipo e quindi lo registrerà di

80
00:05:58,890 --> 00:06:01,200
‫nuovo sulla console usando il formato appropriato.

81
00:06:01,200 --> 00:06:03,660
‫Specifica un video in pausa e prova.

82
00:06:07,290 --> 00:06:07,620
‫Bene.

83
00:06:07,620 --> 00:06:08,280
‫Ben tornato.

84
00:06:08,290 --> 00:06:13,860
‫Quindi faremo uso di questo e se cerco il tempo nella documentazione di you will,

85
00:06:13,860 --> 00:06:17,760
‫puoi vedere che c'è un float chiamato time seconds.

86
00:06:17,760 --> 00:06:19,140
‫È quello che voglio.

87
00:06:19,440 --> 00:06:21,300
‫Questo caso è che questo è il momento del gioco.

88
00:06:21,300 --> 00:06:25,920
‫Quindi, se rallenti il tempo di accelerazione, anche questo viene rallentato o accelerato.

89
00:06:26,040 --> 00:06:29,010
‫Ma ci sono quelli in cui ciò non viene influenzato.

90
00:06:29,580 --> 00:06:31,020
‫Ce ne sono diversi che hai lì.

91
00:06:31,020 --> 00:06:33,540
‫Tempo, secondi, il tempo di riattivazione secondi.

92
00:06:33,540 --> 00:06:38,490
‫Ci sono anche i secondi in tempo reale, che non vengono messi in pausa o modificati in alcun modo.

93
00:06:39,030 --> 00:06:40,560
‫Quindi mi interessano i secondi di tempo.

94
00:06:40,560 --> 00:06:43,650
‫Non importa quale usiamo perché sono comunque tutti float.

95
00:06:43,650 --> 00:06:48,330
‫Quindi creerò un float chiamato Time e memorizzerò il World Arrow Time.

96
00:06:48,330 --> 00:06:53,700
‫In pochi secondi ora, in breve, non abbiamo effettivamente bisogno di mettere il mondo nella sua stessa variabile.

97
00:06:53,940 --> 00:06:56,730
‫È abbastanza breve da chiamarlo semplicemente get world.

98
00:06:56,730 --> 00:06:57,900
‫Quindi è quello che facciamo di solito.

99
00:06:57,900 --> 00:07:01,530
‫Otterrà il mondo e poi i secondi del tempo della freccia.

100
00:07:01,530 --> 00:07:12,330
‫Quindi ora possiamo fare un registro che diremo che è l'ora corrente e quindi faremo una percentuale F perché stiamo stampando un

101
00:07:12,330 --> 00:07:18,810
‫numero in virgola mobile qui e quindi possiamo dargli l'ora come input nel

102
00:07:18,810 --> 00:07:19,560
‫registro.

103
00:07:19,890 --> 00:07:28,110
‫Ora andiamo a controllare alt f 11 per attivare il codice e quindi apriremo e agganciamo il registro di output.

104
00:07:29,790 --> 00:07:31,320
‫E premi play.

105
00:07:32,760 --> 00:07:39,510
‫E lì puoi vedere che abbiamo un tempo corrente che conta in secondi mentre il tempo trascorre in un

106
00:07:39,510 --> 00:07:40,800
‫gioco del genere.

107
00:07:40,800 --> 00:07:47,070
‫E se premiamo effettivamente il pulsante di pausa, noti che il tempo smette di scorrere e se premiamo

108
00:07:47,400 --> 00:07:49,980
‫play, riprende semplicemente da dove eravamo.

109
00:07:50,550 --> 00:07:51,090
‫Lui vuole.

110
00:07:51,090 --> 00:07:55,860
‫Puoi sperimentare usando i secondi in tempo reale e vedere se si verifica quell'effetto.

111
00:07:56,340 --> 00:07:57,630
‫Ma non ho intenzione di qui.

112
00:07:57,630 --> 00:08:03,540
‫Abbiamo dimostrato che possiamo entrare in possesso di questo nuovo mondo oggetti, questo mondo oggetti in cui ci

113
00:08:03,540 --> 00:08:08,640
‫troviamo attualmente e che possiamo ottenere proprietà da esso usando il nostro operatore freccia.

114
00:08:08,790 --> 00:08:11,340
‫Datti una pacca sulla spalla e ci vediamo alla prossima lezione.

