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

print
Deze handleiding maakt deel uit van het programmeertraject:


Inhoud


Wat vooraf ging

In deze handleiding maak ik gebruik van video’s komende van de Unreal Engine Academy. Deze video’s zijn spijtig genoeg niet rechtstreeks te bekijken op deze site. U moet ze aanklikken om ze te bekijken op Vimeo.


Gebruikte terminologie

Als een nieuwe terminologie voor het eerst gebruikt wordt geef ik hier de officiële omschrijving (in het Engels).

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).

Level

A Level is a user defined area of gameplay. Levels are created, viewed, and modified mainly by placing, transforming, and editing the properties of the Actors it contains. In the Unreal Editor, each Level is saved as a separate .umap file, which is also why you will sometimes see them referred to as Maps.


De verschillende tools en editors

Unreal Engine is komt met een hele resem aan tools en editors die elk hun eigen werkomgeving hebben. Hieronder vindt u een overzicht van de belangrijkste editors in Unreal Engine (klik op “Meer informatie over …” als u reeds meer informatie wenst over een specifieke editor):

Level editor

In de Level editor wordt de “level”, de 3D-omgeving van het project gebouwd.

Meer informatie over de Level editor.

Material editor

In de Material editor worden de materialen aangemaakt of aangepast die gebruikt worden op de objecten (denkt aan de stenen van de muur, de stenen zijn het materiaal.

Meer informatie over de Material editor.

Blueprint editor

De Blueprint editor is waar geprogrammeerd wordt gebruik makend van Blueprints Visual Scripting.

Meer informatie over de Blueprint editor.

Behavior Tree editor

In de Behavior Tree editor wordt de artificiële intelligentie (AI) van de NPC (Non Player Character) ontworpen door middel van een visual node-based systeem (te vergelijken met Blueprints).

Meer informatie over de Behavior Tree editor.

Persona editor

In de Persona editor worden de animaties ontworpen.

Meer informatie over de Persona editor.

Cascade editor

In de Cascade editor worden de speciale effecten (particles) ontworpen. Deze editor wordt binnenkort vervangen door Niagara.

Meer informatie over de Cascade editor.

UMG UI editor

In de UMG UI editor wordt de User Interface ontworpen.

Meer informatie over de UMG UI editor.

Matinee editor

In de Matinee editor worden de filmische animatie ontworpen.

Meer informatie over de Matinee editor.

Sound Cue editor

In de Sound Cue editor wordt gebruikt om geluideffecten te creëren.

Meer informatie over de Sound Cue editor.

Media Player editor

In de Media Player editor worden mediabestanden als bronmateriaal klaar gemaakt om gebruikt te worden.

Meer informatie over de Media Player editor.

Physics Asset Tool editor

In de Physics Asset Tool editor (kortweg PhAT) kunnen physische assets worden aangemaakt.

Meer informatie over de Physics Asset Tool editor.

Static Mesh editor

In de Static Mesh editor kunnen de 3D-ontwerpen (static meshes) worden aangepast.

Meer informatie over de Static Mesh editor.

Paper2D Sprite editor

In de Paper2D Sprite editor kunnen 2D sprites worden aangemaakt en aangepast.

Meer informatie over Paper2D Sprite editor.

Paper2D Flipbook editor

In de Paper2D Flipbook editor kunnen 2D animaties worden aangemaakt.

Meer informatie over Paper2D Flipbook editor.

Het is zeker niet de bedoeling om al deze editors nu al in detail te bespreken maar de editor waar we het eerst mee te maken krijgen, de Level editor, gaan we nu wel wat extra aandacht geven.

Bewaren

Unreal Engine zal aangemaakte content automatisch volgens een door Unreal Engine bepaalde structuur bewaren.

Merk op dat aangemaakte level bewaard worden in bestanden met de extensie .umap. Assets en materialen worden bewaard met een extensie .uasset.

Naast deze door Unreal Engine aangemaakte content zal uw project wellicht ook andere bestanden van andere programma’s bevatten.


De Level editor

  • Start een nieuw Blank Desktop/Console project van Maximum Quality With Starters Content.

De Level editor kan als volgt onderverdeeld worden (ik behoud de Engelse benamingen).

  1. Tab Bar en Menu Bar
  2. Toolbar
  3. Modes
  4. Content Browser
  5. Viewports
  6. World Outliner
  7. Details

Tab Bar,  Menu Bar en Toolbar

Unreal Engine werkt met een klassieke Tab Bar en Menu Bar.

Ieder geopend venster komt in zijn eigen tabblad te staan in de Tab Bar. Indien een nieuw venster niet automatisch in de Tab Bar verschijnt kunt u het er steeds naar toe slepen en in de Tab Bar “dokken”. U kunt het tabblad sluiten met het rode kruisje.

De Menu Bar kent ook een vrij klassieke opdeling.

File

File menu bevat de klassieke opties om te werken met levels en projecten. Nieuwe levels en projecten aanmaken, bestaande openen en opslaan.

Importeren en exporteren.

Recente projecten openen.

Het verlaten van het programma.

Edit

Edit menu krijgt ook een klassieke invulling met Ongedaan maken en herhalen.

Knippen, kopiëren en plakken, dupliceren en verwijderen.

Maar ook de Configuratie vindt u hier terug met o.a. Editor Preferences en de Project Settings.

Window

Window menu bepaalt wat er op uw scherm te zien is, welke venster er open staan.

Help

Help menu leidt u naar allerhande vormen van help: Documenten, Tutorials, Support, Wiki, een link naar de officiële website, Credits,…

Een compleet overzicht vindt u hier.

Toolbar

De Toolbar bevat een verzameling van de meest gebruikte handeling, gemakkelijk bij de hand.

We gaan met deze knoppen ten gepaste tijden kennismaken. Een overzicht van de betekenis van deze knoppen vindt u hier.


Viewport

Navigatie

Onderstaande tabel geeft een overzicht van de belangrijkste toetsencombinatie voor het navigeren van de Viewport.

Linkermuisknop (LM) + slepen Beweegt de camera vooruit en achteruit en draait naar links en rechts.
Rechtermuisknop (RM) + slepen Roteert de viewportcamera
LM + RM + slepen Beweeg omhoog en omlaag
W | Numpad8 | Up Beweegt de camera voorwaarts
S | Numpad2 | Down Beweegt de camera achterwaarts
A | Numpad4 | Left Beweegt de camera links
D | Numpad6 | Right Beweegt de camera rechts
E | Numpad9 | Page Up Beweegt de camera omhoog
Q | Numpad7 | Page Dn Beweegt de camera omlaag
Z | Numpad1 Zoom uit
C | Numpad3 Zoom in
Alt + LM + slepen Pan – Tuimelt de viewport rond een enkel draaipunt.
Alt + RM + slepen Zoom – zoomt de camera in en uit de buurt van een enkel draaipunt.
Alt + middelste muisknop + slepen Orbit – Volgt de camera naar links, rechts, omhoog en omlaag in de richting van de muisbeweging.
F Hiermee wordt de camera op het geselecteerde object gericht. Dit is essentieel om het meeste uit het pannen/tuimelen van de camera te halen.
G Schakelt tussen Game mode. In Game mode ziet u door de viewport de level zoals hij ook in het spel zal te zien zijn, dus zonder eventuele visuele hulpinformatie.
CTRL + R Schakelt tussen real-time weergave.
F11 Schakelt tussen volledig scherm.

Een uitgebreider overzicht vindt u hier.

Viewport – Options

De Viewport Options vindt u linksboven in de Viewport, het kleine pijltje. U vindt er allerhande opties die u kunt aan- of uitzetten zoals de game mode, FPS (Frames per second),….

Een volledig overzicht vindt u hier.

Een paar belangrijke zijn:

  • Show FPS – geeft de framerate van de huidige scene weer, dit kan handig zijn om de performantie te meten.
  • Game View – te (de)activeren met de G-toets, geeft de Viewport weer zoals in de eigenlijke game/app. U ziet enkel wat u ook in de uiteindelijke game/app zal zien.
  • Immersive Mode – te (de)activeren met de F11-toets, geeft de Viewport weer in een volledig scherm.

Standaard View

Game View

Bookmarks

U kunt de camera in een gewenste positie plaatsen en deze camerapositie bookmarken. Nadien kunt u er gemakkelijk naar weerkeren, via de menu of de corresponderende toetsencombinatie.

Layouts

U kunt de layout van de Viewport wijzigen.

Viewport – Orthograpic

De Viewport Orthograpic bepaalt de manier waarop we de level bekijken door de viewport. Tot nu toe, en meestal, is dat in perspectief, maar andere opties zijn mogelijk en vooral interessant wanneer u objecten precies wilt plaatsen.

Onderstaande afbeelding toont van linksboven naar rechtsonder:

  • Back
  • Right
  • Perspective
  • Top

U kunt deze elk afzonderlijk wijzigen naar een andere View. Met het maximaliseerknopje kunt u die specifieke View maximaliseren in de Viewport.

Het navigeren in een Orthograpic view is eveneens verschillend dan in Perspectief.

Linkermuisknop (LM) + slepen Creëert een selectiebox.
Rechtermuisknop (RM) + slepen Pan – Tuimelt de viewportcamera.
LM + RM + slepen Zoom – zoomt de camera in en uit.

Viewport – View modes

De View modes bepalen de manier waarop iets wordt weergegeven (bv. met betrekking tot de belichting).

Exposure is een post-processing effect dat de belichting van de scene bepaalt in de viewport. Deze staat standaard automatisch Game settings (het bewegen van een licht naar een donker gebied of omgekeerd zorgt ervoor dat de camera tijdelijk wordt aangepast, net zoals onze ogen zich aanpassen bij het overschakelen naar andere lichtomgevingen). Indien u dit niet wenst vinkt u Game settings uit en kiest u voor een vaste waarde.

Een volledig overzicht vindt u hier.

Viewport – Show

Onder Viewport Show vinkt u aan of uit wat u al dan niet in de viewport wenst te zien.

Dit zijn gevorderde instellingen die we ten gepaste tijden gaan gebruiken. Een volledig overzicht vindt u hier.


Modes

De verschillende modes laten verschillende vormen van bewerken (editeren) toe.

Place mode

De Place mode laat u objecten toevoegen aan de Level.

  1. Filters
  2. Asset View

Meer informatie over de Place mode.

Paint mode

De Paint mode laat toe rechtstreek objecten te beschilderen.

Meer informatie over de Paint mode.

Landscape mode

De Landscape mode laat toe landschappen te ontwerpen in uw Level.

Meer informatie over de Landscape mode.

Foliage mode

De Foliage mode laat toe foliage (gras, struiken,…) te schilderen op een landschap.

Meer informatie over de Foliage mode.

Geometry editing mode

De Geometry editing mode laat toe om bestaande geometrie te wijzigen.

Meer informatie over de Geometry editing mode.


Content Browser

De Content Browser kunt u vergelijken met de Verkenner onder Windows. Het is de plek waar u:

  • Alle content van uw project terugvindt in zijn specifieke map.
  • Waar u de beschikbare content kunt open en bewerken.
  • Waar u nieuwe content kunt aanmaken.

  1. Navigation Bar
  2. Source Panel
  3. Collections Panel
  4. Asset Management Area
  5. Asset View

Met het knopje links in de Content Browser kunt u het Source Panel verbergen of weergeven.

Verder is het werken met de Content Browser te vergelijken met het werken met de Windows Verkenner.

Filters

Bent u op zoek naar een specifiek type content, bv. naar Particles, dan kunt u hierop filteren via Filters.

  • U filtert enkel op de folder, en sub folders, waar u in staat.
  • Het is mogelijk meerdere filters tegelijkertijd toe te passen, dit beperkt verder de gefilterde resultaten.
  • U kunt een filter, tijdelijk, uitschakelen door het filterknopje aan te klikken linksboven (hier Particle Systems).

Zoeken

Tenslotte kunt u ook nog specifiek zoeken op tekst (bv. fire).

Nieuwe folder aanmaken

Om een nieuwe folder aan te maken:

  • Selecteer de folder, of de Root, waar u een nieuwe folder wilt onder maken en kies voor Add New – New Folder. U krijgt dezelfde keuzemenu door met de rechtermuisknop te klikken in de folder zelf.

  • Geef de folder een naam en u hebt een nieuwe folder aangemaakt.

Nieuwe content toevoegen

De Content browser is tevens de plek om nieuwe content (assets) toe te voegen.

  • Klik op de knop Add New of klik met de rechtermuisknop in het rechter vak van de Content browser om nieuwe content (assets) toe te voegen.

  • Indien u de Starters content zou vergeten zijn, of indien u features van een andere template wilt toevoegen, kikt u op Add Feature or Content Pack….

  • Selecteer de gewenste Blueprint Features door de template te selecteren of kies voor Content packs om starters content toe te voegen.
  • Klik tenslotte op Add to Project.

  • Met Import kunt u externe content (bv. van 3DS Max, Blender, Maya,…) importeren, maar dit is voor later.
  • Save All bewaart, zoals verwacht, alles.

View Options

Onderaan rechts vindt u uitgebreide View Options.

Deze spreken voor zichzelf of komen later, indien nodig, aan bod.

Onderstaande video demonstreert het gebruikt van de Content Browser.


World Outliner

De World Outliner heeft een overzicht van alle objecten (actors) in uw level. U kunt de World Outliner gebruiken om snel de gewenste actor te selecteren.

Onderstaand voorbeeld toont alle actors in een standaard blank project.

Merk op dat de objecten (actors) gegroepeerd zijn in folders.

  • U kunt zelf een folder aanmaken door te klikken met de rechtermuisknop in de World Outliner en te kiezen voor Create Folder.

  • U kunt ook een sub folder aanmaken door met de rechtermuisknop op een bestaande folder te klikken en te kiezen voor Create Sub Folder.

U plaatst actors (objecten) in de gewenste folder door het er gewoon in te slepen.

Zoeken

U kunt gemakkelijk specifiek zoeken naar bepaalde actors door gebruik te maken van de zoekbalk bovenaan. In onderstaand voorbeeld heb ik gezocht naar alle chair actors.

U kunt nog veel meer in de World Outliner zoals mappen aanmaken, groepen aanmaken, … maar omdat we nog maar beperkte content hebben is dit nu nog niet van toepassing. Wie meer wil weten over bijkomende functies van de World Outliner bekijkt onderstaande video.

De World Outliner is ideaal om een actor/object in beeld te halen.

  • Zoek eventueel naar het gewenste, klik dan met de rechtermuisknop op deze actor en kies Focus Selected (of druk op de F-toets).

De camera beweegt zich voor dit object. Heel handig in een level met heel veel objecten.

Parent Child

Stel, u wilt dat als u de tafel verplaatst, het standbeeld (Statue) op deze tafel mee verplaatst.

  • Om dit te bekomen moet u het standbeeld slepen onder de tafel in de World Outliner.

  • U kunt ook de gewenste actor/object aanklikken met de rechtermuisknop en kiezen voor Attach To om vervolgens de Parent actor/object te kiezen.

U hebt nu een Parent Child relatie tussen actors (objecten).

  • Rechtsklikken en kiezen voor Detach maakt de relatie ongedaan.

Groeperen

U kunt objecten ook groeperen zonder er een specifieke Parent Child van te maken, u bent dan eveneens in staat om deze groep als één geheel te behandelen.

  • Selecteer de actors (objecten) die u wilt groeperen, klik met de rechtermuisknop op de selectie en kies Group (of Ctrl+G).

  • Gegroepeerde actors (objecten) worden met een groene box omlijnd in de Viewport.

  • Klik met de rechtermuisknop op de groep en kies GroupsUngroup om de groep op te heffen (Unlock laat toe een specifieke actor uit de groep te halen).

Zichtbaarheid

Door de oogjes aan te klikken kunt u een actors, of een volledig folder (on)zichtbaar maken in de Viewport, niet in de eigenlijke game/app.

Editeren

In de World Outliner kunt u ook standaard Edit-opdrachten uitvoeren, zoals hernoemen, verwijderen,….

Snelmenu

De snelmenu die u in de World Outliner krijgt is haast identiek aan de snelmenu in de Viewport.


Details

In Details krijgt u detailinformatie, de eigenschappen/properties, van de geselecteerde actor. Deze eigenschappen zijn eigen aan het type van de geselecteerde actor/object en kunnen verschillen naargelang de geselecteerde actor.

  • Helemaal bovenaan in het Details-panel ziet u de naam van de actor/object staan (in bovenstaand voorbeeld is de naam Chair). u kunt deze hier eventueel wijzigen.
  • Een actor/object kan eventueel uit meerdere componenten bestaan (denk aan een fakkel en een vuur en eventueel een licht componenten). U ziet de verschillende componenten bovenaan en eventueel kunt u er toevoegen via Add Component.
  • Eventueel kunt u programmeercode toevoegen door van de actor een Blueprint van te maken via de knop Blueprint/Add script, of Edit Blueprint indien het reeds een Blueprint is, maar dit zien we later.
  • In het Search-vak kunt u een, deel van, de naam van de eigenschap intypen waar u op zoek naar bent. Unreal Engine filtert de eigenschappen op basis van wat u intypt.
  • Ziet u een geel pijltje na een eigenschap die niet meer de standaardwaarde heeft (zoals hierboven bij de eigenschappen Location en Rotation). Klik dit gele pijltje aan om de standaardwaarden opnieuw in te stellen.
  • Geavanceerde eigenschappen, die u in het begin zelden of nooit zult wijzigen, zitten verborgen achter het pijltje omlaag, dat u kunt aanklikken om de geavanceerde eigenschappen te zien. Hieronder zijn de geavanceerde eigenschappen voor Physics te zien.

Eigenschappen van meerdere actors tegelijkertijd wijzigen

Stel dat u meerdere actors/objecten dezelfde waarde wilt toekennen voor bepaalde eigenschappen.

  • Selecteer de verschillende actors die u wilt dezelfde waarden geven door ze aan te klikken met de Ctrl-toets ingedrukt.

  • In de Property Matrix ziet u de gemeenschappelijke eigenschappen en kunt u deze in één beweging wijzigen voor alle geselecteerde actors/objecten.

Weet ook dat u meerdere Details-panels kunt weergeven indien u eigenschappen wilt vergelijken via WindowsDetails.


De editor aanpassen

U kunt de editor naar wens aanpassen (de positie van de verschillende onderdelen). Onderstaande video toont hoe u dit kunt doen.

Hebt u alles om zeep geholpen? Geen paniek.

  • Ga naar WindowsReset Layout… en alles staat terug in zijn standaard positie.


Persoonlijke voorkeuren voor de Editor

Vindt u sommige standaardkleurtjes niet mooi, wilt u andere toetsencombinaties kunnen gebruiken, wilt u het automatisch opslaan wijzigen,… al deze zaken kunt u aanpassen.

  • Klik op EditEditor Preferences….

U komt in onderstaand scherm waar u een ruim aantal instellingen kunt wijzigen. Links ziet u verschillende categorieën staan, rechts de opties per categorie die u kunt wijzigen.

We bespreken de instellingen op het moment dat we ze nodig hebben.

Om de lessen uniform te houden raad ik aan om hier in eerste instantie niets aan te wijzigen. Weet dat eventuele wijzigingen op het niveau van Unreal Engine zelf gebeuren en dus van toepassing zullen zijn op alle projecten.


Project en World Settings

Project Settings

In tegenstelling tot de bovenstaande Editor Preferences die van toepassing zijn op het niveau van Unreal Engine zelf zijn en dus van toepassing zijn op alle projects zijn de Project Settings instellingen specifiek van toepassing voor dit project.

Denk aan specifieke toetsencombinaties voor dit project, de omschrijving van het project, specifieke instellingen voor de ondersteunende platformen voor dit project,…

  • Klik op EditProject Settings….

U komt in onderstaand scherm.

Bij het opstarten van uw project hebt u een aantal keuzes moeten maken met betrekking tot de Target Hardware, U vindt deze onder Target Hardware.

Eventueel kunt u deze wijzigen:

Onder Pending Changes ziet u welke instellingen gewijzigd zullen worden door uw wijziging van Target Platform.

Onder Maps & Modes kunt u instellen welke map er moet standaard geopend worden in de Editor en met welke map uw programma moet opstarten. Dit is vooral handig wanneer u een uitgebreid project hebt met meerdere mappen, maar ik wil het hier toch al eens aanhalen.

We bespreken de andere instellingen op het moment dat we ze nodig hebben.

World Settings

Tenslotte, omdat een project uit verschillende werelden (levels) kan bestaan hebt u ook nog instellingen op het niveau van de “wereld”, de zogenaamde World Settings.

  • U vindt de World Settings onder WindowWorld Settings.

Standaard wordt een World Settings-panel aangemaakt naast het Details-panel.

We bespreken deze instellingen op het moment dat we ze nodig hebben.


Mappenstructuur

Neem even een kijkje in de aangemaakte mappen, de mappenstructuur, van een project in Windows Verkenner.

Als voorbeeld heb ik een project genomen dat we in een volgende handleiding gaan aanmaken. Dit is een Blueprint-project en geen C++-project (dat bijkomende mappen zou toevoegen).

De basismap van uw project bevat uw Unreal Engine Project File en de submappen.

De Config-map bevat een reeks ini-bestanden die de instellingen voor uw project bijhouden.

De Content-map bevat alle content van uw project, het is deze map, met dezelfde structuur die u ziet in de Content Browser.

De Intermediate-map bevat tussentijdse bestanden, die iedere keer opnieuw worden aangemaakt. U zou de inhoud van deze map mogen verwijderen indien u uw project zou doorgeven aan iemand anders.

De Saved-map bevat informatie over back-ups, craches,… U zou de inhoud van deze map ook mogen verwijderen, maar weet dat deze inhoud niet automatisch wordt aangemaakt. U bent de inhoud, na het verwijderen, kwijt (al kan dit meestal geen kwaad).


Vault

De Vault, uw kluis, staat een beetje buiten uw werkomgeving maar ik ga het hier toch even aanhalen.

U vindt de Vault als u de Epic Launcher opstart in de Library onder uw eigen projecten (My Projects).

De Vault bevat externe projecten, bv. van de Marketplace, die in uw bezit zijn. Als u een project van de Marketplace toevoegt aan een eigen project wordt dit gedownload en staat dit, als een soort cache, op uw harde schijf zodat het een volgende keer niet meer moet gedownload worden.

Maar… dit kan al snel oplopen tot vele tientallen GB (in mijn voorbeeld kunt u aflezen dat dit 18 GB is). Merk ook op dat in mijn voorbeeld enkel Animation Starter Pack gecached is op mijn harde schijf.

In principe mag u dit verwijderen, weet wel dat als u deze content in een volgend project wilt gebruiken het dan opnieuw zal gedownload worden. Dus veelgebruikte content laat u het best op uw harde schijf staan.

Om deze cache op uw harde schijf te verwijderen, klik op het pijltje naast het gewenste (hier Animation Starter Pack) en klik op Remove Local Content.


Behandelde Basiscompetenties uit de module ICT Programmeren – Specifieke ontwikkelomgeving: eenvoudige functionaliteiten

  • IC BC017 – kan ICT veilig en duurzaam gebruiken
  • IC BC249 – kan de instellingen van een specifieke ontwikkelomgeving wijzigen

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.