‫Ciao e Benvenuto.
‫In questa lezione, creeremo alcune linee di tracciamento impostate in modo da poter sparare ai muri e
‫vedere apparire questi punti di debug.
‫E lo faremo usando una nuova traccia di linea di funzione per canale.
‫Vedremo perché stiamo usando quella linea tracciata per tipo di oggetto, che è quella che abbiamo usato prima.
‫Entriamo e vediamo come è fatto.
‫Quindi nella nostra fuga dall'edificio, abbiamo usato le tracce di linea e abbiamo usato questa funzione qui, la traccia di linea
‫per tipo di oggetto.
‫Ed è questo che vogliamo usare?
‫Bene, qual è la differenza tra la traccia di linea per tipo di oggetto e il suo fratello molto stretto, che
‫è una traccia di linea per canale.
‫Bene, il tipo di oggetto dice, voglio cercare in questa riga e vedere se trovo un oggetto che corrisponda a questo
‫tipo.
‫Quindi, credo che ciò che abbiamo usato nella costruzione della fuga fosse qualcosa di simile al tipo di oggetto del corpo della fisica ed è
‫fantastico, colpirà i corpi della fisica.
‫Ma se all'improvviso decidi di voler colpire qualcos'altro, non lascia molto spazio alle
‫opzioni.
‫Quindi il canale è migliore perché ci consente di definire i nostri canali personalizzati e quindi
‫definire quali tipi di oggetti sono trasparenti per quel canale e quali lo bloccano.
‫Quindi è fantastico perché quello che vogliamo essere in grado di fare è dire, va bene, forse una cosa tipo Bush è
‫non può bloccare un proiettile, mentre un muro bloccherà un proiettile, ma non subirà alcun danno se non quello possiamo
‫occuparci in seguito.
‫Quindi canalizza tutto il percorso che stiamo per percorrere e possiamo trovare il metodo corretto qui facendo il controllo.
‫P E tra l'altro, c'è questa piccola parte interessante che ho appreso solo di recente è
‫che se usi il simbolo dell'atto, puoi cercare i simboli all'interno di questo file e o anche di altri file.
‫Ma se hai il file aperto, è molto più veloce.
‫Quindi potresti fare qualcosa come traccia linea e puoi vedere che ci sta dando l'elenco di tutti i simboli
‫che sono funzioni o classi o variabili, e possiamo trovare quella linea, traccia, linea di test, traccia, singolo per canale
‫per tipo di oggetto.
‫Vogliamo che questa prima traccia di una linea, un singolo canale BI, che avrà un parametro out per
‫ciò che colpiamo, i punti di partenza, i punti finali, il canale di traccia di collisione arriverà a quello
‫tra un po' e poi qualche query parametri che hanno alcuni valori predefiniti, quindi in realtà non
‫dobbiamo preoccuparci.
‫Quindi solo quelle prime cose, il successo Start e Trace Channel, di cosa vogliamo preoccuparci.
‫Impostiamo un canale di traccia.
‫Andremo alle impostazioni e alle impostazioni del progetto per questo.
‫E poi cerchiamo sotto il motore per l'area delle collisioni.
‫E qui sotto puoi vedere che abbiamo canali oggetto e canali traccia.
‫I canali degli oggetti sono in realtà solo un altro modo per dire diversi tipi di oggetti.
‫Quindi, se si desidera avere oltre ai set predefiniti di oggetti come pedine e cose del genere, se si
‫desidera una nuova categoria di oggetti, è possibile seguire il percorso del canale degli oggetti.
‫Ma le tracce ti permettono di definire l'estremità opposta dello spettro, che è come, sai,
‫ho un proiettile, quali oggetti può colpire?
‫Quindi seguiremo questa strada, aggiungeremo un nuovo canale di traccia e chiameremo questo punto.
‫E la risposta predefinita sarà.
‫BLOCCO Che sostanzialmente significa che tutti i tipi di oggetti lo faranno.
‫BLOCCO A meno che ora non specifichiamo diversamente, possiamo andare avanti e accettare questo e possiamo guardare i nostri preset qui
‫sotto.
‫E se lo espandessimo, i preset ti mostreranno che abbiamo un sacco di cose diverse a cui possiamo
‫applicare, cose che possiamo dire, vogliamo che questo sia un attore fisico, nel qual caso è il tipo
‫di oggetto, che sarà quello che è un canale di oggetti predefinito sarà il corpo della fisica.
‫Ma se lo espandiamo, puoi vedere qual è la sua reazione ai diversi tipi di tracce qui.
‫Quindi abbiamo i nostri tipi di traccia della telecamera, i nostri proiettili, la visibilità, li blocca tutti e poi ha i
‫tipi di oggetti.
‫Quindi è così che interagisce dal punto di vista fisico con altri oggetti come pedine e veicoli, ecc. Non è così che interagisce con la
‫traccia di linea per oggetto.
‫Questo è leggermente confuso e mi ha confuso prima.
‫Quindi il tipo di traccia è ciò che è interessante e possiamo semplicemente dare un'occhiata qui e vedere che nessuna collisione dovrebbe essere
‫impostata per non entrare in collisione.
‫Quindi facciamo in modo che i nostri proiettili non si scontrino anche con quello.
‫Quindi, semplicemente sovrascrivendo alcuni dei preset in modo tale che il nostro punto elenco funzioni come ci si aspetterebbe, sovrapponi tutto,
‫ad esempio, dovrebbe sostanzialmente sovrapporsi al punto elenco.
‫E probabilmente anche il muro invisibile e la dinamica del muro invisibile dovrebbero essere ignorati ai fini del nostro punto
‫elenco.
‫Lo stesso con la dinamica qui.
‫Puoi vedere che fondamentalmente stiamo finendo con qualcosa che è abbastanza simile a una traccia visibile.
‫Ma il motivo per tenerlo separato è che potremmo voler fare lievi distinzioni, come puoi vedere,
‫non puoi vedere attraverso questo cespuglio, ma puoi spararci attraverso.
‫Questo genere di cose significa che avere il nostro canale di tracciamento è davvero molto utile.
‫Ora vorremmo essere in grado di utilizzare questo canale di traccia nel codice, ed è un po' strano come
‫dobbiamo farlo perché qui c'è un enum, un canale di collisione E, e se andiamo F12 alla sua definizione, puoi vedere ce n'è
‫un sacco per quelli predefiniti, mondo statico -- visibilità, ecc. quaggiù, ma poi ci sono un sacco di altri
‫canali di traccia del motore uno, due e il canale di traccia del gioco uno, due, tre,
‫ecc. predefinito.
‫Quale dei nostri è questo?
‫Sai, è che non abbiamo un proiettile qui.
‫In realtà dobbiamo utilizzare uno di questi canali di traccia del gioco.
‫Quindi è davvero un po' confuso.
‫Qual é?
‫Quindi il modo in cui lo fai è andare nella cartella del tuo progetto e andare in config.
‫E quello che vogliamo è l'ini del motore predefinito e vogliamo aprirlo in un testo che è.
‫Quindi potresti farlo in qualsiasi testo che ti piace.
‫Mi piace trascinarlo nel codice di Visual Studio.
‫In modo che il codice di Visual Studio sia quello che lo apre.
‫E qui vogliamo essenzialmente cercare il nostro proiettile e vedere a cosa è stato assegnato.
‫E penso che questa prima riga qui ci dica che il canale che gli è stato dato è quello del gioco Trace
‫Channel.
‫Fantastico.
‫Quindi è quello che useremo quando faremo la nostra traccia di linea.
‫Quindi iniziamo a mettere a posto la struttura di questa traccia di linea.
‫La prima cosa di cui avremo bisogno è un punto di partenza.
‫Lo abbiamo già.
‫Quella è la posizione del nostro viewport.
‫Avremo anche bisogno di un punto finale per la nostra traccia di linea che è leggermente più difficile da calcolare.
‫Quindi creiamo un vettore F per la nostra estremità, e lo calcoleremo usando il nostro punto di stop,
‫più la rotazione moltiplicata per l'importo, la distanza che vogliamo allontanare e non la rotazione, ma il vettore che
‫punta nel senso di rotazione.
‫Leggermente confuso, ma in realtà se esegui il vettore punto di rotazione, questo ti dà un vettore che punta
‫nella direzione di questa rotazione.
‫È un po' fare l'opposto di quello che stavamo facendo nel progetto di animazione per ottenere una rotazione dal
‫vettore.
‫Questo va dall'altra parte.
‫Quindi faremo la posizione più questo vettore di rotazione, quindi vogliamo essenzialmente un raggio massimo.
‫Quindi introdurrò una nuova proprietà qui, apporterò una modifica ovunque e sarà un float chiamato
‫Max Range in questo modo.
‫E possiamo impostarlo su un valore predefinito di qualcosa come 10.000 o mille intervalli massimi.
‫Saranno circa 100 metri, scusa, una decina di metri.
‫E andremo oltre per fare un vettore di punti di rotazione moltiplicato per l'intervallo massimo.
‫Quindi questo sarà il vettore che otteniamo da quella rotazione sarà una dimensione uno.
‫Moltiplicandolo per l'intervallo massimo lo renderà un vettore di dimensioni, qualunque sia l'intervallo massimo.
‫E poi lo aggiungiamo sopra la posizione per portarci il punto finale.
‫Non preoccuparti se non segui la matematica al 100%.
‫La cosa importante è che questo è il modo in cui vogliamo arrivare al nostro punto finale.
‫Quindi eseguirà la riga qui per aggiungere un po 'di tracciamento della linea e rimuoverò questa telecamera di
‫debug del disegno perché voglio fare un diverso aiuto per il debug del disegno qui.
‫Voglio disegnare un punto di debug che puoi trovare qui, prende il mondo, prende una posizione, una dimensione
‫e un colore.
‫E che sia persistente o meno, probabilmente vogliamo che sia persistente, che sia visibile.
‫Quindi dovremmo essere in grado di fare qualcosa in questo senso, diciamo disegnare punti di debug e faremo
‫un mondo di get subito qui, e quindi inizieremo invece con la posizione del nostro viewport, proprio
‫come un test per vedere come funziona questo punto di debug del disegno, assegnagli una dimensione per
‫dargli un colore f di rosso e renderlo persistente.
‫E poi andremo a capitalizzare per il punto e virgola e vedremo se funziona.
‫Premiamo compila nel motore e premiamo play.
‫Quindi ora sparo e mi sposto leggermente indietro.
‫Puoi vedere che c'è un punto lì.
‫Tuttavia, è davvero, davvero minuscolo e difficile da vedere.
‫Quindi aumenteranno questo valore a 20 invece.
‫Vediamo se è meglio.
‫Compila e gioca.
‫Sì.
‫Abbastanza sicuro, ora posso vedere un punto molto, molto chiaro.
‫Quindi è ora che la tua sfida faccia una traccia di linea per canale.
‫L'abbiamo già fatto con i tipi di oggetto, quindi speriamo di poterlo estrapolare per farlo per canale.
‫Quindi usa la posizione e la fine che abbiamo già definito come inizio e fine.
‫Controlla il successo del risultato facendo un'istruzione if in modo da ottenere solo il parametro out okay nel parametro
‫out del risultato hit e solo disegnando un punto di debug.
‫Se raggiungiamo con successo il punto e ricordiamo che stiamo usando quel canale che abbiamo trovato nel punto,
‫anche qualsiasi file.
‫Quindi metti in pausa il video e vedi se riesci a risolvere tutti quei parametri e argomenti nella
‫traccia di linea e ottenere quel punto di debug che disegna dove abbiamo colpito con la nostra traccia di linea.
‫Ora in questa fase non stiamo facendo nulla di intelligente, come ignorare l'attore giocatore.
‫Quindi la tua traccia di linea potrebbe finire per colpire il giocatore e va bene per questa sfida.
‫Metti in pausa il video.
‫Provaci.
‫Bene.
‫Ben tornato.
‫Quindi tuffiamoci dentro.
‫Otterremo il mondo, prima di tutto, e una freccia a quello.
‫Andremo a fare una traccia di linea singolo per canale.
‫Allora avremo bisogno di un risultato positivo.
‫Quindi, in parametri, dobbiamo prima dichiarare la nostra struttura dei risultati di successo per passarla come parametro dell'app.
‫Lo chiamerà hit e lo passeranno come primo argomento qui.
‫Allora abbiamo bisogno della posizione.
‫E abbiamo bisogno della fine.
‫E poi cosa?
‫Cosa succede dopo?
‫La collisione.
‫Un canale di collisione.
‫Quindi sarà un canale di collisione E.
‫Colon.
‫E poi dovrebbe essere ec, cosa abbiamo detto?
‫Andiamo a dare un'occhiata al motore predefinito.
‫Qualsiasi canale di traccia del gioco CC uno è quello che l'impostazione predefinita any ha configurato per chiedere.
‫Ci sono altri argomenti qui di cui abbiamo bisogno?
‫Andiamo avanti.
‫Abbiamo i parametri di collisione che sono predefiniti.
‫Quindi no, non abbiamo bisogno di niente qui dentro.
‫E poi quello che possiamo fare è che abbiamo bisogno di un risultato booleano per questo.
‫Quindi B successo.
‫E suona molto utile, non è vero?
‫Sii successo.
‫Diciamo An se B successo.
‫Vorremo disegnare quel punto di debug.
‫Quindi sposteremo questo verso il basso.
‫Posso farlo con Alt e quindi la freccia sposta la linea in questo modo, quindi posso
‫farla rientrare con un controllo e le parentesi quadre giuste sulla tastiera e questo fa sembrare così.
‫E ora invece della posizione, che è il punto di partenza, vogliamo effettivamente la posizione di successo.
‫Quindi sarà la posizione del punto in questo modo.
‫E sembra che mi manchi un punto e virgola alla fine di questa riga qui.
‫Costruiamolo e proviamolo.
‫Una volta compilato questo gioco di successo, vai nel mondo e prova a sparare contro i nostri muri.
‫Ecco qua.
‫Puoi vedere che abbiamo un punto sul muro proprio dove ho sparato.
‫Posso farlo più volte.
‫Sembra colpire se vado troppo lontano da un muro, non colpisce affatto a causa della nostra portata massima piuttosto
‫breve.
‫E puoi vedere una volta che entro nell'intervallo massimo, colpisce e disegna un punto.
‫Quindi questa è una sfida completata con successo.
‫Ora siamo in grado di mostrare e tracciare una linea fino a un punto particolare.
‫Il prossimo passo sarà fare in modo che mostri effettivamente alcuni effetti particellari, il che sarà molto più interessante del
‫semplice disegno di un punto di debug per quello.
‫Ci vediamo alla prossima lezione.