Mål: At kunne lave en C++ baseret Character, som kan bevæge sig rundt i First Person og som kan svinge et sværd. Alt Input som bliver implementeret skal blandt andet gøres med UE5’s Enhanced Input System frem for den gamle måde at gøre det på.
Jeg har fulgt to videoer af Acromata på YouTube, som viser og forklarer godt hvordan man kan lave en sådan First Person Character, det eneste som ikke er så godt ved hans videoer her, er at han benytter det gamle Input System frem for Enhanced Input System, og derfor har jeg været nødt til at supplere selv med det jeg lærte Onsdag d. 05-03.
Det første jeg gjorde var at lave et nyt C++ script.

Her valgte jeg at gå med typen Character, da det er hvad jeg har tænkt mig at lave. Som man også kan se der står “A Character is a type of Pawn that includes the ability to walk around”, som er præcis det som jeg skal have.
Derefter laver jeg et Blueprint baseret på dette script, kaldet BP_FirstPersonCharacter.

Så går jeg ind I mit FirstPersonCharacter.h og tilføjer de properties jeg gerne vil have.

Her er alle de properties som jeg skal bruge for at lave min Character, jeg har en masse properties for alle de Input Actions som jeg vil benytte mig af, Jump, Move, Look & Attack. Derefter har jeg et Camera, Sword mesh & Attack Animation. Derefter nogle metoder som mine Inputs skal udføre. Alt dette gik jeg ind i mit FirstPersonCharacter.cpp, og implementerede.

Her I Constructeren på mit script (som bliver kaldt når Unreal Engine åbner), fortæller jeg Unreal Engine hvordan mine properties som Camera & Sword Mesh skal behandles, og hvordan de skal placeres i Hiearki og deres navne. Blandt andet på linje 24 siger jeg at min SwordMesh, skal placeres under SwordSocket, som er et Socket jeg har tilføjet til min Character Mesh’s skelet.

Som man kan se her på billedet op over.

Her er min kode for at implementere al Input funktionalitet, hvor jeg går ind og tilføjer min InputMappingContext til min character, derefter går jeg hen og tilføjer Action Bindings, til alle de Input Actions som jeg skal bruge, og fortæller hvilke metoder som de skal sætte i gang.

Derefter er der disse 3 metoder som er implementeret, den første for at kunne bevæge min character rundt med tasterne WASD, og en eventuel controller hvis den er tilsluttet, og da Unreal Engine 5’s ACharacter klasse, som min AFirstPersonCharacter nedarver fra, allerede har en Movement Implementation, benytter jeg mig bare af denne. Det samme sker faktisk inden under Look & Jump funktionerne.
Så er der StartAttack, som på nuværende tidspunkt kun afspiller den attack animation sat til min character. Med alt dette får jeg en character som kan alt det som var målet, hoppe, bevæge sig og angribe med et sværd.
Produkt:
Kilder:
