Mål: At kunne implementere en simpel Third Person Controller med C++ i Unreal Engine.

For at lave en Third Person Controller, har jeg taget mange af de ting som jeg har lavet på Delprodukt: Spiludvikling, First Person Character C++. Der var dog nogle ting som er anderledes, f.eks. den måde movement fungere på, jeg vil gerne have det sådan at man w,a,s,d til at bevæge sig rundt, og kameraet skal ikke kunne bevæge sig. Dette har jeg tænkt for at gøre controls mere simple, da produktet er målrettet mod børn.

Jeg har skulle opsætte mit Enhanced Input system på samme måde som fra Delprodukt: Spiludvikling, First Person Character C++.

Derefter implementerede jeg min Move metode og sprint metode. Move metoden skulle jeg bare sørge for at man skal kunne bevæge sig op, ned, venstre og højre.

I denne kode sørger jeg for at mit input er normalized, altså at værdien ikke kan overskride 1, så værdien ligger imellem 0 og 1. Dette gør jeg for ellers når man går skråt øger den spillerens hastighed, og jeg vil meget gerne have at hastigheden er ens.

Min sprint metode er meget simpel da har en variabel som hedder isWalking som kan være true eller false, den skifter jeg imellem når kalder shift metoden. Hvis den før var true så bliver den false og så videre. Dernæst ud fra om spilleren så går eller løber sætter jeg hastigheden på enten at være fuld hastighed(løbende) eller halv hastighed (gående).

Jeg har også skulle sige at min karakter skal bruge et kamera for rendering og en spring arm, som er et komponent kameraet sidder på som styrer afstand og rotation omkring karakteren.

Derefter lavede jeg et blueprint ud fra min C++ klasse så jeg kan bruge det i mit spil, og sætte en karakter op. Figuren har jeg taget fra et library på Fab som ligger under kilder.

Karakteren kommer med animationer og med tøj som man kan komme på sin karakter, og har fundet ud af hvordan man gør ved at ligge alt tøjet som childs under base kroppen, og givet dem den animation blueprint.

Jeg har derfra bare manglet at implementere min Input Mapping Context og Input Actions, og så er den ellers færdig.

Produkt:

Kilder: