‫Ciao e Benvenuto.
‫In questa lezione, prenderemo l'aria di seguirci e navigare nel mondo, evitando gli ostacoli e solo
‫in generale essendo un po' un fastidioso fastidio.
‫Immergiamoci e vediamo come questo è possibile.
‫Quindi il prossimo pezzo più ovvio e ovvio del puzzle che dobbiamo risolvere qui è convincere il nostro esercito
‫a muoversi verso di noi.
‫Non va bene che stiano lì.
‫Hanno anche bisogno di muoversi e poi dovranno sparare.
‫Prima di tutto, scopriamo come possiamo fare movimento.
‫Ora, quando ti muovi con Ally, ho bisogno di sapere degli ostacoli.
‫Ha bisogno di fare qualcosa chiamato pathfinding.
‫Perché, diciamo, mi sto nascondendo in questo corridoio qui e vuole raggiungermi.
‫Deve sapere che non può semplicemente attraversare il muro.
‫Avrà bisogno di pianificare i suoi percorsi per aggirare gli ostacoli e venire verso di me.
‫Ora, il modo in cui funziona tipicamente nei giochi in generale e in particolare qui in Unreal è che
‫generiamo una mesh che ci dice dove è percorribile all'interno di un livello e quindi utilizziamo vari algoritmi, uno dei quali
‫è chiamato star pathfinding.
‫Puoi navigare su questa mesh e creare un piano di percorso, quindi l'alleato utilizza questo piano di percorso per spostarsi.
‫Quindi questo è il tipo di schema del processo.
‫Fortunatamente, molto di questo è stato fatto per noi.
‫Non dobbiamo codificarlo da zero.
‫Quindi quello che dobbiamo fare è, prima di tutto, essere in grado di vedere la mesh NAF e al momento non possiamo
‫vedere parzialmente una mesh NAF perché non ce n'è una.
‫Quindi quello che dobbiamo fare è guardare nella finestra degli attori posizionati qui.
‫Immagina anche una finestra e cerca gli attori posizionati.
‫Dobbiamo cercare una mesh di navigazione e stiamo cercando i limiti di volume della mesh NAF.
‫Ora questo crea un volume, una specie di casella, e tutto all'interno di quella casella verrà verificato per
‫quanto sia navigabile.
‫Fondamentalmente, che sia pianeggiante, che non sia troppo ripido, in pratica che ci sia un muro, non puoi passare attraverso
‫i muri, non puoi camminare sopra i muri perché sono troppo ripidi.
‫Quindi, se stiamo trascinando un volume di rimbalzo della mesh NAF e lo portiamo qui
‫e lo mettiamo leggermente attraverso il pavimento in modo che questo permetta al pavimento di far parte di quel calcolo di navigazione.
‫Quindi quello che dobbiamo fare è abilitare la visibilità delle mesh NAF.
‫Puoi farlo facendo clic sul pulsante mostra in alto a sinistra nella finestra e quindi facendo
‫clic su navigazione o utilizzando il collegamento.
‫P Quindi userò la scorciatoia.
‫P E selezionando o non devi nemmeno selezionare il volume di rimbalzo.
‫Puoi vedere immediatamente che la mesh dello schermo è apparsa entro i limiti del volume, il che ci dice che
‫si tratta di un'area percorribile.
‫Quindi, se avessimo il nostro nemico all'interno di quest'area e anche il suo obiettivo fosse all'interno dell'area, allora potrebbe trovare
‫il percorso lungo questa rete.
‫Ora diamo un'occhiata a cosa succede se lo spostiamo dove c'è un ostacolo.
‫Puoi vedere che il tipo di maglia si ritaglia attorno a questo ostacolo.
‫Quindi quello che in realtà vogliamo fare è fare in modo che questo volume comprenda l'intero nostro livello e potresti scegliere di non
‫farlo o semplicemente farlo in determinati segmenti, ma il modo più semplice è semplicemente aumentare i limiti di questo volume,
‫cosa che puoi fare.
‫Se vai al riquadro dei dettagli a destra, ci sono le impostazioni del pennello.
‫Puoi cambiare la dimensione del pennello in modo da poter vedere che possiamo ingrandirlo, possiamo
‫allargarlo e diventa rosso quando viene ricalcolato.
‫Puoi vedere che sta costruendo la mesh NAF e più grande sarà, più difficile sarà costruire
‫la mesh NAF, più tempo ci vorrà.
‫Ma puoi vedere che funziona.
‫Sta tagliando i corridoi, sta tagliando gli ostacoli che non possiamo aggirare.
‫La seconda parte di questo puzzle è avere una A. IO. in grado di eseguire i suoi algoritmi di rooting su questa mesh.
‫Ora, andiamo avanti e apriamo lo shooter BP, il controller aereo, perché voglio mostrarvi qualcosa che
‫è qui dentro.
‫Ho intenzione di aprire l'editor completo del progetto qui e dare un'occhiata qui.
‫C'è un componente chiamato il componente che segue il percorso.
‫Quel componente è responsabile della ricerca di una mesh RF e quindi sostanzialmente ci consente di creare
‫percorsi, seguirli e spostarci lungo di essi automaticamente.
‫Quindi non dobbiamo integrare nessuna di queste funzionalità.
‫Tutto ciò che dobbiamo fare è utilizzare una funzione disponibile sul nostro controller dell'aria.
‫Se vai a cercare il punto H del controller dell'aria e cerchi la mossa per funzionare, allora passiamo
‫a con parentesi aperte.
‫Poi ci sono un paio di opzioni qui.
‫Ne abbiamo uno che richiede una mossa.
‫Ci sono anche altre opzioni qui, ma dovrebbero avere un nome diverso.
‫Ora, nelle versioni successive su rotaia, ci spostiamo sull'attore e ci spostiamo sulla location, che hanno
‫la stessa distinzione del nostro focus sull'ambientazione.
‫Puoi mettere a fuoco qualcosa che si muove come un attore, oppure puoi mettere a fuoco una
‫destinazione specifica come un waypoint nel tuo percorso di pattuglia, ad esempio, potrebbe essere uno spostamento in una posizione.
‫Quindi mi piacerebbe che tu provassi a tentare una mossa mentre vieni sfidato.
‫Quindi prendi una mesh NAF nella tua scena, falla coprire tutta la scena di cui hai bisogno per poterti
‫muovere e avere il.
‫Ti seguo in tutte le località e poi chiamo quella mossa per muoverti per agire o spostarmi nella posizione.
‫Decidi tu in quale inizio di gioco prendere la A. IO. inseguendoci.
‫Quindi metti in pausa il video e prova.
‫Bene.
‫Ben tornato.
‫Diamo una possibilità.
‫Quindi prima le cose.
‫Avremo che userò un passaggio all'attore e dovremo stabilire l'obiettivo dell'attore.
‫Quindi andiamo al nostro sparatutto, controller aereo, punto, CP e lì iniziamo a giocare.
‫Possiamo passare all'attore e abbiamo già un attore per interpretare una pedina che abbiamo ottenuto
‫dall'ultima lezione e diamo solo un'occhiata.
‫Ci sono altre proprietà utili qui?
‫Abbiamo un raggio di accettazione.
‫Al momento non ha raggio di accettazione.
‫Fondamentalmente si avvicina il più possibile.
‫Penso che potrebbe essere un po' invadente.
‫Gli darò un raggio di accettazione di due metri, quindi cercherà di arrivare entro due metri da noi.
‫Quindi andiamo avanti e costruiamolo.
‫E una volta completato, vai nel motore e diamo un'occhiata.
‫Non espanderò il volume di rimbalzo qui solo per darti un assaggio del motivo per cui abbiamo bisogno del volume di rimbalzo in
‫primo luogo.
‫Quindi iniziamo con un alt p.
‫Ed eccoci qui.
‫Siamo sulla rete nav e questo ragazzo si è spostato verso di noi automaticamente.
‫Ma se lascio quella maglia NAF, non può più avvicinarsi a me perché non riesce a trovare la via.
‫Non riesce a trovare un modo per raggiungermi.
‫Quindi quello che faremo è in effetti, non sono sicuro che fosse quello che sta succedendo qui, perché probabilmente
‫quello che sta succedendo è che sta entrando nel raggio di accettazione di me e poi non ci
‫riprova.
‫Quindi un modo per verificarlo sarebbe rimuovere questo raggio di accettazione e ricompilare e quindi possiamo andare oltre e vedere
‫se è quello che sta succedendo.
‫Quindi, sì, viene da me se mi allontano.
‫Beh, ha praticamente dimenticato quel comando.
‫Quindi quello che vogliamo fare è farlo in tic, perché in pratica una volta che mi raggiunge, rinuncia
‫all'idea di inseguirmi.
‫Quindi spostiamo questo per prendere.
‫Questo non è il modo ideale per farlo, ma è quello che faremo.
‫Solo per ora, copierò la firma del tic dalla destra dell'attore, e so che va nella sezione pubblica,
‫quindi creerò una sezione pubblica in alto.
‫Copia nella firma, impostalo come override solo per sicurezza e quindi implementalo in C++ e sposta e sposta l'attore in
‫un segno di spunta e il raggio di accettazione è ancora di due metri che lo prova ora e ovviamente si
‫lamenta che non abbiamo un giocatore -- laggiù.
‫Quindi andiamo e assicuriamoci di continuare a ripetere questa linea che si impossessa del primo
‫giocatore, anche in un segno di spunta.
‫E ora dovremmo essere in grado di testarlo correttamente fino a un picco alternativo e il mondo arriva e ci porta
‫entro due metri.
‫Mi allontano da lui e lo guardo.
‫Questa volta non mi sta nemmeno mirando correttamente, ma sta cercando di seguirmi.
‫Ma appena lascio quella maglia di navigazione, non sa più come trovarmi.
‫Quindi sistemiamolo, vero?
‫Andremo a un volume di rimbalzo della mesh di navigazione.
‫Se posso selezionarlo.
‫Eccoci.
‫E poi vogliamo davvero rimpicciolire qui per provare a comprendere l'intero nostro livello.
‫Sembra un po' eccentrico all'esterno di questo livello, ma è solo il modo in cui spesso le cose funzionano,
‫è che costruisci un livello per essere visto dall'interno, non dall'esterno.
‫Quindi rendiamo questo molto più ampio.
‫Rendiamolo molto più alto in modo che comprenda tutto il livello e trascinalo fuori in modo che tutte
‫le estensioni del livello qui siano coperte.
‫Basta renderlo un po' più largo, anche un po' più lungo, e assicurati che tutto questo sia completamente
‫compreso.
‫E puoi vedere che il verde è apparso mentre viene calcolato, la navigazione si è
‫incontrata e assicuriamoci solo che il messaggio di navigazione stia scendendo abbastanza in basso da coprire le estensioni più basse della nostra mappa sembra
‫coprirla ora.
‫Quindi, se andiamo avanti e possiamo nasconderci e navigare in mesh ora che abbiamo impostato tutto e possiamo fare un alt p
‫per andare avanti e giocare e lui può trovarci e seguirci praticamente ovunque andiamo all'interno di questo livello.
‫Puoi vedere che confidavo che un servitore ci stesse seguendo ovunque scegliamo di andare.
‫Ci sta solo pedinando e seguendoci, il che è molto fastidioso.
‫Ma è in grado di farlo.
‫Roba impressionante.
‫Quindi in questa lezione abbiamo visto come possiamo creare e avere mesh e come possiamo usarle per convincere il nostro
‫alleato a seguirci per tutto il livello.
‫Quindi torneremo indietro su questo sistema di correzione del bug e controllo della linea di vista in modo
‫da non inseguire necessariamente sempre il giocatore in giro.
‫Guarda quello?
‫E ho appena notato un piccolo errore sciocco che ho commesso qui, ovvero che non sto
‫chiamando per tagliare il codice in modo super tecnologico.
‫Quindi questo è in realtà il motivo per cui a volte ricevi questi strani bug inspiegabili.
‫Se non stai chiamando il super e le cose non funzionano sempre come previsto, ecco perché il
‫focus ha smesso di funzionare, perché essenzialmente avevamo disabilitato la tecnologia su un controller alto, il che non va bene.
‫Se sei abilitato, tutto dovrebbe funzionare normalmente con lo stato attivo delle impostazioni.