Inhoud
Wat vooraf ging
- U bent vertrouwd met de werkomgeving van Unreal Engine.
- U bent vertrouwd met object georiënteerd programmeren.
- U bent vertrouwd met het Gameplay Framework van Ureal Engine.
- U kunt een Character besturen.
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.
- Zoek naar AI Move To.
- Voeg AI Move To toe.
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
De video’s vindt u op Twin Stick Shooter with Blueprint (unrealengine.com).
Bekijk de video’s:
- Building the Enemy Character
- Building the Projectile Weapon
- Weapon Firing Behavior