Starten met programmeren van een 3D omgeving in Unreal Engine – Mobiliteit

print
Deze handleiding maakt deel uit van het programmeertraject:


Inhoud


Wat vooraf ging


Inleiding

Deze handleiding gaat dieper in op de besturing, beweging van uw Character.

Situering van deze handleiding binnen Unreal Engine


Besturing

Character

CharacterMovement wordt toegevoegd als een Component aan een Character Class.

CharacterMovement komt met tal van eigenschappen, een overzicht:

U kunt al deze eigenschappen instellen (Set) en opvragen (Get) via Blueprints.

U kunt de MovementMode bepalen via Set Movement Mode.

De besturing verloopt door de functie Add Movement Input en de waarde langs een van de assen (X-as, Y-as en Z-as) te wijzigen.

Neem een kijkje in de Event Graph van de ThirdPersonCharacter Blueprint. Meer specifiek naar de Movement input.

Deze code verzorgt de verplaatsing van ons Character. Laat ons deze code eens meer in detail bekijken.

  • Om te kunnen bewegen moet eerst geweten zijn waar ons Character, dat we besturen/controleren, zich bevindt en in welke richting hij kijkt. Deze informatie wordt verkregen via Get Control Rotation.
  • Omdat ons Character zich enkel maar voorwaarts/achterwaarts/rechts/links kan verplaatsen is enkel de Z (Yaw)-informatie van toepassing. Ons Character is immers geen vliegtuig en beweegt zich niet in de hoogte/laagte Y (Pitch) en kan ook niet kantelen X (Roll). Hiertoe wordt de verkregen rotatie-informatie opgebroken via Break Rotator en enkel de Z (Yaw)-informatie wordt doorgegeven om een nieuwe rotatie te maken via Make Rotator die de Z (Yaw)-informatie ontvangt en de X (Roll) en de Y (Pitch) op 0,0 zet.
  • Uit deze nieuwe rotatie-informatie wordt de voorwaart-informatie opgevraagd via Get Forward Vector en wordt de rechts-informatie opgevraagd via Get Right Verctor. Deze opgevraagde informatie bevat dus respectievelijk de voorwaartse richting en rechtse richting van ons Character.
  • Om voorwaarts (of achterwaarts) te gaan wordt InputAxis MoveForward gebruikt. Is de W-toets (of Up-toets) ingedrukt dan is de Axis Value 1,0, een positieve waarde en wordt voorwaarts bewogen. Is de S-toets (of Down-toets) ingedrukt dan is de Axis Value -1,0, een negatieve waarde en wordt achterwaarts bewogen.
  • Om naar rechts (of naar links) te gaan wordt InputAxis MoveRight gebruikt. Is de D-toets ingedrukt dan is de Axis Value 1,0, een positieve waarde en wordt naar rechts bewogen. Is de A-toetsingedrukt dan is de Axis Value -1,0, een negatieve waarde en wordt naar links bewogen.
  • De functie Add Movement Input zorgt voor de eigenlijke verplaatsing voorwaarts of achterwaarts van het Character door de waarde van Get Forward Vector te gebruiken als invoer voor de World Direction (de richting) en de waarde van InputAxis MoveForward te gebruiken als invoer voor de Scale Value (de afstand van de verplaatsing).
  • De functie Add Movement Input zorgt voor de eigenlijke verplaatsing links of rechts van het Character door de waarde van Get Right Vector te gebruiken als invoer voor de World Direction (de richting) en de waarde van InputAxis MoveRight te gebruiken als invoer voor de Scale Value (de afstand van de verplaatsing).

De Mouse Input en de Jump worden standaard als volgt uitgewerkt.


Beweging

Bewegen, goed voor de gezondheid maar ik vrees dat ik ze niet allemaal meer kan uitvoeren (of toch niet te lang voor mijnen Health-bar leeg loopt).

Sprinting

Onderstaande video toont een basisuitwerking van een Sprint.

Double Jump

Een Double Jump laat toe een tweede keer te springen gedurende de eerste sprong (terwijl u dus in de lucht bent).

Charge Jump

Voor wie het wat agressiever wilt, de Charge Jump.

Sprinting, Crouching, and Sliding

Onderstaande video’s vormen samen een uitgebreidere tutorial.

Glide en Strafe Jumping

Onderstaande videotutorial maakt intens gebruik van Blueprint Classes en introduceert ook een paar nieuwigheden zoals Blueprint Class Components (een Blueprint Class die u als component kunt toevoegen aan een andere Blueprint zoals de CharacterMovement component die standaard toegevoegd is aan uw Character) en Curves.

Klimmen

Onderstaande video gebruikt Movement Inputs voor het beklimmen van een ladder.


Project Twin Stick Shooter – Hero Character Mobility

De video’s vindt u op Twin Stick Shooter with Blueprint (unrealengine.com).

Bekijk de video:

  • Hero Character Mobility

Geef een reactie

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.

  • Abonneer je op deze website d.m.v. e-mail

    Voer je e-mailadres in om je in te schrijven op deze website en e-mailmeldingen te ontvangen van nieuwe berichten.