Sommario:

Come creare un personaggio 2D con il controller dei caratteri in Unreal Engine 4 utilizzando Visual Script per PC: 11 passaggi
Come creare un personaggio 2D con il controller dei caratteri in Unreal Engine 4 utilizzando Visual Script per PC: 11 passaggi

Video: Come creare un personaggio 2D con il controller dei caratteri in Unreal Engine 4 utilizzando Visual Script per PC: 11 passaggi

Video: Come creare un personaggio 2D con il controller dei caratteri in Unreal Engine 4 utilizzando Visual Script per PC: 11 passaggi
Video: Come creare un Battle Royale: "Combat System" 2024, Dicembre
Anonim
Image
Image

Come creare un personaggio 2D con il controller del personaggio in Unreal Engine 4 utilizzando lo script visivo per PC Ciao, sono Jordan Steltz. Sviluppo videogiochi da quando avevo 15 anni. Questo tutorial ti insegnerà come creare un personaggio di base con input per il movimento su un piano 2D.

Passaggio 1: configurazione di Epic Games e Unreal Engine

Prima di iniziare, dobbiamo assicurarci di avere tutto il necessario per seguire questo tutorial. Avrai bisogno di un motore Unreal (preferibilmente una versione successiva alla 4.16) risorse 2D per il personaggio e una stanza di prova. Nota a margine, è necessario un account Epic Games per utilizzare il motore e il launcher di Epic Games verrà utilizzato per installare il motore. La prima cosa da fare è creare un account Epic Games. Per fare ciò puoi andare su https://www.epicgames.com/site/en-US/home e fare clic sul pulsante di accesso, quindi fare clic su Iscriviti e compilare le informazioni richieste. Quindi, dopodiché, dobbiamo installare il launcher di giochi Epic e successivamente installare una versione di Unreal Engine. Dopo aver installato Epic Games Launcher, accedi al launcher utilizzando l'account appena creato, vai alla scheda Unreal engine e fai clic sul pulsante Install engine. Un'altra nota a margine, facendo clic sul pulsante di installazione del motore ti verrà chiesto di installare l'ultima versione di Unreal Engine, in questo momento è Unreal Engine 4.21.2.

Passaggio 2: impostazione del progetto

Dopo aver installato l'Engine, è il momento di creare il progetto. Unreal ha dei template che possono essere usati ma mi piace partire da zero, se vuoi puoi usare il template 2d oppure puoi creare un progetto vuoto, dargli un nome e lasciarlo caricare. Nota a margine sul contenuto iniziale, non sarà necessario per questo tutorial, tuttavia puoi conservare quel contenuto se lo desideri.

Passaggio 3: ottenere animazioni e impostare le animazioni dei personaggi

La prossima cosa che dobbiamo fare è importare le risorse, ho preso la mia da: https://www.kenney.nl/. Questo sito ha personaggi e tilemap, ma se hai le tue risorse sentiti libero di usarle. Esistono 2 modi per importare risorse in Unreal Engine, il metodo di trascinamento della selezione, oppure puoi fare clic su importa e importare le risorse di cui hai bisogno. Inoltre consiglio di creare cartelle nel motore per rendere le cose più facili da trovare. Normalmente creo cartelle per le risorse dei personaggi, le animazioni e lo stato di enumerazione, quindi importa gli sprite e quando li selezioni tutti usando "Ctrl" + "A" per selezionare tutti gli sprite e fai clic con il pulsante destro del mouse su uno degli sprite selezionati vai a "Azioni Sprite" e fare clic su "Applica impostazioni texture 2D Paper". Questa impostazione rende i file che abbiamo importato molto più belli. Dopodiché, se gli sprite non sono selezionati, usa il controllo e un tasto per selezionare nuovamente tutte le immagini, fai clic con il pulsante destro del mouse e trova le azioni dello sprite e fai clic su "Estrai sprite". Successivamente, è la parte divertente creare animazioni e iniziare a impostare gli stati di animazione dei personaggi. Per ora concentriamoci sulle animazioni stesse. Ho dimenticato di dire che prima di iniziare il progetto del personaggio dovrebbe essere creato, fare clic con il tasto destro del mouse sulla classe del progetto, c'è un pulsante a discesa di tutte le classi, fare clic su quel pulsante e digitare "Carattere di carta". Seleziona quell'opzione e dai un nome al progetto. Chiamerò il mio "EGA player_character". Ora che è stato creato, possiamo creare le animazioni per il personaggio del giocatore. Se stai usando animazioni da kenney.nl, i fotogrammi dell'animazione sono numerati, ad esempio, se ci sono 2 fotogrammi per l'animazione a piedi, il nome sarà "Assetname_walk_0" e così via. Iniziamo con le animazioni a piedi, trova i rispettivi sprite e fai clic con il tasto di controllo per selezionarli, quindi fai clic con il pulsante destro del mouse su uno di essi e sull'opzione "Crea flipbook". Fallo per il resto degli sprite per il salto e per gli spiriti della morte.

Passaggio 4: gestione degli input e degli stati di enumerazione

Successivamente, gli stati di enumerazione e l'impostazione del movimento dei caratteri e degli input. Le enumerazioni verranno utilizzate per memorizzare lo stato del lettore e saranno utili per impostare in seguito la funzione set flipbook. Per creare un progetto di enumerazione, fare clic con il pulsante destro del mouse su "Progetti" e fare clic su "Enumerazione". La prossima cosa da fare è creare l'enumerazione da utilizzare nella funzione set flipbooks in seguito, dopodiché dobbiamo creare gli input per il giocatore. Per farlo vai su "modifica" >> "Impostazioni progetto" e trova "Motore" fai clic su Input e ci sono 2 opzioni di mappatura "Action Mapping" e "Axis Mapping", Axis Mapping verrà utilizzato per lo spostamento a sinistra e a destra, Ci sarà una mappatura degli assi e una mappatura delle azioni, ricorda che questo è di base e puoi aggiungere più cose al tuo personaggio. Per prima cosa l'action mapping tutto ciò che devi fare è premere il pulsante più, quindi dargli un nome, lo chiamerò Jump, quando andrai a impostare un input chiave ci sono molte piattaforme e controller diversi, continuerò con il PC. Quindi sto impostando la chiave per la freccia su e lo spazio. La prossima è l'azione dell'asse, l'ho chiamata sposta a destra e l'ho impostata sulla freccia destra. Ora possiamo concentrarci sulle enumerazioni, ci saranno 2 enumerazioni: camminare e saltare. Puoi aggiungere le tue descrizioni delle enumerazioni. Quindi, ecco come aggiungerli, fare clic su nuovo e assegnare un nome all'enumerazione e se si desidera una descrizione.

Passaggio 5: impostazione del progetto del personaggio

Ora possiamo arrivare al lato della programmazione delle cose, prima imposta lo sprite predefinito facendo clic sul componente sprite e trovando l'opzione Source Flipbook e selezionando l'animazione inattiva creata in precedenza. Ora, abbiamo bisogno di creare alcune variabili, abbiamo bisogno di un booleano, un booleano o bool è fondamentalmente una domanda vera o falsa, bool ci dirà se il personaggio del giocatore si sta muovendo a destra. Lo chiamerò Spostamento a destra seguito da un punto interrogativo, ed è atterrato. È atterrato verrà utilizzato per l'animazione di salto e l'evento di atterraggio successivo.

Passaggio 6: creazione di variabili

A questo punto, vorrei sollevare la categorizzazione delle variabili che creiamo. Sul lato destro c'è un pannello con il nome della variabile, il valore, l'istanza modificabile (il che significa che è pubblica e puoi cambiarla nell'editor) e la categoria, fai clic nella casella di testo della categoria e dai un nome alla categoria, suggerisco "Movimento" questo conterrà il bool e il riferimento alla macchina a stati di enumerazione che abbiamo creato in precedenza. Avremo anche bisogno di creare un altro bool relativo al movimento che chiamerò è atterrato. Successivamente è il momento di concentrarsi sulle variabili per i flipbook, per questi esiste un tipo di variabile chiamato Paper Flipbook, impostalo su riferimento oggetto, compila il progetto in modo da poter modificare i valori predefiniti delle variabili, tuttavia devo mettere in guardia contro la modifica dei valori predefiniti del booleano variabili su true, rovinerà ciò che stiamo facendo in seguito. Crea la quantità di variabili oggetto del flipbook di cui avrai bisogno. Dopodiché dovremo aggiungere una telecamera e un componente del braccio a molla, per aggiungere un componente basta fare clic su aggiungi componente e cercare su telecamera, ma non dimenticare che è richiesto anche un braccio a molla, quindi fai nuovamente clic su aggiungi componente cerca braccio a molla seleziona esso. Ora, fai clic e trascina la telecamera, se non è già un figlio del braccio a molla sul braccio a molla.

Passaggio 7: configurazione della fotocamera

Ora è il momento di cambiare le impostazioni della fotocamera nel pannello dei dettagli c'è un'opzione delle impostazioni della fotocamera sotto l'impostazione della fotocamera cambia la modalità di percezione in ortografica e un rapporto di aspetto che funziona per lo schermo del tuo computer Non sono molto bravo con le proporzioni quindi, io ho appena cambiato il mio in 2048, per evitare lo scricchiolio dello schermo, quindi salva e compila il progetto.

Nota a margine imposta i vincoli per il carattere su x, yez sia per la rotazione che per la posizione.

Passaggio 8: modifica della modalità di gioco

Image
Image

La prossima cosa che dovremmo fare è cambiare le impostazioni della modalità di gioco per farlo andiamo alla scheda di modifica e selezioniamo le impostazioni del progetto, quindi troviamo mappe e modalità fai clic sul tasto carota per la modalità di gioco selezionata, sembra che potrei aver bisogno di creare una nuova modalità di gioco così, se le tue opzioni sono disattivate come le mie, fai clic sul segno più vicino al nome della modalità di gioco selezionata Lo sto facendo in modo da poter modificare il personaggio del giocatore che unreal utilizzerà ogni volta che caricheremo il gioco.

Passaggio 9: imposta la creazione della funzione Flipbook

È ora di iniziare a lavorare sulla configurazione del controller di movimento dei personaggi del giocatore, fare doppio clic sul progetto di carta del personaggio che hai creato ti porterà in una delle 2 finestre il grafico dell'evento o la finestra, se non sei già nel grafico dell'evento e sono nella finestra fare clic sulla terza scheda (se si utilizza l'impostazione predefinita del motore irreale). Sarai accolto da una schermata vuota con una scatola con una carota chiamata OnEvent BeginPlay, non preoccuparti ancora. Invece, creeremo una nostra funzione di libro a fogli mobili.

Sotto la scheda dei componenti c'è la scheda delle funzioni fare clic sul segno più nella scheda delle funzioni, a questo punto dovremmo creare la variabile per memorizzare la macchina a stati che abbiamo creato in precedenza, la macchina a stati aiuterà a passare facilmente da un'animazione all'altra senza dover utilizzare lo standard Unreal Imposta la funzione Flipbook, fai doppio clic sulla nuova funzione e c'è una casella viola con il nome della nuova funzione su di essa fai clic su di essa e c'è un'opzione per gli input fai clic sul segno più nella scheda degli ingressi imposta la variabile facendo clic sul pulsante a discesa e nella barra di ricerca digita il nome dell'enumerazione creata in precedenza che ha come input iniziale o come di solito lo chiamo lo stato successivo. Quindi imposta l'istanza per lo stato trascinando la variabile enum dalla scheda delle variabili e quando lo fai fai clic sull'opzione set. Fuori da questo fai clic sulla carota e trascina, quindi rilascia il pulsante del mouse, ci sarà un menu che viene visualizzato con una barra di ricerca tipo set flipbook nella funzione, seleziona proprio quell'opzione, in quell'opzione abbiamo alcune opzioni, ad esempio: target che viene impostato automaticamente su sprite e nuovo flipbook, con quell'opzione flipbook trascinalo fuori e seleziona la ricerca. Con select c'è un indice, per impostazione predefinita è un booleano, possiamo cambiarlo trascinando e rilasciando la macchina a stati nell'indice, che ci darà l'opportunità di utilizzare i libri a fogli mobili che abbiamo creato, trascinare e rilasciare quelle variabili nelle rispettive posizioni, comunque lo si imposta. Quella selezione sarà ciò che deciderà il prossimo flipbook. Dopo che il pezzo della funzione del flipbook impostato, trascina fuori dal flipbook impostato e digita il nodo di ritorno. Lo faccio per pulizia, non è necessario. Questo è tutto ciò di cui abbiamo bisogno per la funzione set flipbook.

Passaggio 10: configurazione dei componenti di movimento

Successivamente, è necessario impostare il componente di movimento, accedere al grafico degli eventi e fare clic con il pulsante destro del mouse e cercare Input Axis Ho chiamato l'asse di input per lo spostamento a destra MoveRight. Questo evento sarà il nostro controller di movimento. Quindi, fuori dall'asse di input, trascina il filo fuori dalla carota e cerca confronta float, se il valore dell'asse non è già nella bolla di input trascina il filo del valore dell'asse nella bolla di input. Nel float di confronto ci sono 3 pezzi importanti, non useremo la parte == del float di confronto. Nella porzione < dobbiamo impostare il bool di spostamento a destra trascinando la variabile dal pannello al grafico dell'evento e facendo clic sull'opzione set e fare clic sulla casella di controllo una volta, questo imposterà il bool per lo spostamento a destra vero, trascina il bool di spostamento a destra e impostalo su false per la parte <, del float di confronto. Da questo trascinare un filo da una delle istruzioni set e cercare l'input di aggiunta movimento, prendere l'altra istruzione set e trascinarla nell'input di aggiunta movimento dello script, quindi trascinare dalla bolla dell'asse di input al valore di scala dell'input di movimento aggiuntivo bolla. Nota a margine, consiglio di commentare, quindi come si fa è fare clic con il tasto sinistro e trascinare sui pezzi di codice che si desidera commentare e premere C.

Passaggio 11: direzione di salto e finalizzazione

Image
Image

Infine, al controller di direzione. Ciò includerà un float di confronto. Crea un altro evento personalizzato, da lì abbiamo bisogno di un float di confronto, confrontandolo con 0, abbiamo bisogno di ottenere la velocità, ma invece di ottenere semplicemente la velocità, dividi il pin del valore di ritorno facendo clic con il pulsante destro del mouse e facendo clic su split struct pin. Usa il valore di ritorno X come input per il confronto float con > e == andando al vero del ramo che dobbiamo creare usando la variabile sposta a destra con < e il falso del ramo che va alla rotazione del controllo impostata, che dovremo dividere la bolla di rotazione con lo stesso metodo utilizzato per dividere il pin di velocità di get, quindi impostare il pin Z su 180.0, come mai dal momento che non abbiamo un obiettivo ancora un motore irreale ci urlerà fino a quando non troveremo un obiettivo, qui è dove facciamo clic con il pulsante destro del mouse e digitiamo nella barra di ricerca get controller utilizzando il valore restituito per impostare i nodi di rotazione del controllo. Il secondo nodo di rotazione del controllo del set avrà tutto uguale a 0. Un'altra cosa è saltare, questo sarà un po' lungo. La prima cosa che facciamo per questa parte dell'impostazione del carattere è cercare il salto dell'asse di input o qualunque cosa tu abbia deciso di chiamare quella mappatura dei pulsanti, da lì vedremo che c'è un ramo premuto e rilasciato sul premuto che possiamo trascinare fuori da quel triangolo e il salto di ricerca, una volta rilasciato possiamo cercare lo stop jump. Tuttavia, non abbiamo finito lì, fare clic con il tasto destro e cercare può saltare e utilizzare il valore restituito in un ramo sull'evento vero, dobbiamo chiamare la nostra funzione set flipbook e aggiungere un ritardo di 0,2 secondi, quindi ottenere un riferimento al componente di movimento del personaggio e vedere se il personaggio sta cadendo cercando sta cadendo nella barra di ricerca usando il valore di ritorno di quello per impostare il nostro flipbook sullo stato di inattività (dal momento che il personaggio che sto usando non ha un'animazione di caduta a quanto pare.)

Ora è finalmente giunto il momento di testare questo personaggio nel gioco. Prima di testarlo, tuttavia, assicurati di prendere il controller di animazione e il controller di direzione e collegarli al segno di spunta dell'evento.

Consigliato: