‫Ciao e Benvenuto.
‫In questa lezione introdurremo due nuovi tipi di risorse, l'albero del comportamento e la lavagna, che sono
‫due risorse che ci consentono di fare una cosa molto interessante con l'aria.
‫Permettici di rendere molto più complicato.
‫Mi tuffiamo molto facilmente e vediamo come li usiamo e li configuriamo.
‫Bene.
‫Quindi vogliamo creare delle sofisticate A. IO. comportamento.
‫Ora, il modo in cui di solito lo facciamo in Unreal è usare un sistema chiamato alberi del comportamento.
‫Ora, cosa sono questi?
‫Bene, il modo migliore per scoprirlo è crearne uno.
‫Quindi andiamo avanti e clicchiamo con il tasto destro e via.
‫Stiamo guardando qui sotto l'intelligenza artificiale.
‫E ci sono due opzioni qui comportamento, albero e lavagna.
‫Vorremo entrambe queste cose.
‫Quindi andiamo e iniziamo con l'albero del comportamento.
‫Il prefisso di questo è B. T. e lo chiameremo nemico.
‫Quindi albero del comportamento nemico.
‫Ho appena finito con quello.
‫Vanno.
‫E dobbiamo anche creare l'altra cosa lì dentro, che era una lavagna.
‫Ora, cosa diavolo è una lavagna?
‫Ci arriveremo in un secondo.
‫Ma lo chiameremo semplicemente b b underscore nemico è a, b, b per lavagna, b, t per albero del
‫comportamento.
‫E già che ci siamo, abbiamo alcune cose relative ad A. IO..
‫Ehi, creerò una nuova cartella chiamata A. IO. , e sposteremo la lavagna, l'albero del
‫comportamento.
‫E da qualche parte qui abbiamo il nostro tiratore, A. IO. controllore.
‫Tutto questo va in A. IO. spostati qui e poi possiamo entrare in quella A. IO. cartelle, gestisci tutto ciò che
‫riguarda l'IA.
‫Apriamo prima di tutto il nostro albero del comportamento e lo colleghiamo alla finestra principale.
‫Allora che diavolo è questo?
‫Quindi questo ci consente di creare alberi di comportamenti in cui potresti dire che abbiamo parte del comportamento
‫qui per inseguire.
‫Parte di esso è per la traina.
‫In parte è per qualcos'altro, aprire porte, tutto questo genere di cose.
‫In genere strutturano i comportamenti come moltissimi alberi di comportamenti e sottoalberi e così via.
‫Vedremo che tutto andrà avanti in dettaglio, ma basti dire che è un ottimo modo per mettere insieme comportamenti
‫naturali nei tuoi giochi.
‫Ora non è l'essere tutto e finire tutto.
‫C'è un sacco di A. IO. tecniche.
‫Questo potrebbe non essere quello con cui vuoi andare per il tuo gioco, ma è un ottimo
‫inizio e puoi ottenere molto con esso.
‫Ora la prossima cosa che possiamo vedere in alto a destra, queste due risorse sono collegate
‫all'albero del comportamento e alla lavagna.
‫Cos'è una lavagna?
‫Beh, la lavagna è un po' come il ricordo del tuo A. IO. È essenzialmente dove memorizzi un sacco
‫di variabili.
‫Li hai inseriti dal gameplay in modo molto simile a quello che stavamo
‫facendo con il sistema di animazione, dove hai queste diverse proprietà che vengono impostate dal gameplay.
‫Facciamo la stessa cosa con l'A. IO. impostiamo molte proprietà che gli forniscono
‫informazioni sul suo mondo di gioco, quindi l'albero del comportamento attinge a quelle proprietà e le usa per decidere cosa
‫farà.
‫Può impostare quelle proprietà.
‫Può usarli come memoria, può leggere da quelle proprietà e tutte quelle cose adorabili.
‫Quindi, con questo in mente, come possiamo impostare il nostro albero del comportamento nella lavagna in modo che siano collegati tra
‫loro?
‫Bene, lo espanderemo nel nostro riquadro dei dettagli.
‫Puoi vedere qui che c'è questa risorsa lavagna e automaticamente sembra averlo compilato per noi
‫in modo tale che la risorsa lavagna sia collegata a questo b b b nemico, io risorsa lavagna.
‫Ora ci allontaneremo tutti dal C++ per usare un po' queste risorse perché ovviamente
‫gli alberi del comportamento e le lavagne sono interamente all'interno dell'editor.
‫Non sono progetti in quanto tali.
‫Sono i loro strumenti editor e possiamo interfacciarci con loro in C++, ma ciò non significa che
‫useremo l'editor per le prossime due lezioni oltre a C++.
‫Non tanto progetto lì.
‫Quindi è fantastico che ci siamo procurati questo albero del comportamento e questa lavagna, ma come diavolo
‫lo usiamo effettivamente?
‫Bene, per questo, torniamo al nostro controllore aereo.
‫Se ricordi, il controllore è interamente responsabile dell'esecuzione dei nostri comportamenti e questo non fa eccezione qui.
‫L'albero del comportamento è solo un'altra cosa che il controller aereo può utilizzare o eseguire.
‫Quindi il modo in cui lo faremo è andare al nostro punto di controllo e dobbiamo avere
‫un modo per fare riferimento nel progetto a quale albero del comportamento vogliamo che esegua.
‫Quindi la prima cosa che farò è effettivamente passare al nostro controllo
‫di CP e commentare le cose in TTIC perché sostituiremo invece questa funzionalità con la funzionalità dell'albero del
‫comportamento.
‫E poi questo significa che posso rimuovere questo raggio di accettazione qui perché non ne abbiamo più bisogno.
‫E invece useremo un puntatore al nuovo comportamento.
‫E devo scrivere questo albero e puntatore della via americana.
‫Questo è l'albero del comportamento che vuoi lì.
‫E ho bisogno di inoltrarlo dichiarandolo con una classe davanti.
‫E poi fondamentalmente qui, quello che voglio dire è che questo è il comportamento e.
‫Manterrò qui l'ortografia americana solo per coerenza.
‫Quindi questo è il comportamento che vogliamo qui ora per eseguire effettivamente il comportamento.
‫Non potrebbe essere più semplice.
‫Ancora una volta, l'A. IO. controlla la H ha una funzione incorporata per questo.
‫Abbiamo questa funzione dell'albero del comportamento di esecuzione che diventa booleana.
‫Indipendentemente dal fatto che tu sia in grado di eseguirlo correttamente o meno, inizia a eseguirlo, cioè.
‫E accoglie l'asset beta, che è un puntatore all'albero del comportamento di te.
‫Quindi è quello che vorremo usare e possiamo farlo da capo all'inizio del gioco.
‫Quindi quello che faremo è, prima di tutto, controllare di avere davvero un albero del comportamento
‫qui.
‫Quindi diremo che io mi comporto.
‫Non è uguale a zero punti, eh?
‫Perché non vogliamo usarlo diversamente.
‫E poi quello che possiamo fare è eseguire l'albero del comportamento chiamato comportamento dell'aria.
‫È davvero così semplice far funzionare qualsiasi comportamento e possiamo andare avanti e compilare.
‫E un'altra cosa che possiamo fare con gli alberi pesanti è che possiamo vederli in esecuzione in fase di esecuzione, ma per
‫farlo, devi avere una sorta di nodo qui.
‫Quindi aggiungeremo semplicemente un nodo senza comprendere appieno cosa fa.
‫Aggiungerò un nodo di sequenza e lo collegherò trascinando verso il basso dal nodo radice, sotto il nodo
‫radice, i punti salienti quando lo passo con il mouse fino al bit sopra il nodo della
‫sequenza.
‫E lo salverò.
‫Vado su e premi play e andrò nella mia risorsa albero del comportamento e dovresti essere in grado di vedere un menu a discesa qui,
‫ma non lo farei perché al momento non è in esecuzione.
‫Quindi smettiamo di giocare.
‫E perché non funziona?
‫Perché non l'abbiamo collegato e come controller dell'aria sparatutto, quindi facciamo che potrebbe essere una sfida
‫per te collegarlo.
‫Speriamo che non dovrebbe essere troppo difficile.
‫Bene.
‫Ben tornato.
‫Quindi, se andiamo a dare un'occhiata qui, stiamo cercando un comportamento.
‫Qualche ragione per cui mi è stata richiesta una ricompilazione per presentarmi.
‫Ma eccolo qui.
‫Il comportamento è ciò che vogliamo.
‫Facciamo clic sul menu a discesa.
‫C'è solo un'opzione al momento, quindi abbiamo solo un albero del comportamento.
‫Quindi seleziona quello e compila e salva.
‫E se ora andiamo avanti e giochiamo.
‫E dai un'occhiata a Beattie Enemy II.
‫Puoi vedere che sta evidenziando la nota attualmente in esecuzione e hai questo piccolo menu a
‫discesa accanto ai pulsanti di arresto della pausa, che ti dice quale controller aereo stai attualmente osservando il percorso
‫del comportamento.
‫Quindi questa è un'ottima funzionalità per poter saltare dentro e andare, ok, perché quell'aria è
‫ferma?
‫Perché non sta inseguendo il giocatore?
‫Puoi vedere quali parti del comportamento sta attualmente eseguendo e dire, Oh, vedi, sai, quella cosa è
‫andata storta.
‫È davvero utile per il debug.
‫Puoi andare a dare un'occhiata a cosa sta combinando tutta la tua aria nel mondo usando questo menu a discesa.
‫Roba fantastica.
‫Questo è tutto per questa lezione.
‫Nella prossima lezione, esamineremo come impostare le informazioni nella memoria della lavagna della
‫nostra IA da C++.
‫Ci vediamo lì.