‫Quindi l'obiettivo di questo video è avere proiettili che si lancino effettivamente nell'aria e si
‫comportino come dovrebbero.
‫Ehi, bentornato.
‫In questo video, ci occupiamo di fare in modo che il nostro proiettile si comporti effettivamente come un proiettile e si muova.
‫Ora, ci sono diversi modi per gestirlo.
‫Un modo è impostare manualmente la posizione e la rotazione del proiettile da soli.
‫Ora, questo generalmente richiederebbe di aggiornare ogni fotogramma, quindi probabilmente lo inseriremmo nella
‫funzione tick.
‫Un altro modo è semplicemente aggiungere un impulso al proiettile e lasciare che il motore fisico prenda il sopravvento.
‫In sostanza, stiamo applicando una forza e lanciando quel proiettile e lasciando che la gravità faccia il suo
‫lavoro, e il proiettile volerà via in aria.
‫Ora, un altro modo sarebbe usare un componente di movimento.
‫Ora, questo è un tipo speciale di componente che vorremmo aggiungere alla nostra classe di proiettili.
‫E dopo aver impostato alcuni parametri sulla componente di movimento, la componente di movimento gestirà
‫il movimento per l'attore.
‫Ora capita che Unreal Engine abbia un tipo di componente integrato realizzato appositamente per i proiettili.
‫Quindi questo sfrutta alcune delle funzionalità integrate di Unreal Engine.
‫E così facendo, consentiamo al componente di movimento di gestire il movimento per noi in base alle impostazioni
‫che forniamo.
‫Quindi questo è il metodo che useremo.
‫Quindi vorremmo aggiungere un componente di movimento del proiettile alla nostra classe proiettile, e questo è ciò
‫che gestirà il movimento per l'oggetto proiettile.
‫Quindi, mentre generiamo un proiettile nel mondo, il componente di movimento del proiettile che appartiene alla classe del proiettile,
‫può essere impostato e personalizzato in base alle variabili sulla classe di movimento del proiettile che abbiamo
‫impostato.
‫Ora ne imposteremo un paio, come la sua velocità iniziale e la sua velocità massima e la componente
‫di movimento del proiettile sposterà effettivamente il proiettile nel mondo per noi.
‫Ora, ecco la pagina della documentazione di Unreal Engine per te.
‫Componente di movimento del proiettile.
‫Questo è il componente che ci interessa e vedrai che dice che il componente di movimento del proiettile
‫aggiorna la posizione di un altro componente durante il suo tick.
‫Per impostazione predefinita, sposterà il componente del percorso.
‫Ora ecco l'inclusione.
‫E se continui a scorrere verso il basso, vedrai alcune delle variabili che possono essere impostate sul componente
‫di movimento.
‫Quindi scorri questo e dai un'occhiata e guarda quali sono le opzioni.
‫Ora aggiungiamo un componente di movimento del proiettile alla nostra classe nello stesso modo in cui aggiungeremmo qualsiasi altro componente,
‫il che significa che sai già come farlo.
‫Quindi la tua sfida è entrare nella classe del proiettile e aggiungere una variabile puntatore del componente del
‫movimento del proiettile ed esporla rendendola visibile ovunque.
‫E in questo modo possiamo facilmente modificare il componente del movimento del proiettile dall'interno dei progetti.
‫Ora lo costruirai nel costruttore del proiettile usando crea oggetto secondario predefinito.
‫Non dimenticare di includere l'intestazione corretta e impostare la velocità iniziale e le variabili di velocità massima del componente di
‫movimento del proiettile.
‫Ora scegli i tuoi valori per questi e impostali nel costruttore e quindi prova il gioco.
‫Regolerai la velocità iniziale e la velocità massima nel pannello dei dettagli selezionando il componente nel
‫progetto del proiettile.
‫E questo ti darà un po' di esperienza nella modifica dei parametri e nella sperimentazione come sviluppatore.
‫Quindi metti in pausa il video e crea ora il componente di movimento del proiettile.
‫Bene.
‫Quindi sono qui nel proiettile H e probabilmente hai aggiunto il tuo componente nella sezione privata.
‫Quindi, se l'hai fatto, hai l'istinto giusto.
‫Faremo di questa una variabile privata.
‫Va bene.
‫In caso contrario, puoi spostarlo facilmente nella sezione privata, se lo desideri.
‫Ora, questo sarà un componente di movimento del proiettile U, e questo è un puntatore.
‫E possiamo semplicemente chiamare questo componente del movimento del proiettile.
‫Ora, darò a questo una proprietà U e lo renderò semplicemente visibile ovunque.
‫Ora, probabilmente gli hai assegnato una categoria.
‫In caso contrario, va benissimo, ma gli darò una categoria e lo chiamerò movimento.
‫Quindi abbiamo la componente di movimento del proiettile.
‫Lascerò la dichiarazione in avanti e vedrò se riesco a farla franca con la compilazione
‫ora qui in Projectile CP, includerò il file di intestazione.
‫Quindi, tornando alla pagina della documentazione, copierò questo include e lo incollerò semplicemente qui in proiettile.
‫E ora sono pronto per costruire il mio componente.
‫Quindi dirò componente di movimento del proiettile e userò la creazione di un oggetto secondario predefinito
‫e il tipo sarà il componente di movimento del proiettile.
‫E per il testo, chiamerò semplicemente questo componente del movimento del proiettile proprio così.
‫C'è il mio punto e virgola e ce l'abbiamo.
‫Ora, come indicato, imposteremo il movimento del proiettile, la velocità massima del componente e darò a questo una velocità
‫iniziale di, diciamo, 1300 F. Questo è qualcosa che sperimenteremo e attraverso i test di
‫gioco lo adegueremo al giusto valore.
‫Ora imposterò la velocità iniziale della componente di movimento del proiettile e la imposterò sullo stesso valore.
‫Quindi la velocità iniziale sarà la velocità con cui il componente del proiettile si avvia.
‫E, naturalmente, non supererà mai la velocità massima.
‫Andiamo avanti e compiliamo questo.
‫Ok, quindi ricevo un errore di compilazione e se salgo vedrò che fa riferimento al proiettile h.
‫Quindi torniamo al proiettile H e dice Proiettile H 27.
‫Si riferisce alla riga 27 e questa è questa riga proprio qui.
‫E otteniamo che questo componente del movimento del proiettile non è un membro di un proiettile.
‫Ricorda, questo era il tipo di errore che abbiamo visto quando non abbiamo inoltrato la dichiarazione.
‫Quindi possiamo facilmente dichiararlo con la parola chiave class e compilare di nuovo e otteniamo una compilazione
‫riuscita.
‫Quindi, ancora una volta, questo è il modo in cui possiamo sapere se un particolare componente è incluso o meno per impostazione predefinita.
‫E abbiamo visto che questo non è così con una compilazione riuscita.
‫Torniamo nell'editor.
‫Ok, quindi sono tornato nell'editor e ho intenzione di approfondire i progetti e gli attori ed ecco il proiettile BFP.
‫Quindi qui proiettile NP.
‫Ora vedo che il componente del movimento del proiettile è qui.
‫E nel pannello dei dettagli, puoi vedere sotto proiettile che abbiamo la velocità iniziale e la velocità massima
‫e puoi scorrere e vedere anche molti altri parametri che possiamo impostare.
‫Quindi giochiamo alla prova questo.
‫Ho intenzione di premere play e fare clic con il pulsante sinistro del mouse e dare un'occhiata.
‫I nostri proiettili si stanno muovendo.
‫Stanno volando nell'aria e si fermano una volta che hanno effettivamente colpito qualcosa.
‫Ora, alla fine quello che vorremmo fare è farli esplodere e causare danni.
‫Ma questo è un ottimo punto di partenza.
‫Ora muoviamoci all'interno del raggio di tiro e vediamo se le torrette genereranno un proiettile.
‫E ovviamente no.
‫E il motivo è perché abbiamo quella sottoclasse TW di variabile.
‫Quindi, se ti stai chiedendo perché le torrette non stavano effettivamente generando proiettili, potresti non averlo
‫impostato.
‫Quindi andiamo avanti ed entriamo negli stagni e nello stagno del segnale acustico, nella torretta e apriamo il progetto completo.
‫Editor E abbiamo posizionato la classe del proiettile nella sezione del combattimento.
‫Questa è la nostra sottoclasse, quindi se lo impostiamo su proiettile BP ora anche la nostra torretta dovrebbe iniziare a
‫generare proiettili.
‫Quindi entriamo nel raggio di tiro e il gioco è fatto.
‫Ci sta sparando proiettili.
‫Quindi sembra fantastico.
‫Quindi ora abbiamo i proiettili.
‫Quindi diamo un'occhiata al nostro piano di sezione.
‫Abbiamo già creato un carro armato che può muoversi in tutto il mondo e ora stiamo gestendo l'input con i
‫tasti WASD e i clic del mouse.
‫Abbiamo creato una classe di torretta nemica, l'abbiamo chiamata torre in C++ e abbiamo aggiunto la funzionalità di fuoco
‫con i proiettili.
‫Ora dobbiamo gestire i danni alla salute e la distruzione in questo gioco.
‫Quindi questi sono i nostri prossimi passi e quelli arriveranno nei video a venire.
‫Quindi ora che abbiamo aggiunto una componente di movimento del proiettile, ora abbiamo i proiettili veri e propri.
‫Ci vediamo nel prossimo video quando inizieremo a parlare di come possiamo far esplodere
‫questi proiettili e causare danni.
‫Ci vediamo presto.