‫Ciao e Benvenuto.
‫In questa lezione, cercheremo di collegare il movimento del nostro personaggio in modo da poter portare
‫avanti il conflitto e guardare intorno al nostro mondo.
‫I classici del muoversi in uno sparatutto in prima o terza persona.
‫Entriamo e vediamo come è fatto.
‫Quindi, continuando nel tentativo di far funzionare il movimento del nostro personaggio, prima di
‫tutto vorremo legare alcuni input, ma sapremo anche voler sapere a cosa legare
‫quell'input.
‫Fortunatamente, quando si tratta di personaggi, ci sono molte cose di semplificazione in corso per noi.
‫Dopotutto, Unreal è davvero un motore ottimizzato per creare cose come giochi sparatutto, giochi di
‫personaggi.
‫E diamo un'occhiata ad alcune delle funzioni di movimento che ci sono già fornite dalla classe dell'attore del personaggio, non solo la
‫componente del movimento del personaggio, ma anche la classe dell'attore del personaggio le fornisce e spesso
‫trasmette molto di questo alla componente del movimento del personaggio , ma non necessariamente.
‫Vediamo con quali funzioni di movimento ci occuperemo.
‫Prima di tutto, verrà aggiunto un input di movimento.
‫L'aggiunta di input di movimento fondamentalmente prende un vettore e ti dice in quale direzione ti sposterai.
‫Quindi, se è un vettore in avanti, vai avanti.
‫Se è un vettore all'indietro, ti sposti all'indietro.
‫Se fosse vettore giusto ti sposti a destra e così via.
‫E la dimensione del vettore determinerà la velocità con cui ti muovi in quella direzione.
‫La prossima cosa è che abbiamo aggiunto l'input del pitch del controller.
‫Quindi si tratta di guardare in alto e in basso, il che è ovviamente molto utile.
‫Quando hai il mouse, vuoi guardare in alto e in basso muovendo il mouse su e giù.
‫Quindi aggiungi il controller, il tuo input, che va a sinistra e a destra.
‫E infine c'è una funzione di salto che è solo che forse premi la barra spaziatrice e salti.
‫Quindi, con queste cose in mente, vogliamo andare avanti e fare è creare alcune associazioni in una
‫classe di caratteristi che legano alcuni input.
‫Quindi alcuni input sulla tua tastiera, sul tuo mouse, sul tuo controller per queste funzioni così possiamo farne alcune e poi faremo
‫una sfida per fare il resto.
‫Quindi andiamo al codice di Visual Studio e io sono nel mio tiro a un personaggio punto he notiamo che abbiamo già
‫qui l'impostazione di una funzione del componente di input del giocatore.
‫È qui che dobbiamo associare i nostri input e premere F12 per passare al C++.
‫Premerò Alt oh per passare al C++ e trovare dove l'abbiamo impostato.
‫Quindi la prima cosa è che ci fornisce questo componente di input della pianta con cui vogliamo legarci.
‫Se ricordi, questo è il modo in cui lo facciamo.
‫Abbiamo un componente di input del giocatore, usiamo l'operatore freccia e quindi eseguiamo una funzione di collegamento qui.
‫Quindi è un accesso di collegamento o sarà un'azione di collegamento a seconda che si tratti di un'azione discreta come il salto
‫o che si tratti di un'azione che ha un valore come guardare in alto e in basso o spostarsi.
‫Ora, anche quando eseguiamo il movimento con una chiave, tendiamo ancora a vincolarla usando un asse.
‫Quindi in realtà farò un po' di errore di battitura per la prima parte di questo video.
‫Lo correggerò in seguito, ma vai avanti e usa l'asse di rilegatura invece dell'azione di rilegatura qui.
‫Quindi, per fare un passo ancora più indietro, dobbiamo andare avanti e impostare queste azioni e questi assi nelle impostazioni del
‫nostro progetto.
‫Quindi torniamo a Unreal.
‫Vai alle impostazioni, alle impostazioni del progetto e poi lo attaccherò in modo da poterlo
‫vedere molto chiaramente e andremo alla sezione di input.
‫Quindi il motore immette e imposta alcune mappature degli assi e alcune mappature delle azioni.
‫Quindi quelli di cui mi occuperò subito sono le mappature degli assi perché dovremo, prima di
‫tutto, fare un passo avanti.
‫E daremo anche un'occhiata.
‫Ora, ricorda, non abbiamo un movimento in avanti e uno indietro perché possiamo farlo solo con
‫una scala negativa.
‫Quindi, ad esempio, voglio impostare il mio W Quay per fare il mio passo avanti.
‫Quindi questa è la scala uno.
‫Ma se voglio che il mio esky sia il mio ritorno indietro, posso ancora usare il movimento avanti, ma dargli la scala di meno
‫uno.
‫Solo un rapido promemoria per te.
‫Lo stesso con guarda in alto.
‫Userò il mouse per coprire l'input del controller.
‫Nella prossima lezione useremo il mouse y.
‫Ora, ricorda, perché quello che va su e giù invece che a destra ea sinistra?
‫Perché è un po' più alto, vero?
‫Perché una lettera un po' più alta di una X?
‫È così che lo ricordo comunque.
‫Quindi Mouse Y è su e giù.
‫E poi dovremo modificare la scala, vedere se sta andando nella giusta direzione.
‫Ma fondamentalmente, questo ci darà valori negativi se stiamo scendendo e valori positivi se stiamo salendo.
‫Quindi potrebbe essere necessario modificare lo sguardo in alto per vedere se questo andrà nella giusta direzione.
‫Ma hai l'idea che possiamo invertire la scala o meno, a seconda del tipo di input che sta arrivando
‫qui.
‫Quindi, una volta ottenuto il nome di accesso, possiamo tornare al C++.
‫Lo legheremo usando la macro di testo e il testo del nome di accesso.
‫Quindi dobbiamo dire a chi chiameremo la funzione e quale funzione chiameremo.
‫Al momento non abbiamo una funzione che vogliamo chiamare.
‫Quindi andrò a creare una nuova funzione privata nel mio file di intestazione C++.
‫E sarà una funzione vuota che verrà chiamata andare avanti.
‫E prenderà il float, che sarà il valore dell'asse.
‫Finisci con un punto e virgola e ho un piccolo trucco, una piccola estensione qui che mi aiuta a implementare
‫queste cose un po' più velocemente facendo control shift p e.
‫Se digito create implementazione, va avanti e crea quell'implementazione per me nel file C++.
‫Davvero bello e facile.
‫Il nome di tale estensione.
‫Se vado oltre, dimentico sempre i nomi delle mie estensioni, quindi vado a dare un'occhiata a cosa potrebbe
‫essere.
‫Immagino sia questo piccolo stupido qui, l'helper C++.
‫Se vai avanti e installi questo per il tuo codice vocale, ti permette semplicemente di fare quel genere di cose, che
‫è molto bello, molto utile.
‫Quindi questa è la funzione che vogliamo configurarla per chiamare.
‫Quindi prima di tutto diciamo questo.
‫Questo è l'obiettivo.
‫L'oggetto corrente è la destinazione per questa funzione.
‫Quindi andiamo avanti e inseriamo il problema nel problema della funzione pienamente qualificata, nel carattere, due punti, due
‫punti, andare avanti e questo dovrebbe legarsi a questa funzione.
‫E infine, quello che vogliamo fare è passare quel valore dell'asse alla funzione che vogliamo effettivamente
‫chiamare, che è una funzione padre.
‫Quindi non dobbiamo fare niente.
‫Possiamo solo fare movimento pubblicitario.
‫Inserisci in questo modo.
‫Quindi, poiché questo è il metodo di avanzamento, vogliamo avere il vettore in avanti dell'attore.
‫Quindi il modo in cui lo facciamo è possiamo fare un vettore get attore in avanti in questo modo, e quindi vogliamo che sia avanti nella quantità che
‫il nostro valore di accesso ci dà in modo da poterlo moltiplicare per il valore dell'asse.
‫E questo ci darà il risultato giusto.
‫Quindi faremo moltiplicare il vettore in avanti per il valore dell'asse.
‫Se è uno, andiamo avanti, se è meno uno, un vettore avanti diventa un vettore indietro e
‫andiamo indietro solo con questa funzione.
‫Quindi questo ci ha preparato per andare avanti.
‫Grande.
‫La prossima cosa è legare per la nostra ricerca.
‫Quindi andiamo a copiare.
‫Mi piace sempre copiare questi riferimenti di stringa in modo da non commettere errori.
‫Esegui una ricerca e invece di eseguire il binding per andare avanti, torniamo all'intestazione
‫del file e creiamo qualcosa di nuovo che verrà visualizzato e di nuovo, un valore di accesso float.
‫Così.
‫E se controllo il turno P e lo faccio, l'implementazione va avanti e mi fa risparmiare un po' di tempo.
‫E questa volta, invece di aggiungere input di movimento, vogliamo utilizzare una di quelle altre funzioni che
‫avevamo a disposizione.
‫Vale a dire l'input del passo del controller degli annunci perché voglio sostanzialmente aumentare.
‫Quindi questa volta possiamo fare il controller degli annunci.
‫Immette il passo e passa e direttamente il valore dell'asse.
‫Adesso.
‫Ora sii un po' più esperti tra i programmatori C++ che potresti dire Ehi, questa funzione in pratica non fa
‫nulla.
‫Sta solo chiamando qualche altra funzione con lo stesso parametro.
‫Quindi non sta davvero facendo molto.
‫E avresti ragione.
‫Quindi quello che possiamo fare è fare una ripresa, un personaggio che guarda in alto.
‫Quindi potremmo chiamare la funzione che è stata definita su questa classe il personaggio sparatutto.
‫Oppure potremmo dire, beh, c'è un input aggiuntivo per il tono di controllo che potremmo semplicemente chiamarlo direttamente, no?
‫Quindi, se usiamo F12 per scoprire dove è definito e vai e navighi verso di esso, puoi vedere che
‫viene definito in realtà -- punto h.
‫Quindi, se scorri verso l'alto, puoi vedere fino in fondo qui da qualche parte troveremo un senza classe.
‫Potrebbe anche solo cercare classe, spazio, qualcosa del genere.
‫E qui abbiamo una è la classe.
‫Quindi torniamo alle riprese del personaggio e a cosa possiamo provare e rendiamolo un
‫po' più breve dicendo invece, facciamo un -- due punti, due punti aggiungi l'input dell'intonazione del controller in modo che chiami automaticamente
‫direttamente quella funzione genitore anziché dover andare tramite la nostra stessa funzione.
‫Anche questo è un modo valido per farlo, ma non è necessario.
‫Quindi lo commenterò in modo che tu possa fare riferimento ad esso e vederlo se vuoi farlo in quel modo.
‫Ma consiglierei di fare il percorso leggermente più breve in questo modo.
‫Proverò a compilarlo.
‫Ho notato che invece di chiamare dietro l'accesso, come avrei voluto fare, stavo facendo un'azione alla
‫cieca.
‫Quindi probabilmente hai urlato allo schermo per tutto il tempo.
‫Andiamo avanti e costruiamolo di nuovo.
‫A proposito, lo sto facendo con un control shift B e selezionando l'opzione di costruzione.
‫Questo è il semplice editor di sparatutto per vincere 64 build di sviluppo, che è solo una rapida via per me che andare oltre
‫e premere il pulsante di compilazione.
‫Guarderò e oggi non riesco a ottenere la mia sintassi.
‫Ovviamente, dobbiamo usare la e commerciale davanti a questa funzione per dire fondamentalmente che vogliamo
‫ottenere il puntatore.
‫Vogliamo usare la e commerciale davanti a queste funzioni per avere effettivamente la sintassi corretta qui.
‫Bene.
‫Quindi, dopo aver corretto questi due errori molto comuni, uno è che ho ricevuto la chiamata di funzione sbagliata e
‫l'altro è che non ho una e commerciale davanti alle funzioni che sto cercando di usare.
‫Entriamo in Unreal e vediamo se funziona davvero.
‫Se vado avanti e premo play e uso il tasto W e il tasto, puoi vedere che posso muovermi avanti e indietro.
‫È fantastico.
‫E con il mouse posso guardare in alto e in basso.
‫Ma in questo momento mi sento invertito rispetto al mio movimento.
‫Quindi vado solo alle impostazioni e premo meno uno lì dentro e vado avanti e premi play.
‫E ora se vado su e giù, mi sembra corretto.
‫Nota che sto effettivamente generando le uova in due posizioni diverse.
‫Questo perché devo giocare un inizio.
‫Quando ho inserito il secondo, non mi ero reso conto che ce n'era già uno nel livello, motivo per
‫cui a volte faccio sport qui, a volte faccio sport in un luogo diverso.
‫Potresti trovare la stessa cosa.
‫Quindi è tempo di sfide.
‫Facciamo in modo che voi ragazzi leghiate i vostri movimenti e i vostri diritti di look in modo da avere il pieno controllo del nostro
‫movimento.
‫Quindi ripete il processo che ho appena fatto nella lezione per entrambi questi due, e probabilmente
‫lo hai seguito.
‫In caso contrario, puoi andare a guardare per rivedere.
‫E vorrei anche che tu provassi anche la funzione di salto se ti senti coraggioso, fai una pausa, fai un video e
‫prova.
‫Bene.
‫Ben tornato.
‫Quindi proviamoci.
‫Prima di tutto, stiamo ripetendo i passaggi precedenti per andare avanti e guardare in alto.
‫Quindi ci trasferiremo, giusto?
‫E invece di guardare in alto, avremo un aspetto giusto.
‫E possiamo andare avanti e copiarli per impostare i nostri assi nelle impostazioni del progetto.
‫Quindi aggiungi un altro paio di mappature degli assi.
‫Il primo sarà sposta, a destra, che mapperò sulla chiave, un quattro a sinistra.
‫Quindi quello sarà il meno uno sarà meno uno perché in realtà abbiamo lasciato l'opposto a
‫destra.
‫E D saranno quattro in questo momento.
‫Ovviamente, puoi anche aggiungere i tasti freccia qui.
‫Semplicemente non lo sto facendo per risparmiare tempo.
‫Ma puoi andare avanti e fare la stessa cosa.
‫Puoi semplicemente aggiungere più chiavi qui.
‫Tutti i casi che desideri mappare su quel singolo aspetto dell'asse.
‫Bene, useremo il mouse x.
‫E penso che uno dovrebbe essere sufficiente piuttosto che meno uno.
‫Non credo che dobbiamo invertire questo.
‫E poi quello che faremo è legare questo in modo leggermente diverso.
‫Quindi andrò alt oh per creare noi stessi una funzione giusta per le mosse qui.
‫Ora ti starai chiedendo, perché lo stiamo facendo in modo diverso?
‫Perché la mossa è giusta?
‫Perché non stiamo semplicemente chiamando direttamente per aggiungere input di movimento?
‫La differenza è che qui stiamo facendo un po' di calcolo.
‫Stiamo aggiungendo in questa moltiplicazione per un vettore, che sta aggiungendo un po' di informazioni e
‫giustificando l'esistenza di questa funzione.
‫Quindi questa volta, invece di portare avanti l'atto, vogliamo ottenere il vettore corretto dell'attore in questo modo e moltiplicarlo
‫per il valore dell'asse e quindi vogliamo chiamare invece di andare avanti.
‫Vuoi essere chiamato mossa in questo momento per guardare.
‫Giusto.
‫Invece di aggiungere l'input dell'intonazione del controller, vogliamo eseguire i tuoi input.
‫Ricorda il rollio e vieni dagli aeroplani.
‫Puoi cercarlo su Wikipedia se non sei sicuro di quale sia quale.
‫Vai avanti e costruisci quello.
‫Spero che questa volta non ho sbagliato la sintassi.
‫Passiamo all'editor e premiamo play e loro vanno che posso guardarmi intorno.
‫Sembra buono.
‫Posso spostarmi a destra ea sinistra.
‫Posso andare avanti e indietro.
‫Quindi la cosa che ci resta è il salto, che sarà una mappatura dell'azione piuttosto che un asse, perché è un'azione
‫discreta, in un certo senso chiamatela, saltate e copiatela.
‫Passa al codice di Visual Studio.
‫E ho appena chiuso la mia finestra di compilazione.
‫E qui invece di trovare un asse, ce l'hai.
‫Ho intenzione di vincolare un'azione vincolante di azione.
‫Semplice come quella.
‫Inizierà ancora con il testo qui.
‫Di salto.
‫Ma la cosa che è diversa con gli assi, come probabilmente ricorderete.
‫E quindi dobbiamo usare una sintassi che immette gli eventi, che è un enum, il che significa che sostanzialmente può
‫richiedere un certo numero di queste diverse opzioni, doppio clic, comunicato stampa, ecc.
‫Vorremo saltare sulla stampa in questo modo.
‫Così.
‫Quindi questo è IEEE Underscore Press.
‫E poi una volta che lo sappiamo, possiamo andare avanti e fare lo stesso e poi vogliamo chiamare
‫per saltare.
‫Ora dov'è il salto da trovare?
‫È in piscina?
‫Diamo un'occhiata.
‫No, ma potrebbe essere nel personaggio.
‫Quindi farò un controllo P e cercherò un personaggio.
‫H.
‫Aprilo e dai un'occhiata qui, vedi se hanno una funzione di salto definita qui.
‫Saltare e quindi aprire spesso le parentesi è un buon modo per cercare le funzioni all'interno dei file di intestazione.
‫Abbastanza sicuro, abbiamo quella funzione.
‫Puoi vedere la documentazione.
‫Spesso mi piace usare direttamente il codice sorgente piuttosto che cercare i file di documentazione.
‫A volte trovo che l'accesso sia molto più veloce, specialmente quando hai accesso a control p e
‫Visual Studio Code.
‫Quindi quello che dobbiamo fare è invece di fare i due punti poveri, i due punti, dobbiamo fare i due punti del personaggio.
‫Kalonzo Sarà la e commerciale, una colonna dei due punti del carattere.
‫Questo perché sono le classi definite su cui non possiamo andare a cercare la gerarchia quando
‫stiamo facendo questo operatore due punti, due punti e quindi sarà solo un salto.
‫Quindi carattere, due punti, due punti salta.
‫E non dimenticare che ho bisogno di un punto e virgola.
‫Il sottolineato vai avanti e costruisci e vedi se in grado di saltare ora.
‫Bene, la cintura ha funzionato correttamente.
‫Passiamo al livello sandbox.
‫Premi play e prova a saltare.
‫Non ho alcuna chiave vincolata, quindi questo potrebbe ostacolarmi.
‫Aggiungi la barra spaziatrice come chiave che voglio saltare e andare avanti e premere play.
‫Sìì.
‫Sono in grado di saltare su e giù e di muovermi nell'aria e di muovermi.
‫Fantastico.
‫Quindi abbiamo imparato a legare assi e azioni dove non l'abbiamo imparato.
‫L'abbiamo rivisto, ma abbiamo visto a cosa vogliamo legarci in un personaggio per ottenere quel personaggio
‫classico che salta, mitraglia, si muove e guarda con la tua telecamera che tutti conosciamo e amiamo dai nostri
‫tiratori.
‫Nella prossima lezione, esamineremo le sfumature richieste per lo spostamento con un controller e una tastiera.
‫Un topo.