‫Ciao e Benvenuto.
‫L'argomento di questa lezione sarà la funzione di subire danni dell'attore e come la chiamiamo.
‫Entriamo e scopriamo tutto al riguardo.
‫Quindi, per poter infliggere danni a qualcosa, dobbiamo effettivamente avere qualcosa che
‫possiamo colpire.
‫Quindi andiamo al nostro percorso del browser dei contenuti e portiamo uno dei personaggi sparatutto di BP.
‫Perché in realtà quello che succede è se porti un personaggio nella scena, automaticamente Unreal renderà
‫questo personaggio controllato dall'aria e quelli che si generano all'inizio del giocatore saranno controllati
‫dal giocatore.
‫Quindi è fantastico.
‫Questo è esattamente il comportamento che vogliamo.
‫Se vado avanti e premo alt p, noterai che in realtà sono nel punto di spawn sbagliato,
‫quindi forse voglio eliminare questo secondo inizio giocatore.
‫Se colpisco LP ora sarà nella posizione giusta.
‫C'è il mio nemico.
‫Posso sparare al nemico.
‫Ottengo l'effetto dei colpi, ma ovviamente non sto facendo alcun danno.
‫Non ancora comunque.
‫E fare danni è un processo in due parti.
‫La prima parte invia il danno e la seconda lo riceve.
‫In questa lezione, ci occuperemo dell'invio di danni al giocatore e delle chiamate di funzione
‫coinvolte.
‫Quindi quello principale che esamineremo è nell'attore Dot H e stiamo cercando una chiamata di
‫funzione chiamata take Damage.
‫E puoi vedere qui che è questa funzione virtuale qui restituisce un float.
‫Ciò che sta restituendo è il danno effettivo applicato all'attore, l'importo effettivo che è stato effettivamente applicato.
‫E quello che c'è dentro è l'importo del danno, un evento di danno, che ci fornisce maggiori informazioni su questo, il danno
‫che è successo.
‫Abbiamo un istigatore.
‫Quindi questo sta dicendo chi era il controllore responsabile di aver causato questo danno?
‫E poi il danno causato, qual è il responsabile dell'attore?
‫Quindi in questo caso potrebbe essere una pistola.
‫O sta dicendo qui il proiettile che è esploso, la roccia che è caduta su di te?
‫In questo caso, la pistola che ti ha sparato sarà l'attore responsabile.
‫Quindi questo è prendere danni in poche parole.
‫La maggior parte di ciò dovrebbe essere abbastanza semplice da mettere insieme con l'eccezione di questa struttura
‫dell'evento di danno.
‫Ed è un po' più complicato.
‫Quindi diamo un'occhiata a questa struttura dell'evento di danno e vediamo cosa possiamo fare?
‫Come sarà composto?
‫Come lo metteremo insieme?
‫Ora, non è immediatamente ovvio, ma in realtà ci sono due sottotipi per questo evento di danno.
‫In pratica, non creerai effettivamente un evento di danno EF, ma
‫piuttosto creerai un evento di danno in punti EF, oppure creerai un evento di danno radiale EF.
‫Questi sono i due principali tipi di danno che esistono in Unreal.
‫Puoi creare più diversi tipi di danni per le tue cose personalizzate.
‫Ad esempio, potresti avere un danno da fuoco con parametri diversi, ma nel nostro caso siamo interessati
‫al radiale EF radiale e al danno puntuale.
‫Quindi di nuovo radiale sarebbe qualcosa come una granata che esplode, nel qual caso vuoi dire, ok, dov'è
‫il raggio, qual è la caduta?
‫Tutti quei tipi di cose in cui il danno è molto più appropriato per cose come le
‫pistole.
‫Quindi creeremo un evento di danno in punti EF e andremo a cercare il costruttore, ecco
‫il costruttore e possiamo vedere cosa sta prendendo.
‫Sta prendendo di nuovo l'importo del danno.
‫Quindi c'è un po' di ripetizione lì.
‫Abbiamo il risultato del colpo che ha causato il verificarsi di questo punto di danno.
‫Quindi abbiamo la direzione del tiro.
‫Grande.
‫L'abbiamo già calcolato.
‫Stavo pensando un po' al futuro quando l'abbiamo fatto nella lezione precedente e poi in questa sottoclasse
‫di tipo di danno.
‫Ora questo può essere utilizzato per passare più informazioni.
‫Quindi in realtà, invece di creare un diverso tipo di evento di danno, probabilmente creeresti un diverso
‫tipo di danno.
‫Quindi potresti avere un tipo di fuoco o qualcosa del genere.
‫Nel nostro caso, poiché non abbiamo bisogno di alcun tipo di danno, non stiamo facendo danni da fuoco o qualcosa in
‫più come quel danno da veleno.
‫Quindi quello che faremo è semplicemente passare un punto nullo qui.
‫Quindi proviamo a costruirne uno insieme e poi ti lascerò raffreddare quell'evento di subire danni.
‫Quindi la prima cosa da fare è incollare il tipo, lo chiameremo evento di danno e
‫poi lo costruiremo.
‫Quindi prima di tutto, gli importi dei danni, beh, non ne abbiamo ancora uno per la pistola.
‫Non abbiamo quanti danni fa.
‫Quindi possiamo andare avanti e creare alcune informazioni.
‫Hanno già una portata massima.
‫Vogliamo altre proprietà qui.
‫Sarà una modifica ovunque, il che ci consentirà di dire danni al galleggiante.
‫Quanti danni facciamo?
‫Lo farò danni di dieci e poi possiamo usarlo in C++.
‫Quindi il danno è ciò che passeremo come primo argomento.
‫Il secondo è quel risultato di successo?
‫Bene, fortunatamente, abbiamo i risultati chiamati hit.
‫Quindi la prossima cosa sarà la direzione del tiro che abbiamo già calcolato per il nostro emettitore sul
‫posto.
‫Quindi esamineremo la sottoclasse, che sarà solo un puntatore nullo.
‫Va bene, così è fatto.
‫La prossima cosa sarebbe semplicemente prendere l'attore che stiamo cercando di danneggiare.
‫È abbastanza semplice dal colpo che fai.
‫Hit dot prendi attore qui.
‫Ma dovrai controllare che questo non sia nullo perché non vogliamo finire con un attore nullo su cui stiamo
‫cercando di fare danni o finiremo per andare in crash.
‫Quindi la tua sfida sarà chiamare quel controllo della funzione di subire danni per l'attore che è nullo.
‫Prima di tutto, non vogliamo un attore nullo e chiama subisci danni e vediamo se riesci a farlo compilare.
‫Tira il video e prova.
‫Bene.
‫Ben tornato.
‫Quindi abbiamo il nostro personaggio qui dentro.
‫Chiamerò solo questo.
‫Darò a questo una piccola variabile.
‫Quindi un puntatore attore sarà l'attore di successo e quindi andremo avanti e faremo un'istruzione if qui, in pratica
‫dicendo che se l'attore di successo non è uguale a un puntatore nullo, allora andremo avanti con
‫questo attore di successo per chiamare la funzione subisci danno su di esso.
‫E faremo l'importo del danno qui è il primo argomento.
‫Qual è stato il secondo?
‫Mi limiterò a tornare a prendere danno e dare un'occhiata.
‫Quindi il prossimo è la struttura che abbiamo messo insieme questo evento di danno.
‫Mettiamolo in un secondo.
‫Quindi daremo un'occhiata al controller che lo ha creato.
‫Bene, quello è il nostro controllore.
‫Il controller delle armi è quello che fa il danno.
‫E poi questo è l'istigatore era l'ultimo parametro in attacco fisico.
‫E probabilmente vogliamo costruire questa struttura all'interno di questo solo se l'attore non è uguale a punti nulli perché non è
‫necessario se non abbiamo un attore a cui applicare questo danno.
‫Quindi andiamo oltre e compiliamo e vediamo se funzionerà.
‫Quindi ho un errore nel mio registro.
‫Vediamo cosa sta succedendo.
‫Oh, mi manca solo un punto e virgola.
‫Bene, è abbastanza facile.
‫Uno da sistemare dopo aver ottenuto l'atto due lì.
‫Andiamo e riproviamo.
‫Freddo.
‫Tutto è stato compilato correttamente e possiamo semplicemente andare avanti e giocare e controllare quel set.
‫Le riprese non ci daranno errori nulli o proveranno a mandare in crash il motore.
‫Sembra che vada bene.
‫Quindi passeremo alla prossima lezione in cui cercheremo di ricevere il danno su questo attore qui che
‫abbiamo posizionato nel livello C che.