‫Ciao e Benvenuto.
‫In questa lezione, collegheremo il nostro sistema sanitario al progetto di animazione in modo che io possa
‫sparare a questo personaggio fino alla sua morte.
‫Immergiamoci e vediamo come funziona.
‫Quindi vuoi che questo booleano nei progetti di animazione venga impostato automaticamente dal gioco.
‫E se passiamo al grafico degli eventi e diamo un'occhiata a come funziona attualmente, altre proprietà come
‫questa, come ottenere velocità, attivarsi, trasformare, andremo al pedone e stiamo facendo una funzione
‫get su di esso ogni volta che vogliamo aggiornare l'animazione.
‫Quindi vogliamo in qualche modo seguire questo modello in cui andremo a vedere se il nostro giocatore è
‫morto o meno.
‫In tal modo abbiamo bisogno di esporre alcune funzionalità, alcune funzioni richiamabili dal nostro C++.
‫Quindi andiamo al C++ e diamo un'occhiata a cosa c'è.
‫Quindi abbiamo potuto creare una funzione pubblica, ma ciò non la rende necessariamente accessibile.
‫Per fare l'accessibilità, abbiamo bisogno di una nuova funzione che lo renda visibile ai progetti e al sistema di strumenti di
‫intestazione sui binari.
‫Ma dobbiamo fare un passo in più rispetto ad averlo come una nuova funzione.
‫Quindi iniziamo con la funzione macro, ma vogliamo renderla richiamabile blueprint.
‫Quindi questa è l'opzione che possiamo usare blueprint callable.
‫Tuttavia, c'è un'altra opzione che sovrascrive blueprint callable piuttosto implica che sia blueprint
‫callable e che sia blueprint puro.
‫Ora vedremo la differenza tra blueprint pure e Blueprint richiamabile in appena un secondo.
‫Ma sappi solo che se usi blueprint puro, sta facendo lo stesso di Blueprint Callable e poi alcuni.
‫Quindi sta facendo un po' più di un progetto richiamabile.
‫E poi quello che vogliamo è una funzione che restituisce Boolean che dice se questo personaggio è morto
‫o meno.
‫Ci sarà utile saperlo.
‫E poi, infine, vogliamo che questa sia una funzione di membro del concerto.
‫Ora, perché vuole essere un concerto?
‫Perché quando chiamiamo questa funzione, non ci aspettiamo che modifichi nessuno degli stati di ask you to character, quindi possiamo
‫tranquillamente dire che questa dovrebbe essere una funzione concerto.
‫E in effetti, concerto e blueprint pure spesso vanno insieme perché blueprint pure significa che se andiamo oltre
‫a qualsiasi progetto, possiamo dare un'occhiata ad alcune note pure.
‫Questo qui ottiene la trasformazione attiva.
‫Questa è una nota pura.
‫Ottieni velocità è una nota pura. La velocità impostata non è una nota pura.
‫Riesci a vedere cosa potrebbe collegarli insieme?
‫Che dire di questi rende questo non puro e questo puro?
‫Bene, in generale, è il fatto che questa penna di esecuzione, un nodo puro, non ha un
‫pin di esecuzione.
‫E di solito è sicuro dire che qualcosa non ha un pin di esecuzione quando non ha alcun impatto sulla
‫cosa che sta chiamando solo sul suo risultato.
‫In sostanza, questo significa che non importa quante volte chiamiamo questa funzione, produrrà sempre
‫lo stesso risultato.
‫Avrà sempre lo stesso effetto sul programma.
‫È una pura funzione.
‫Non cambia nulla quando viene chiamato.
‫Quindi è più o meno lo stesso di const, anche se è un po' più forte perché quello che sta
‫dicendo non è solo che non cambia nulla qui sul personaggio delle riprese, ma non cambia nulla a livello globale,
‫in nessuno stato, da nessuna parte.
‫Punto.
‫L'unico input, l'unico effetto che ha è negli output che produce.
‫Ecco perché abbiamo scelto di rendere puro questo progetto.
‫Elimina la necessità di un pin di esecuzione, il che lo rende molto più piacevole nei progetti.
‫Ed esprime anche il fatto che non stiamo apportando modifiche allo stato del nostro gioco quando chiamiamo
‫questa funzione.
‫Quindi andiamo avanti e proviamo a creare un'implementazione per questo.
‫In effetti, lascerò a te l'implementazione come una sfida, e andremo oltre e
‫collegheremo questo in un grafico, scusa, un grafico di eventi del progetto di animazione.
‫Quindi lo faremo con un nuovo set qui.
‫Vogliamo impostare la variabile booleana è morto alla fine e vogliamo ottenere il proprietario del pedone e vogliamo lanciarlo perché
‫deve essere uno sparare a un personaggio per avere questa proprietà morta.
‫Quindi vogliamo lanciarlo anche noi.
‫E in questo caso, voglio lanciarlo sul personaggio sparatutto in C++ perché non
‫ho bisogno di andare fino in fondo per dire che è sicuramente una versione del progetto di questo perché questa funzione esiste
‫effettivamente a livello C++.
‫Quindi andremo avanti e lanceremo.
‫Se riusciremo nel cast, imposteremo la proprietà is dead.
‫Ora permettetemi di inserire qui alcuni nodi di reindirizzamento per rendere il nostro progetto un po' più
‫gradevole.
‫E poi quello che vogliamo fare è usare questo spara un riferimento al personaggio ora che
‫lo abbiamo lanciato su un personaggio sparato sappiamo che dovrebbe avere questa è una proprietà morta, quindi dovremmo essere in grado di farlo.
‫Una volta che hai compilato e fatto funzionare, puoi ottenere questa proprietà morta e impostarla qui.
‫Quindi è tempo che la tua sfida calcoli se siamo morti o meno.
‫Quindi restituisci il booleano corretto dalla nostra funzione è morta.
‫Questo è il primo passo.
‫Potresti voler usare alcune disuguaglianze con una variabile di salute per questo e quindi collegare la nostra variabile.
‫Il morto è una variabile morta.
‫Nel progetto di animazione non siamo riusciti a farlo.
‫Avevamo solo bisogno fondamentalmente di una compilazione prima di farlo.
‫Metti in pausa il video e sistemalo.
‫Bene.
‫Ben tornato.
‫Passiamo quindi al codice, prima di tutto.
‫Quindi, in modo abbastanza semplice, restituirò un'espressione che restituisce un booleano.
‫Quindi vogliamo dire, la salute è inferiore o uguale a zero, nel qual caso siamo davvero morti?
‫È quanto di più semplice può ottenere una funzione di espressione.
‫Quindi andiamo avanti e costruiamolo.
‫E una volta compilato, possiamo andare su Unreal e collegarlo.
‫Quindi trascinando il personaggio come sparatutto, siamo nodi, qui faremo girare un riferimento al personaggio.
‫Quindi vogliamo fare è morto ci dà questa è una funzione morta, puoi vedere che non ha pin di esecuzione
‫perché è puro.
‫Quindi togliamo questo booleano da quello e lo colleghiamo alla nostra variabile morta.
‫E ora, se andiamo avanti e giochiamo, dovremmo essere effettivamente in grado di uccidere quel personaggio nel mondo.
‫Gli spareremo finché la sua salute non scenderà a zero.
‫Ed ecco qua.
‫L'animazione lo ha ucciso con successo.