Inhoud
Wat vooraf ging
- U bent vertrouwd met de werkomgeving van Unreal Engine.
- U bent vertrouwd met Blueprint Visual Scripting.
Inleiding
De bedoeling van deze handleiding is om stap voor stap een aantal belangrijke programmeertechnieken toe te passen.
Het is niet de bedoeling van deze handleiding om in detail te gaan, de bedoeling is om snel tot een werkend resultaat te komen. De details vindt u in andere handleidingen die ik in deze handleiding link. In tegenstelling tot de meeste van mijn andere handleidingen ga ik deze handleiding niet uitbreiden/verdiepen met aanvullende video’s.
De nadruk ligt op AEC, dit staat voor Architecture, Engineering en Construction.
Educatief materiaal
Deze handleiding is geïnspireerd door deze tutorial op de Unreal Engine Learning website.
U kunt het project gratis downloaden van de Unreal Marketplace door de code in te voeren.
- Start de Epic Launcher.
- Ga, onder uw profiel, naar Redeem Code.
- Geef de code in en Redeem.
- Na een beetje geduld verschijnt het project in uw Library – Vault.
- Via Create Project maakt u het project aan. Onderstaande schermafdruk toont zowel het project in de Vault als een gecreëerd project.
- Start vervolgens het project (door te dubbelklikken).
- Druk op Play om het level te starten.
We hebben een omgeving en materiaal waarmee we aan de slag kunnen.
Ik volg de oplossingen zoals deze besproken zijn in de tutorial op de Unreal Engine Learning websites. Weet dat deze oplossingen niet de enige oplossingen zijn en misschien zelfs niet de beste oplossingen. Ze dienen in de eerste plaats om u op weg te zetten en een aantal belangrijke programmeertechnieken aan te halen.
Ik volg de oplossingen zoals deze besproken zijn in de tutorial op de Unreal Engine Learning websites. Weet dat deze oplossingen niet de enige oplossingen zijn en misschien zelfs niet de beste oplossingen. Ze dienen in de eerste plaats om u op weg te zetten en een aantal belangrijke programmeertechnieken aan te halen.
Situering van deze handleiding binnen Unreal Engine
Input wijzigen
Unreal Engine werkt standaard met de instellingen van een Querty-toetsenbord. Wellicht hebt u een Azerty-toetsenbord.
U kunt de gewenste input op het niveau van uw project wijzigen zodat u uw toetsenbordinstellingen niet hoeft te wijzigen.
U vindt deze onder de Settings van het project.
- Ga naar het menu Edit – Project Settings….
- Ga onder Engine naar Input.
- Ik heb hier de Action Mappings en Axis Mappings reeds open geklikt.
- Open MoveForward en zorg dat u de Z-toets kunt gebruiken om vooruit te gaan (indien u een Azerty-toetsenbord hebt). Onder MoveRight gebruikt u de Q-toets om naar links te gaan (opnieuw indien u een Azerty-toetsenbord hebt).
- Interactie gebeurt via Interact, de linkermuisknop.
Wat gaan we programmeren?
Automatische schuifdeur
De deur moet automatisch openen als we in de buurt van de deur komen.
- We moeten beschikken over… een deur, met een deurframe. Dit zijn zogenaamde Static Meshes die kunnen gemaakt zijn in een programma zoals 3Ds Max of Blender.
- We willen een dubbele deur die openschuift.
- We moeten nagaan wanneer de speler in de buurt is van de deur.
- We moeten de locatie van de deur bijhouden. Iets bijhouden doen we in variabelen.
- We wensen een flexibel systeem dat we gelijk waar in ons level kunnen plaatsen en gemakkelijk kunnen wijzigen indien nodig.
Welke programmeertechnieken worden gebruikt?
Onderstaande programmeertechnieken komen aan bod:
Lichtschakelaar
De lichtschakelaar wordt gebruikt om lichten aan en uit te schakelen.
- We moeten beschikken over een lichtschakelaar, een Static Mesh die kan gemaakt zijn in een programma als 3Ds Max of Blender.
- Er kunnen meerdere lichtschakelaars zijn die elk meerdere lichten kunnen bedienen. We moeten dus weten welke lichtschakelaar gebruikt wordt. Om de lichtschakelaar te detecteren maken we gebruik van een Line Trace, die als het ware een lijn trekt vanuit ons Character en detecteert waarmee deze lijn in contact komt.
- De lichtschakelaar zal een Blueprint Class zijn, maar ook de lichten zullen deel uitmaken van een Blueprint Class. Er zal dus communicatie tussen deze Blueprint Classes tot stand moeten worden gebracht.
- Het systeem moet flexibel en gebruiksvriendelijk zijn.
- Omdat één lichtschakelaar meerdere lichten kan bedienen, of een licht door meerdere lichtschakelaars gaan we moeten gebruikmaken van een Array.
Welke programmeertechnieken worden gebruikt?
Onderstaande programmeertechnieken komen aan bod:
Plafondlamp
Een Plafondlamp moeten we aanbrengen tegen het plafond. Om het plaatsen te vergemakkelijken willen we dat de Plafondlamp automatisch snapt tegen het plafond.
- Tijdens het (ver)plaatsen van een Actor in een Level wordt de Construction Script uitgevoerd.
- Bij het (ver)plaatsen van de Actor moeten we zijn huidige locatie kennen.
- Om te testen of de Plafondlamp zich onder een plafond bevindt kunnen we een Line Tracing uitvoeren.
- Bij een Hit van de Line Trace moet de Plafondlamp snappen tegen het plafond.
Welke programmeertechnieken worden gebruikt?
Onderstaande programmeertechnieken komen aan bod:
Materiaal wijzigen
Wijzig het materiaal van een zetel als u in de omgeving van de zetel bent.
- U beschikt over een zetel, Static Mesh, en meerdere materialen waar u kunt uit kiezen.
- U kunt het materiaal enkel wijzigen als u in de omgeving bent van de zetel. Hiervoor kunt u een Box Collision gebruiken.
- Tekst dient aan te geven dat u het materiaal kunt wijzigen.
- Gebruik de reeds bestaande Line Trace om het materiaal te wijzigen met de linkermuisknop als u de zetel in het vizier hebt.
Welke programmeertechnieken worden gebruikt?
Onderstaande programmeertechnieken komen aan bod: