‫Ciao e Benvenuto.
‫In questa lezione impareremo qualcosa chiamato l'oggetto del mondo, un oggetto molto importante
‫in Unreal.
‫Vedremo come possiamo arrivare all'ora corrente nel nostro gioco da questo oggetto e stamparlo sulla
‫console entro la fine di questa lezione.
‫Quindi tuffiamoci e vediamo come funziona.
‫Quindi, per essere in grado di tracciare linee o spazzare, dobbiamo comprendere un altro concetto, un altro
‫tipo di oggetto che esiste in una terra irreale, e quell'oggetto è il mondo.
‫Quindi abbiamo affrontato molto con i livelli.
‫Quindi, se andiamo alla nostra estrazione dei contenuti, ci siamo occupati anche delle mappe.
‫Quindi la mappa e il livello di cui abbiamo parlato come sinonimi.
‫Tuttavia, un mondo è una specie di quello all'inizio.
‫All'inizio era il nuovo mondo e il nuovo mondo è il tipo, è la classe fondamentalmente per
‫l'ambiente che vediamo quando giochiamo.
‫Ma non è necessariamente solo un livello.
‫Puoi caricare un livello che in C++ viene chiamato livello te, che è solo una raccolta degli attori che dovremmo
‫portare nel nuovo mondo.
‫Quindi puoi caricare un livello nel tuo nuovo mondo, ma non necessariamente solo un livello.
‫Puoi caricare più livelli in un unico mondo.
‫E questo perché spesso abbiamo questi livelli di streaming, abbiamo livelli molto grandi in cui non vogliamo
‫caricare tutto, ogni attore nel livello in una volta sola per motivi di performance.
‫Quindi lo abbiamo suddiviso in più livelli e questo ci permette di inserire solo parti della scena come
‫richiesto.
‫Quindi, se diamo un'occhiata alla pagina della documentazione su New World, penso che descriva in modo
‫piuttosto succinto che il mondo è l'oggetto di livello superiore che rappresenta una mappa o una sandbox in cui esisteranno e
‫saranno renderizzati attori e componenti.
‫E se guardi un po' più in basso, dice che il mondo può essere un
‫singolo livello persistente, fondamentalmente significando un livello che sarà costantemente lì o con potenzialmente un elenco opzionale di livelli di streaming e
‫livelli fondamentalmente dispari che possono essere caricati ogni volta che volere.
‫Ora, perché tutto questo è interessante?
‫È interessante perché ci consente di eseguire il tracciamento delle linee.
‫Se cerchiamo nella documentazione qui la traccia di linea, allora vedrai che ci sono un sacco
‫di funzionalità qui, in particolare quella che è più interessante per noi è la traccia di linea singola per canale o
‫la traccia di linea multi per canale, che essenzialmente ci consentono rispettivamente per ottenere il primo oggetto colpito o tutti gli
‫oggetti colpiti da una traccia di linea.
‫E puoi vedere che gli elenchi di argomenti, specialmente se guardo la traccia di riga
‫singola, l'elenco di argomenti ha l'inizio ha la fine, ha un canale di traccia per cui eseguire la traccia.
‫E in realtà ci dà un risultato nell'elenco dei parametri, il che è un po' strano e
‫lo tratteremo a breve.
‫Ma comunque, questa è la traccia della linea.
‫Abbiamo anche la possibilità di fare uno sweep.
‫Quindi, se cerchiamo lo sweep, puoi vedere che c'è uno sweep multi bicanale.
‫C'è anche uno sweep singolo per canale.
‫E qui, oltre all'inizio e alla fine, hai anche un tipo di forma di collisione f in cui puoi
‫passare.
‫Fondamentalmente se facciamo clic su quella collisione F, una forma che puoi seguire nella documentazione in tempo
‫reale, leggi di più a riguardo e puoi vedere che la forma di collisione sostanzialmente supporta l'essere una sfera,
‫una scatola di capsule o una linea.
‫Quindi useremo la sfera nel nostro caso in questo modo, e vedremo come costruirla in seguito.
‫Ma puoi capire perché vogliamo impadronirci di quel tuo mondo, perché è importante per noi.
‫Ma la domanda è: come possiamo entrare in possesso del nuovo mondo?
‫E una volta che lo abbiamo in mano, come lo usiamo?
‫Bene, andiamo a dare un'occhiata al codice di Visual Studio.
‫Su ogni componente e su ogni attore è presente una funzione chiamata Get World.
‫E se digiti get world e poi parentesi, questo restituisce un oggetto di tipo you world, in effetti un puntatore
‫a un oggetto di tipo U world.
‫Quindi conserviamolo.
‫Abbiamo un nuovo puntatore del mondo, che sarà lo chiameremo semplicemente il mondo, vero?
‫E questo è uguale per ottenere mondi.
‫E poi possiamo mettere un punto e virgola alla fine lì.
‫Ora, per ottenere effettivamente qualcosa da questo mondo, useremo l'operatore freccia.
‫Quindi faremo World Arrow e poi potremmo andare a dare un'occhiata ad alcuni dettagli di quel
‫mondo.
‫Ma prima di farlo, dobbiamo includere il suo file di intestazione perché altrimenti questo file C++, quando
‫il compilatore lo raggiunge, non saprà cosa è incluso all'interno di un file che digiterai.
‫Non ha alcuna informazione su un tuo mondo di sorta.
‫Quindi, per risolvere il problema, dobbiamo guardare la nostra documentazione per te, scorrerai verso l'alto e cercherai quel posto
‫dove si trova.
‫Dice include e questo ci dà l'inclusione che dobbiamo usare, puoi dire include motore di quotazione per questo.
‫Bene, questo è ciò di cui abbiamo bisogno, quindi lo metteremo solo dopo che avrò preso un punto su di lui.
‫E ora, se controlliamo lo spazio, dovremmo ottenere un elenco delle cose che possiamo fare con questo particolare
‫mondo.
‫E ce ne sono molti che abbiamo.
‫Ovviamente, possiamo trovare la nostra traccia di linea, possiamo trovare la nostra scansione per più o singoli siti, sfidarti a
‫stampare il time lapse.
‫Questa è una proprietà disponibile sull'oggetto nuovo mondo.
‫Troverai la proprietà time seconds letta a riguardo nella documentazione collegata a questa
‫lezione e la memorizzerai in una variabile del tipo appropriato.
‫Ancora una volta, guardando la documentazione ti dirà quale dovrebbe essere il tipo e quindi lo registrerà di
‫nuovo sulla console usando il formato appropriato.
‫Specifica un video in pausa e prova.
‫Bene.
‫Ben tornato.
‫Quindi faremo uso di questo e se cerco il tempo nella documentazione di you will,
‫puoi vedere che c'è un float chiamato time seconds.
‫È quello che voglio.
‫Questo caso è che questo è il momento del gioco.
‫Quindi, se rallenti il tempo di accelerazione, anche questo viene rallentato o accelerato.
‫Ma ci sono quelli in cui ciò non viene influenzato.
‫Ce ne sono diversi che hai lì.
‫Tempo, secondi, il tempo di riattivazione secondi.
‫Ci sono anche i secondi in tempo reale, che non vengono messi in pausa o modificati in alcun modo.
‫Quindi mi interessano i secondi di tempo.
‫Non importa quale usiamo perché sono comunque tutti float.
‫Quindi creerò un float chiamato Time e memorizzerò il World Arrow Time.
‫In pochi secondi ora, in breve, non abbiamo effettivamente bisogno di mettere il mondo nella sua stessa variabile.
‫È abbastanza breve da chiamarlo semplicemente get world.
‫Quindi è quello che facciamo di solito.
‫Otterrà il mondo e poi i secondi del tempo della freccia.
‫Quindi ora possiamo fare un registro che diremo che è l'ora corrente e quindi faremo una percentuale F perché stiamo stampando un
‫numero in virgola mobile qui e quindi possiamo dargli l'ora come input nel
‫registro.
‫Ora andiamo a controllare alt f 11 per attivare il codice e quindi apriremo e agganciamo il registro di output.
‫E premi play.
‫E lì puoi vedere che abbiamo un tempo corrente che conta in secondi mentre il tempo trascorre in un
‫gioco del genere.
‫E se premiamo effettivamente il pulsante di pausa, noti che il tempo smette di scorrere e se premiamo
‫play, riprende semplicemente da dove eravamo.
‫Lui vuole.
‫Puoi sperimentare usando i secondi in tempo reale e vedere se si verifica quell'effetto.
‫Ma non ho intenzione di qui.
‫Abbiamo dimostrato che possiamo entrare in possesso di questo nuovo mondo oggetti, questo mondo oggetti in cui ci
‫troviamo attualmente e che possiamo ottenere proprietà da esso usando il nostro operatore freccia.
‫Datti una pacca sulla spalla e ci vediamo alla prossima lezione.