Search

Archive

Player Movement

Axis Mapping

Dette er grunnlaget for spillerens kontroll i prosjektet. Systemet bruker Unreal Engine sitt innebygde Axis Mapping-system, som lar flere taster bidra til samme bevegelsesakse med ulik retning (positiv eller negativ verdi).

image

Forklaring av oppsettet:

  • MoveForward
    • W = +1 (beveger spilleren fremover)
    • S = –1 (beveger spilleren bakover)
    • → Gir kontinuerlig kontroll over frem-/bakbevegelse.

  • MoveSide
    • D = +1 (beveger spilleren mot høyre)
    • A = –1 (beveger spilleren mot venstre)
    • → Brukes for sideveis bevegelse.

  • Turn
    • Mouse X = +1
    • → Styrer rotasjon (snu kameraet horisontalt).

  • LookUp
    • Mouse Y = –1
    • → Ser opp og ned (vertikal kamerakontroll).

      Verdien er negativ for å snu retningen slik at musbevegelsen føles naturlig.

Kort forklart:

Dette oppsettet gir flytende og presis kontroll over både spiller og kamera – helt essensielt for å få riktig følelse i karakterbevegelsen. Alle verdiene kan justeres for sensitivitet eller snu-retning, og fungerer som grunnmur for alt av fremtidig bevegelseslogikk.

Bevegelseslogikk

Dette systemet oversetter tastetrykk fra spilleren til faktisk bevegelse i spillverdenen.

Blueprintet er laget i Unreal Engine og kobler spillerens input direkte til karakterens posisjon ved hjelp av verdensretningene.

image

Forklaring:

  • InputAxis MoveForward og MoveSide henter verdien fra tastene W/S og A/D.
  • → Dette gir et flytende tall mellom –1 og 1, avhengig av hvor mye input som registreres (f.eks. ved analog joystick eller tastetrykk).

  • Get Forward Vector og Get Right Vector hentes fra Capsule Component (spillerens kropp).
  • → Disse definerer verdensretningen spilleren skal bevege seg i, basert på hvor kameraet peker.

  • Add Movement Input mottar både verdien (styrke/retning) og vektoren (retning i 3D-rommet).
  • → Unreal beregner automatisk fart, akselerasjon og glid mellom inputene for realistisk bevegelse.

Kort forklart:

Når du trykker W, sender systemet en positiv verdi (+1) til MoveForward, multipliserer den med spillerens Forward Vector, og legger det til som bevegelse.

Trykker du A, sendes –1 til MoveSide, som flytter spilleren motsatt vei langs Right Vector.

Resultatet er et dynamisk og responsivt bevegelsessystem som føles naturlig uansett retning spilleren ser.

Kamera- og rotasjonskontroll

Denne delen av systemet håndterer spillerens synsretning – hvordan du ser rundt deg med musen.

Blueprintet konverterer musebevegelse til rotasjon på karakteren og kameraet i sanntid.

image

Forklaring:

  • InputAxis Turn
    • Leser bevegelse på musens X-akse (horisontal).
    • Sender verdien videre til Add Controller Yaw Input, som roterer karakteren rundt vertikalaksen (venstre/høyre).
  • InputAxis LookUp
    • Leser bevegelse på musens Y-akse (vertikal).
    • Sender verdien til Add Controller Pitch Input, som roterer kameraet opp og ned.
    • I input-oppsettet er denne aksen som regel snudd (Scale = –1) for å gi naturlig “FPS-følelse”.

Kort forklart:

Når spilleren beveger musen:

→ X-bevegelse roterer karakteren (Yaw)

→ Y-bevegelse justerer blikkvinkelen (Pitch)

Dette gir flytende, responsiv kamerakontroll – slik man forventer i moderne førstepersons- eller tredjepersonsspill.

Blueprintet fungerer i tett samspill med bevegelses-inputen, slik at spilleren alltid beveger seg i den retningen de ser.

Sprint-funksjon

Sprint-systemet styrer hvor raskt spilleren beveger seg basert på om sprintknappen holdes inne eller ikke.

Det bruker Unreal Engine sin InputAction Sprint for å endre spillerens maks ganghastighet i sanntid.

image

Forklaring:

  • InputAction Sprint
    • Aktiveres når spilleren trykker inn sprintknappen (typisk Shift).
    • Har to hendelser: Pressed og Released.
  • Når sprintknappen trykkes ned, kobles det til Character Movementkomponenten, og Max Walk Speed settes til 1200.
  • → Spilleren begynner å løpe.

  • Når sprintknappen slippes, settes Max Walk Speed tilbake til 600.
  • → Spilleren går igjen.

Kort forklart:

Dette blueprintet endrer bevegelseshastigheten dynamisk basert på spillerens input.

Det gir en realistisk følelse av momentum og kontroll – og fungerer som grunnlaget for mer avanserte systemer som:

  • utholdenhet/stamina
  • støy ved løping (AI awareness)
  • animasjonsendringer (løp/gå)

Crouch-funksjon

Dette systemet lar spilleren gå i huk for å senke høyden, bevege seg stillere, eller ta dekning.

Blueprintet bruker Unreal Engine sin InputAction Crouch for å håndtere endringen i høyde og kollisjonsvolum.

image

Forklaring:

  • InputAction Crouch
    • Aktiveres når spilleren trykker på crouch-tasten (C).
    • Har to hendelser: Pressed og Released.
  • Når tasten trykkes ned, kalles funksjonen Crouch
  • → Spilleren senker seg, og kapsel-høyden justeres automatisk av motoren.

  • Når tasten slippes, kalles UnCrouch
  • → Spilleren reiser seg igjen til normal høyde.

Kort forklart:

Trykk – du går ned.

Slipp – du reiser deg.

Motoren håndterer resten: kamerahøyde, bevegelseshastighet og kollisjon oppdateres sømløst.

Crouch-funksjonen kan senere bygges videre på for snike-AI, animasjoner og lyddemping.

Jump-funksjon

Dette blueprintet håndterer spillerens evne til å hoppe.

Ved hjelp av Unreal Engine sin innebygde InputAction Jump, kobles en enkel tastetrykk-hendelse direkte til karakterens fysiske bevegelse.

image

Forklaring:

  • InputAction Jump
    • Aktiveres når spilleren trykker på hopp-tasten (Space).
    • Kaller funksjonen Jump på karakteren.
  • Jump er en ferdigfunksjon i Character Movementkomponenten som automatisk:
    • påfører vertikal kraft (oppdrift),
    • spiller av standard hopp-animasjon (dersom satt),
    • og håndterer overgang mellom “grounded” og “in air”-tilstander.

Kort forklart:

Trykk – hopp aktiveres.

Når spilleren treffer bakken igjen, nullstilles tilstanden automatisk, klar for neste hopp.

Blueprintet er enkelt, men danner grunnlaget for videre systemer som:

  • dobbelthopp
  • veggklatring
  • parkour- eller jetpack-mekanikk