Starten met programmeren van een 3D omgeving in Unreal Engine – Eenvoudige Artificiële Intelligentie

print
Deze handleiding maakt deel uit van het programmeertraject:


Inhoud


Wat vooraf ging


Inleiding

Deze handleiding is een korte, eerste kennismaking met Artificiële Intelligentie.

Situering van deze handleiding binnen Unreal Engine


Eenvoudige AI Tracking

Tot nu toe stond onze Vijand stil, we willen het wat spannender maken door de Vijand ons te laten achtervolgen.

Hiertoe is, heel eenvoudige, Artificiële Intelligentie nodig. We moeten immers de Vijand de intelligentie geven om ons te achtervolgen (tracing).

AIController toevoegen

  • Ga in de Content Browser naar de map waar uw Blueprints staan.
  • Klik rechts om een nieuwe Blueprint Class aan te maken.
  • We willen een nieuwe klasse aanmaken gebaseerd op de klasse AIController. Deze staat niet meteen beschikbaar, u zal er moeten naar zoeken. Zoek naar AIController.

  • Selecteer AIController, klik op Select en kies een passende naam (bv. VijandAI).
  • Dubbelklik op de nieuwe Blueprint te openen.

De Viewport is leeg maar er zijn wel een aantal specifieke componenten toegevoegd zoals PathFollowingComponent.

  • Ga naar de Event Graph om te programmeren.

We wensen AI die de vijand beweegt in de richting van ons eigen karakter.

We kunnen hiertoe gebruikmaken van AI Move To.

AI Move To laat een Pawn bewegen in de richting van een Target (of een Destination) tot een Acceptance Radius bereikt wordt en stopt dan eventueel.

  • De Pawn wordt opgevraagd via Get Controlled Pawn (we moeten, zo dadelijk, nog deze AIController toekennen aan de gewenste Pawn (Vijand)).
  • De Target is ons eigen karakter dat kan worden opgevraagd via Get Player Character.
  • De andere Invoer-pins laten we standaard staan.

We gaan deze AI Move To koppelen aan een Custom Event (u ziet meteen waarom).

  • Voeg een Custom Event toe en geef het een passende naam (bv. TrackPlayer) en verbindt deze Custom Event met AI Move To.
  • We moeten bepalen om de hoeveel tijd deze Custom Event moet worden uitgevoerd. Dit kan via Set Timer by Function Name. De Function Name is de naam van onze Custom Event (vandaar de noodzaak om een Custom Event aan te maken). Time krijgt bv. de waarde 1 (1 seconde) en vink Looping aan (zodat dit iedere seconde herhaald wordt).
  • Verbind Set Timer by Function Name met Event BeginPlay.

De, heel eenvoudige, AI is klaar.

  • Compile en Save.

AIController verbinden

De aangemaakte AIController moet gekoppeld worden aan de Pawn waar deze op van toepassing is, in ons geval aan de Vijand.

  • Open de Blueprint Vijand.
  • In het Details-panel, koppel AI Controller Class aan onze aangemaakte AIController (VijandAI).

  • Compile en Save.

Nav Mesh Bounds Volume

AI kan enkel navigeren binnen een Nav Mesh Bounds Volume.

  • Voeg een Nav Mesh Bounds Volume toe vanuit het Modes-panel.

  • Schaal en plaats de Nav Mesh Bounds Volume zodat het het volledige speloppervlakte omvat (ook een beetje onder de vloer).
  • Met de P-toets kunt u de Nav Mesh zichtbaar en opnieuw onzichtbaar maken.

  • Compile en Save.

Er valt nog veel meer te vertellen over A.I. maar dat is voor later.


Project Twin Stick Shooter

Building the Enemy Character

Building the Projectile & Weapon

Weapon Firing Behavior

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.