Inhoudsopgave:

Hoe maak je een 2D-personage met Character Controller in Unreal Engine 4 met Visual Script voor pc: 11 stappen
Hoe maak je een 2D-personage met Character Controller in Unreal Engine 4 met Visual Script voor pc: 11 stappen

Video: Hoe maak je een 2D-personage met Character Controller in Unreal Engine 4 met Visual Script voor pc: 11 stappen

Video: Hoe maak je een 2D-personage met Character Controller in Unreal Engine 4 met Visual Script voor pc: 11 stappen
Video: Leap Motion SDK 2024, November
Anonim
Image
Image

Hoe maak je een 2D-personage met een personagecontroller in Unreal Engine 4 met behulp van een visueel script voor pc Hallo, ik ben Jordan Steltz. Ik ontwikkel al videogames sinds mijn 15e. In deze tutorial leer je hoe je een basispersonage maakt met input voor beweging op een 2D-vlak.

Stap 1: Epic Games en Unreal Engine instellen

Voordat we beginnen, moeten we ervoor zorgen dat je alles hebt wat je nodig hebt om samen met deze tutorial te volgen. Je hebt een Unreal-engine nodig (bij voorkeur een versie later dan 4.16) 2D-middelen voor karakter en een testruimte. Kanttekening, een Epic-gamesaccount IS vereist om de engine te gebruiken en de epische games-launcher zal worden gebruikt om de engine te installeren. Allereerst is het belangrijk om een Epic games-account aan te maken. Om dit te doen, ga je naar https://www.epicgames.com/site/en-US/home en klik je op de knop Aanmelden en vervolgens op Aanmelden en vul je de vereiste informatie in. Daarna moeten we het opstartprogramma voor Epic-games installeren en daarna een versie van Unreal Engine. Nadat u Epic Games Launcher hebt geïnstalleerd, meldt u zich aan bij het opstartprogramma met behulp van het nieuw gemaakte account, gaat u naar het tabblad Unreal engine en klikt u op de knop engine installeren. Een andere kanttekening is dat als je op de knop 'engine installeren' klikt, je wordt gevraagd om de nieuwste versie van Unreal Engine te installeren, op dit moment is dat Unreal Engine 4.21.2.

Stap 2: Het project opzetten

Nadat de Engine is geïnstalleerd, is het tijd om het project te maken. Unreal heeft sjablonen die kunnen worden gebruikt, maar ik begin graag helemaal opnieuw, als je wilt, kun je de 2D-sjabloon gebruiken of je kunt een leeg project maken, het een naam geven en het laten laden. Kanttekening over de startersinhoud, deze is niet nodig voor deze zelfstudie, maar u kunt die inhoud behouden als u dat wilt.

Stap 3: Animaties krijgen en karakteranimaties instellen

Het volgende dat we moeten doen is de activa importeren, ik heb de mijne van: https://www.kenney.nl/. Deze site heeft karakters en tilemaps, maar als je je eigen middelen hebt, voel je dan vrij om ze te gebruiken. Er zijn 2 manieren om activa in Unreal Engine te importeren, de methode met slepen en neerzetten, of u kunt klikken op de activa die u nodig hebt importeren en importeren. Ik raad ook aan om mappen in de engine te maken om dingen gemakkelijker te vinden te maken. Ik maak normaal gesproken mappen voor de karakters, animaties en opsommingsstatus, dus importeer de sprites en wanneer je ze allemaal selecteert, gebruik je "Ctrl" + "A" om alle sprites te selecteren en klik met de rechtermuisknop op een van de geselecteerde sprites ga naar "Sprite-acties" en klik op "Papier 2D-textuurinstellingen toepassen". Deze instelling zorgt ervoor dat de bestanden die we hebben geïmporteerd er zoveel mooier uitzien. Als de sprites daarna niet zijn geselecteerd, gebruik dan de besturing en een toets om alle afbeeldingen opnieuw te selecteren, klik met de rechtermuisknop en zoek sprite-acties en klik op "Sprites uitpakken". Het volgende is het leuke gedeelte van het maken van animaties en het beginnen met het instellen van de animatiestatussen van de personages. Laten we ons nu concentreren op de animaties zelf. Ik vergat te vermelden dat voordat we beginnen de tekenblauwdruk moet worden gemaakt, klik met de rechtermuisknop op de blauwdrukklasse, er is een vervolgkeuzeknop voor alle klassen, klik op die knop en typ "Paper Character". Selecteer die optie en geef de blauwdruk een naam. Ik zal de mijne "EGA player_character" noemen. Nu het is gemaakt, kunnen we de animaties voor het personage van de speler maken. Als u animaties van kenney.nl gebruikt, zijn de animatieframes bijvoorbeeld genummerd, als er 2 frames zijn voor de loopanimatie, is de naam "Assetname_walk_0", enzovoort. Laten we beginnen met de lopende animaties, zoek de respectievelijke sprites en Ctrl-klik om ze te selecteren, klik vervolgens met de rechtermuisknop op een van hen en de optie "Flipbook maken". Doe dit voor de rest van de sprites voor springen en de death sprites.

Stap 4: Omgaan met invoer- en opsommingsstatussen

Vervolgens Opsommingsstaten en het instellen van de karakterbeweging en invoer. Opsommingen worden gebruikt om de status van de speler op te slaan en zijn later handig voor het instellen van de ingestelde flipbook-functie. Om een opsommingsblauwdruk te maken, klikt u met de rechtermuisknop naar de "Blauwdrukken" en klikt u op "Opsomming". Het volgende dat u moet doen, is de opsomming maken voor later gebruik in de functie voor het instellen van flipbooks, daarna moeten we de invoer voor de speler maken. Om dat te doen ga je naar "bewerken" >> "Projectinstellingen" en zoek je "Engine" klik op Input en er zijn 2 toewijzingsopties "Action Mapping" en "Axis Mapping", Axis Mapping wordt gebruikt om naar links en rechts te bewegen, Er zal één Axis Mapping en één Action mapping zijn, onthoud dat dit eenvoudig is en je kunt meer dingen aan je personage toevoegen. De eerste actie die je in kaart brengt, is alles wat je hoeft te doen, op de plusknop te drukken en het een naam te geven, ik noem het Jump. Als je een toetsinvoer gaat instellen, zijn er veel platforms en verschillende controllers, ik blijf bij pc. Dus ik stel de sleutel in op de pijl omhoog en de spatie. De volgende is asactie, ik noemde het naar rechts bewegen en zet het op de pijl naar rechts. Nu kunnen we ons concentreren op opsommingen, er zullen 2 opsommingen zijn: lopen en springen. Je kunt je eigen beschrijvingen van de opsommingen toevoegen. Dus, hier is hoe je ze toevoegt, klik op nieuw en geef de opsomming een naam en als je een beschrijving wilt.

Stap 5: De karakterblauwdruk instellen

Nu kunnen we de programmeerkant van de dingen bekijken, eerst de standaard sprite instellen door op de sprite-component te klikken en de optie Source Flipbook te vinden en de eerder gemaakte inactieve animatie te selecteren. Nu moeten we een paar variabelen maken, we hebben een Boolean nodig, een Boolean of bool is in feite een waar of onwaar vraag, bool zal ons vertellen of het personage van de speler naar rechts beweegt. Ik noem het naar rechts bewegen gevolgd door een vraagteken, en is geland. Is geland zal later worden gebruikt voor de springanimatie en het op gelande evenement.

Stap 6: Variabelen maken

Op dit punt wil ik het hebben over het categoriseren van de variabelen die we maken. Aan de rechterkant is er een paneel met de variabele naam, waarde, instantie bewerkbaar (wat betekent dat het openbaar is en kun je het in de editor wijzigen) en categorie, klik in het categorietekstvak en geef de categorie een naam, stel ik voor "Beweging" dit bevat de bool en de verwijzing naar de enumeratiestatusmachine die we eerder hebben gemaakt. We zullen ook een andere bewegingsgerelateerde bool moeten maken die ik zal noemen is geland. Vervolgens is het tijd om je te concentreren op variabelen voor de flipbooks, hiervoor is er een variabel type genaamd Paper Flipbook, stel het in op objectreferentie, compileer de blauwdruk zodat je de standaardwaarden van variabelen kunt bewerken, maar ik moet waarschuwen voor het wijzigen van de standaardwaarden van de boolean variabelen naar waar, zal het wat we later doen in de war brengen. Creëer het aantal flipbook-objectvariabelen dat u nodig hebt. Daarna moeten we een camera en een veerarmcomponent toevoegen, om een component toe te voegen, klikt u gewoon op component toevoegen en zoekt u camera op, maar vergeet niet dat een veerarm ook vereist is, dus klik nogmaals op component toevoegen zoek veerarm op het. Klik en sleep nu de camera, als deze nog geen kind is van de veerarm op de veerarm.

Stap 7: De camera instellen

Nu is het tijd om de camera-instellingen te wijzigen in het detailpaneel. Er is een camera-instellingenoptie onder de camera-instelling. Verander de waarnemingsmodus in orthografische en een beeldverhouding die werkt voor uw computerscherm Ik ben niet erg goed met beeldverhoudingen, dus ik heb zojuist de mijne gewijzigd in 2048, om crunch op het scherm te voorkomen, sla het project op en compileer het.

Kanttekening stelt de beperkingen voor het teken in op x, y en z voor zowel rotatie als positie.

Stap 8: De spelmodus wijzigen

Image
Image

Het volgende dat we moeten doen, is de instellingen van de spelmodus wijzigen om dat te doen, we gaan naar het tabblad Bewerken en selecteren projectinstellingen en zoeken vervolgens naar kaarten en modi klik op de worteltoets bij de geselecteerde gamemodus, het lijkt erop dat ik misschien een nieuwe gamemodus moet maken, dus, als je opties grijs zijn, zoals de mijne, klik je op het plusteken bij de naam van de geselecteerde spelmodus. Ik doe dit zodat we het personage van de speler kunnen bewerken dat onwerkelijk zal gebruiken wanneer we het spel laden.

Stap 9: Aanmaken van flipbook-functie instellen

Het is tijd om te gaan werken aan het instellen van de bewegingscontroller van de spelerpersonages, dubbelklik op de papieren karakterblauwdruk die je hebt gemaakt, het brengt je naar een van de 2 vensters, de gebeurtenisgrafiek of de viewport, als je nog niet in de gebeurtenisgrafiek bent en zijn in de viewport klik op het 3e tabblad (als u de standaardinstelling van de unreal engine gebruikt). Je wordt begroet door een leeg scherm met een doos met een wortel erin genaamd OnEvent BeginPlay, maak je daar nog geen zorgen over. In plaats daarvan gaan we zelf een vaste flipbook-functie opzetten.

Onder het tabblad Componenten bevindt zich het tabblad Functies, klik op de plus op het tabblad Functie, op dit punt moeten we de variabele maken om de toestandsmachine op te slaan die we eerder hebben gemaakt, de toestandsmachine zal helpen om gemakkelijk tussen animaties te schakelen zonder de standaard Unreal te hoeven gebruiken Stel de Flipbook-functie in, dubbelklik op de nieuwe functie en er is een paars vak met de naam van de nieuwe functie erop, klik erop en er is een optie voor invoer klik op de plus op het tabblad invoer stel de variabele in door op de vervolgkeuzeknop te klikken en typ in de zoekbalk de naam van de opsomming die eerder is gemaakt, heb dat als de eerste invoer of zoals ik het gewoonlijk de volgende status noem. Stel vervolgens de instantie voor status in door de variabele enum van het tabblad met variabelen naar binnen te slepen en wanneer u dat doet, klikt u op de optie instellen. Klik daarna op bij de wortel en sleep en laat de muisknop los, er zal een menu zijn dat wordt geopend met een zoekbalktype stel flipbook in de functie in, selecteer diezelfde optie, in die optie hebben we een paar opties, zoals: doel dat automatisch is ingesteld op sprite, en nieuw flipbook, met die flipbook-optie sleept u dat weg en selecteert u zoeken. Met de select is er een index, standaard is het een boolean, we kunnen dat veranderen door de toestandsmachine in de index te slepen en neer te zetten, dat geeft ons de mogelijkheid om de flipbooks die we hebben gemaakt te gebruiken, die variabelen te slepen en neer te zetten in de respectievelijke posities, hoe u het ook instelt. Die selectie zal het volgende flipbook bepalen. Sleep na het ingestelde flipbook een stuk van de functie van het ingestelde flipbook en typ return node. Ik doe dit voor de netheid, het is niet verplicht. Dat is alles wat we nodig hebben voor de ingestelde flipbook-functie.

Stap 10: Installatie van bewegingscomponenten

Vervolgens moeten we de bewegingscomponent instellen, ga naar de gebeurtenisgrafiek en klik met de rechtermuisknop en zoek Input Axis Ik noemde de invoeras om naar rechts te bewegen MoveRight. Dit evenement wordt onze motion controller. Sleep vervolgens van de invoeras de draad van de wortel en zoek vergelijk float, als de aswaarde zich nog niet in de invoerbel bevindt, sleept u de aswaardedraad naar de invoerbel. In de vergelijk float zijn er 3 belangrijke stukken, we zullen het == gedeelte van de vergelijk float niet gebruiken. In het <-gedeelte moeten we de bool verplaatsen naar rechts instellen door de variabele van het paneel naar de gebeurtenisgrafiek te slepen en op de set-optie te klikken en eenmaal op het selectievakje te klikken, dit zal de bool instellen om naar rechts waar te gaan, de bool naar rechts verplaatsen en stel dat in op false voor het <, gedeelte van de vergelijk float. Sleep hieruit een draad van een van de set-instructies en zoek bewegingsinvoer toevoegen, neem de andere set-instructie en sleep deze naar het invoergedeelte voor beweging toevoegen van de scripting, sleep vervolgens van de invoerasbel naar de schaalwaarde van de invoer voor beweging toevoegen bubbel. Kanttekening, ik raad aan om commentaar te geven, dus hoe je dat doet, is door met de linkermuisknop te klikken en over de stukjes code te slepen die je wilt becommentariëren en op C te drukken.

Stap 11: Springrichting en afronding

Image
Image

Eindelijk, op naar de richtingcontroller. Dit omvat een vergelijk float. Maak nog een aangepaste gebeurtenis, van daaruit hebben we een vergelijkings-float nodig, vergeleken met 0, we moeten snelheid krijgen, maar in plaats van alleen de snelheid te splitsen, wordt de retourwaarde-pin gesplitst door met de rechtermuisknop te klikken en te klikken op de split-struct-pin. Gebruik de retourwaarde X als invoer voor de vergelijkingsfloat met de > en == die naar de true gaan van de tak die we moeten maken met behulp van de move right variabele met < en de false van de tak die naar de ingestelde controlerotatie gaat, die we zullen de rotatiebubbel moeten splitsen met dezelfde methode die wordt gebruikt om de get-snelheidspin te splitsen, en vervolgens de Z-pin op 180.0 zetten, maar aangezien we geen doelwit hebben, zal de onwerkelijke motor tegen ons schreeuwen totdat we een doelwit vinden, dit is waar we met de rechtermuisknop klikken en typen in de zoekbalk get controller met behulp van de retourwaarde voor ingestelde besturingsrotatieknooppunten. De tweede set besturingsrotatieknooppunt heeft alles gelijk aan 0. Nog een ding is springen, dit gaat wat lang duren. Het eerste wat we doen voor dit deel van de tekenset-up is het opzoeken van invoerassprong of hoe je die knoptoewijzing ook wilt noemen, vanaf daar zullen we zien dat er een ingedrukte en losgelaten tak op de ingedrukte is waar we uit kunnen slepen die driehoek en zoeksprong, bij loslaten kunnen we stopsprong opzoeken. We zijn daar echter nog niet klaar, klik met de rechtermuisknop en kijk omhoog kan springen en de retourwaarde in een vertakking gebruiken voor de ware gebeurtenis die we nodig hebben om onze set flipbook-functie aan te roepen en een vertraging van 0,2 seconden toe te voegen en dan een verwijzing naar de karakterbewegingscomponent te krijgen en kijk of het personage valt door te zoeken valt in de zoekbalk met behulp van de retourwaarde daarvan om ons flipbook in de ruststand te zetten (aangezien het personage dat ik gebruik geen vallende animatie heeft door het uiterlijk ervan.)

Nu is het eindelijk tijd om dit personage uit te testen in het spel. Voordat je het test, zorg er echter voor dat je de animatiecontroller en de richtingscontroller neemt en deze aansluit op de gebeurtenisvink.

Aanbevolen: