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

print
Deze handleiding maakt deel uit van het programmeertraject:


Inhoud


Wat vooraf ging


Gebruikte terminologie

Objects

The base building blocks in the Unreal Engine are called Objects and contain a lot of the essential “under the hood” functionality for your game assets. Just about everything in Unreal Engine 4 inherits (or gets some functionality) from an Object.

Actor

An Actor is any object that can be placed into a level. Actors are a generic Class that support 3D transformations such as translation, rotation, and scale. Actors can be created (spawned) and destroyed through gameplay code (C++ or Blueprints).


Inleiding

Een level bestaat uit objecten, actors genoemd. In deze handleiding gaan we bekijken hoe we deze kunnen toevoegen aan een level en naar wens plaatsen binnen een level.

Situering van deze handleiding binnen Unreal Engine


Actors toevoegen aan een level

Een Level is de eigenlijke 3D omgeving van uw programma. Ze bevatten de Actors.

Een Actor is iets dat u kunt plaatsen in een Level (in uw programma). Denk aan meshes (objecten), geluid, lichten,…

  • Start een nieuw Blank Desktop/Console project van Maximum Quality With Starters Content en geef het een passende naam of open een reeds aangemaakt project.

Een level zou leeg zijn zonder actors. Het zijn dus de actors die het level maken, bouwen. De reeds aanwezige actors vindt u in de World Outliner.

We moeten dus actors plaatsen in het level.

Maar voor u ze kunt plaatsen moet u weten waar ze te vinden. U vindt actors:

  • In Place mode.
  • In de Content Browser (indien Starters Content geïnstalleerd is).
  • Door rechts te klikken in de Viewport.
  • In de Classes (klassen). We gaan dit voorlopig niet bespreken.

Place mode

Place mode bevat de basisactors standaard aanwezig in Unreal Engine. Ze zijn verdeeld in verschillende categorieën, al komen sommige actors wel eens in meerdere categorieën voor.

Recently placed

De laatst gebruikte actors.

Basic

De meest gebruikte actors.

Lights

Soorten lichtbronnen.

Cinematics

Soorten camera’s.

Visual effects

Visuele effecten zoals bv. misteffecten.

Geometry (ook aangeduid met BSP)

Basis brushes (3D penselen) die gebruikt worden bij het Whiteboxing (zie volgend hoofdstuk).

Brushes kunnen zowel worden toegevoegd (Add) als onttrokken (Subtract) aan het level. Bij Subtract denk aan een vierkant maken in een “muur” waar een venster moet komen.

Volumes

Volumes zijn onzichtbare afbakeningen waarin bepaald acties kunnen plaatsvinden (bv. Pain Causing Volume).

All Classes

Alle actors samen.

  • Wilt u meer informatie over een bepaalde actor plaats er dan de muis op.

  • Druk op Ctrl Alt voor meer informatie.

Plaatsen

  • Selecteer de gewenste actor in Place mode.
  • Sleep (drag en drop) de actor in de viewport.

Content Browser

Indien u de Starters Content mee hebt geïnstalleerd vindt u ook een reeds actors in de map Props.

In de map Architecture vindt u dan weer kant en klare deuren, vensters,…

In de map Particles vindt u visuele effecten zoals vuur, rook, stoom,…

U kunt ook de filter Static Meshes gebruiken.

Om deze Static Mesh beter te bekijken kunt u hem dubbelkikken. U komt dan in de Static Mesh editor dat in een eigen venster verschijnt. U navigeert in de Static Mesh editor zoals in de Viewport.

Plaatsen

  • Selecteer de gewenste actor.
  • Sleep (drag en drop) de actor in de viewport.

Viewport

  • Klik rechts in de Viewport.

Plaatsen

  • Selecteer de gewenste actor in de Snelmenu. Deze verschijnt op de plaats waar u rechts klikte.

Actor een gepaste naam geven

Eens de actor geplaatst is wilt u het misschien een gepaste naam geven.

  • U kunt dit doen bovenaan het Details-panel.


Actors selecteren

Actors die toegevoegd zijn aan het level ziet u in de Viewport, hier gaat u ze verplaatsen, roteren en schalen maar eerst moet u ze selecteren.

Een geselecteerde actor herkend u aan een gele omlijning en een toegevoegde widget voor het verplaatsen, roteren of schalen van de actor(s).

In onderstaand voorbeeld is de tafel geselecteerd.

Eenvoudige selectie

De meest eenvoudige methode voor het selecteren van actors is door ze met de linkermuisknop aan te klikken in de viewport. Als u op een actor klikt, wordt de reeds geselecteerde actor uitgeschakeld en wordt de nieuwe geselecteerd.

Als u de Ctrl-toets ingedrukt houdt terwijl u op een nieuwe (niet-geselecteerde) acteur klikt, wordt de nieuwe actor aan de selectie toegevoegd. Als u de Ctrl-toets ingedrukt houdt terwijl u op een geselecteerde actor klikt, wordt de acteur uit de selectie verwijderd.

Deze methode is goed voor het selecteren van kleine aantallen actor of verschillende geïsoleerde actors verspreid over het level, maar het kan traag en vervelend zijn om grote aantallen actors te selecteren.

Om meerdere actors te selecteren klikt u op Ctrl+Alt en sleept u over de actors die u wenst te selecteren.

World Outliner

De World Outliner bevat een lijst van alle actors in het level. U kunt individuele actors in de lijst op dezelfde manier selecteren en deselecteren als in de Viewport. Bovendien kun je bereik-selecteren door op één actor te klikken, Shift ingedrukt te houden en op een andere actor te klikken om die acteurs en zo alle actors ertussen in de lijst te selecteren.

Als u een acteur selecteert in de World Outliner, wordt deze ook geselecteerd in de Viewport en omgekeerd.

Overheen slepen in een Orthographic view

In een Orthographic view naar keuze kunt u actors selecteren door er overheen te slepen met de linkermuisknop ingedrukt.

Om actors aan de bestaande selectie toe te voegen maakt u een nieuwe selecte met de linkermuisknop maar drukt u ook de Shift-toets in.

Om actors uit een bestaande te verwijderen maakt u een nieuwe selecte met de linkermuisknop maar drukt u  ook de Ctral + Alt toetsen in.

Gevorderde selecteeropties

Klik met de rechtermuisknop in de Viewport en klik vervolgens op Select. U krijgt een menu met geavanceerde selecteeropties. Deze menu kan verschillen naargelang het type actor dat u aanklikte.

Focussen op een actor

Indien u veel actors in het level hebt en u wilt snel naar een specifieke actor gaan kunt u:

  • Zoek, in de World Outliner, de gewenste actor door zijn naam in de zoekbalk in te typen.
  • Eens gevonden klikt u, in de World Outiner, rechts op de actor.
  • Klik op Focus selected (of druk op de F-toets).

Groeperen

Als u actors samen wilt verplaatsen, roteren of schalen dan kunt u die het best groeperen.

Bijvoorbeeld, als u de tafel wilt verplaatsen wilt u wellicht ook het beeldje op de tafel, samen met de tafel, verplaatsen.

  • Selecteer eerst de tafel door ze aan te klikken.
  • Houdt de Ctrl-toest ingedrukt terwijl u op het beeldje klikt. De tafel en het beeldje zijn nu beiden geselecteerd.
  • Klik met de rechtermuisknop binnen de selectie en kies voor Group (of druk op Ctrl-G).

U merkt de groepering op aan de groene omkadering.

In de World Outliner is een GroupActor bijgekomen die de groep aanduidt.

Gegroepeerde actors staan “gelockt” en kunnen niet meer afzonderlijk geselecteerd worden. Wilt u toch de groep behouden en de actors toch ook afzonderlijk kunnen selecteren om te bewerken of tranformeren dan moet u de groep “Unlocken”.

  • Selecteer de groep.
  • Klik met de rechtermuisknop in de groep, kies GroupsUnlock.

U groepeert enkel om actors samen te transformeren, het is dus niet nodig om deze groep lang te behouden. Eens u de nodige transformaties gedaan hebt kunt u het best de groepering opheffen.

  • Selecteer de groep.
  • Klik met de rechtermuisknop in de groep, kies GroupsUngroup (of druk op ShiftG).

Actors samenvoegen

U kunt ook verschillende actors permanent samenvoegen (Actor merging) tot één nieuwe actor (dit kan ook handig zijn wanneer een geïmporteerd object uit meerdere afzonderlijke actors bestaat die eigenlijk samen één geheel vormen).

  • Selecteer de actors die uw wenst samen te voegen.
  • Ga naar WindowDeveloper ToolsMerge actors.

  • U krijgt een overzicht van de geselecteerde actors.

  • Klik op Merge Actors en geef een naam.

Actors verwijderen

  • Selecteer de actor.
  • Druk op de Delete-toets of klik met de rechtermuisknop op het object, hetzij in de Viewport of in de World Outliner en kies voor EditDelete.


Actors transformeren door het ingeven van waarden

Onder actors transformeren verstaan we verplaatsen, roteren en schalen.

Dit kan door exacte waarden in te geven of door een widget te gebruiken.

  • U begint altijd met een selectie van de gewenste actor(s) of groep.

Assen

Transformeren gebeurt ten opzichte van de drie assen XYZ (vandaar 3D, 3 dimensies).

  • Rood is de X-as.
  • Groen is de Y-as.
  • Blauw is de Z-as.

Exacte waarden ingeven

U kunt exacte waarden ingeven bij de eigenschappen.

  • Verplaatsen doet u door een waarde in te geven bij Location. De waarden worden ingegeven in centimeters. Met het gele pijltje achteraan herstelt u de standaardwaarden.
  • Roteren doet u door de gewenste graden in te geven bij Rotation. Met het gele pijltje achteraan herstelt u de standaardwaarden.
  • Schalen doet u door een verhouding ten opzichte van 1 (ware grootte) in te geven bij Scale. Is het slotje achteraan dicht dan worden de proporties in alle assen gelijk gehouden.

De exacte locatie in de Viewport is de lokatie waar zich het middelpunt (bolletje) van de widget bevindt. Hieronder ziet u dat dit onderaan in het midden van de linkse stoel is.

Indien u meerdere actors tegelijk geselecteerd hebt (al dan niet als groep) kant het zijn dat u multiple Values ziet staan omdat er inderdaad meerdere waarden kunnen zijn. De waarde instellen zorgt er dan voor dat deze wordt ingesteld voor alle geselecteerde actors. Dit kan handig zijn bij bv. Schalen maar wellicht niet zo handig bij verplaatsen.

Mobility

Misschien even stilstaan bij de optie Mobility.

De Mobility-instelling bepaalt hoe een actor kan bewegen of veranderen tijdens het spelen. Dit geldt in de eerste plaats voor Static Mesh Actors en Light Actors. De keuze heeft invloed op het renderen en dus ook op de snelheid van de weergave. U maakt dus best de meest geschikte keuze.

Static Actors met de Mobility Static kunnen niet worden verplaatst en niet worden gewijzigd. Zij worden het snelst gerenderd. Een Static lichtbron levert de beste schaduwen op, maar rendert geen nieuwe schaduwen.
Stationary Actors met de Mobility Stationary kunnen niet worden verplaatst wel worden gewijzigd. Dit wordt vooral gebruikt voor lichten, die een vast plaats hebben (en dus niet worden verplaatst) maar wel kunnen aan of uit gezet worden,… en schaduwen dienen te genereren.
Movable Actors met de Mobility Movable kunnen worden verplaatst en worden gewijzigd. Zij worden het traagst gerenderd. Gebruik deze optie dus enkel indien de actor hoogstwaarschijnlijk zal verplaatst of gewijzigd worden. Een Movable lichtbron rendert nieuwe schaduwen maar van matige kwaliteit.

Actors transformeren met de widget

U hebt wellicht al opgemerkt dat als u een actor selecteert dat er 3 pijltjes (een rood, groen en blauw) getoond wordt. Wel, dit is de Widget dat u kunt gebruiken om het geselecteerde object te verplaatsen, roteren of schalen.

Bepaal eerst wat u wenst:

Verplaatsen

Druk op W om te verplaatsen of Klik op de Translate-knop.

Roteren

Druk op E om te roteren of klik op de Rotate-knop.

Schalen

Druk op R om te schalen of klik op de Scale-knop.

  • Druk op de spatiebalk om tussen de 3 opties te switchen.

Verplaatsen

Zorg dat u in de modus Verplaatsen staat (klik op W).

De Verplaats-widget bestaat uit 3 pijlen in een kleurcode die overeenkomt met de assen. Elk van deze pijlen is een handvat dat kan worden gesleept om de geselecteerde actor(s) langs die bepaalde as te verplaatsen. Wanneer de muiscursor boven één van de handvatten zweeft, wordt de greep geel, wat betekent dat u het object langs die as zal verplaatsen (door te slepen).
Wanneer u de verbindingslijn tussen 2 assen aanwijst worden de pijlen van deze 2 assen in het geel weergegeven. U kunt dan ook in deze 2 richtingen (diagonaal) verplaatsen.
Met het bolletje in het midden (dat eveneens geel wordt als u het aanduidt) kunt u de actor vrij in alle richtingen verplaatsen.

U kunt eventueel gebruik maken van een onzichtbaar raster, de grid om de objecten te snappen op deze gridlijnen. Hoe kleiner de Snap Size hoe kleiner de grid en hoe nauwkeuriger de plaatsing.

Tips

  • Om erg nauwkeurig, tot op de pixel, te kunnen verplaatsen zet u het snappen uit (door de knop uit te klikken).
  • Om een actor op de Floor te plaatsen, selecteert u de actor en klikt u op de End-toets.
  • Ctrl inhouden en slepen met de linkermuisknop ingedrukt verplaatst de actor enkel langs de X-as.
  • Ctrl inhouden en slepen met de rechtermuisknop ingedrukt verplaatst de actor enkel langs de Y-as.
  • Ctrl inhouden en slepen met de linkermuisknop en rechtermuisknop ingedrukt verplaatst de actor enkel langs de Z-as.
  • Als u tijdens het verplaatsen de ALT-toets indrukt wordt een kopie gemaakt van de actor.

World space of local space

U kunt de actor verplaatsen in World space of in Local space en zo bepalen of de assen geplaatst worden ten opzichten van de “wereld” of de actor zelf. U doet dit met het 4de knopje bovenaan .

Dit kunt u het best bekijken bij een geroteerde actor (zie later hoe u kunt roteren).

World space

Local space

Let op het 4de knopje bovenaan rechts en de as-pijltjes.

Roteren

Zorg dat u in de modus Roteren staat (klik op E).

De Rotatie-widget bestaat uit 3 bogen in een kleurcode die overeenkomt met de assen. Elk van deze bogen is een handvat dat kan worden gesleept om de geselecteerde actor(s) in de gewenste richting te roteren.
Wanneer de muiscursor boven één van de handvatten zweeft, wordt de greep geel, wat betekent dat u het object langs die as zal verplaatsen (door te slepen).
Wanneer u begint te roteren (door te slepen) verandert de boog van vorm en wordt het een kompas waarop het aantal graden van de rotatie weergegeven wordt.

Ook bij het roteren kunt u instellen met hoeveel graden u tegelijk roteert of kunt u dit eventueel uitschakelen.

Onderstaande afbeelding roteert 30° over de Y-as.

Rotatiepunt

Als u meerdere actors selecteert is het rotatiepunt, het rotatiepunt van de laatst geselecteerde actor. De andere actors roteren rond dit punt.

In onderstaande afbeelding is de meest rechtse stoel het laatst geselecteerd, de linkse stoel, tafel, beeldje en de rechtse stoel roteren rond dit rotatiepunt, hier 30° over de X-as.

U kunt het rotatiepunt verplaatsen.

  • Ga daarvoor eerst naar de Verplaats-widget.
  • Sleep het middelpunt van de Verplaats– idget (dat bolletje) met de middelste muisknop ingedrukt naar het gewenste rotatiepunt.

In onderstaande voorbeeld is het rotatiepunt van de rechtse stoel verplaatst en is er 30° geroteerd rond de Z-as.

World space of local space

World space en Local space is ook van toepassing bij het roteren en kan op dezelfde manier ingesteld worden als bij het verplaatsen.

Yaw, Pitch en Roll

Voor rotatie worden ook vaak de onderstaande termen gebruikt:

  • Yaw – rotatie rond de Z-as.
  • Pitch – rotatie rond de Y-as.
  • Roll – rotatie rond de X-as.

Schalen

Zorg dat u in de modus Schalen staat (klik op R).

De Schaal-widget bestaat uit 3 pijlen in een kleurcode die overeenkomt met de assen. Elk van deze pijlen is een handvat dat kan worden gesleept om de geselecteerde actor(s) langs die bepaalde as te schalen. Wanneer de muiscursor boven één van de handvatten zweeft, wordt de greep geel, wat betekent dat u het object langs die as zal schalen (door te slepen).
Wanneer u de verbindingslijn tussen 2 assen aanwijst worden de pijlen van deze 2 assen in het geel weergegeven. U kunt dan ook in deze 2 richtingen (diagonaal) schalen.
Met het vierkantje in het midden (dat eveneens geel wordt als u het aanduidt) kunt u de actor vrij in alle richtingen tegelijkertijd schalen. U verkrijgt dit ook door de Ctrl-toets in te drukken tijdens het schalen.

Ook bij het schalen kunt u instellen met hoeveel graden u tegelijk schaalt of kunt u dit eventueel uitschakelen.

World space of local space

Schalen kan enkel in Local space!

Spiegelen

U kunt geselecteerde objecten spiegelen over de X-as, Y-as of Z-as.

  • Selecteer het object (of de objecten).
  • Klik de selectie aan met de rechtermuisknop.
  • Kies voor Transform en de gewenste as waarover u wilt spiegelen bv. Mirror X.

Onderstaande video toont dit in de praktijk.


De camera met de actor mee verplaatsen

  • Wanneer u wilt dat de camera zich mee verplaatst drukt u tijdens het verplaatsen op de Shift toets.
  • Wanneer u de camera samen met de actor, vanuit het zicht van de actor wilt verplaatsen (wanneer u als het ware in de stoel wilt gaan zitten terwijl u de stoel verplaatst), klik dan rechts op de actor en kies voor Pilot.

Hieronder ziet u het beeld dat u krijgt als u “in de stoel zit”, misschien niet meteen wat u verwacht had. Deze optie is vooral handig om belichting op de gewenste plaats te krijgen.

  • Bovenaan links kunt u het Piloting stoppen.

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.