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

print
Deze handleiding maakt deel uit van het programmeertraject:


Inhoud


Wat vooraf ging


Gebruikte terminologie

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

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.

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

In deze handleiding gaan we een startproject, en een basislevel bouwen dat we gaan gebruiken om onze projecten in te verzamelen. We gaan een eigen project bouwen maar we gaan ook inhoud halen uit een reeds bestaand project ContentExamples van Epic. Tenslotte maken we een basislevel aan zodat alle cursisten volgens eenzelfde methodiek werken en alle cursistenprojecten een mooi geheel kunnen vormen.


Projecten

Start Unreal Engine

  • Start Epic Games Launcher.
  • Klik op Unreal Engine.
  • Klik op Launch (rechtsboven) om Unreal Engine te starten.

Start een nieuw project

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

  • Kies de Folder waar u het project wilt bewaren.
  • Geef uw project een naam, maximaal 15 tekens en geen spaties (bv. geef uw naam in als naam).

  • Klik op Create Project.

We gaan dit project gebruiken om onze opdrachten in te verzamelen.

Download en start een bestaand project

We willen content uit een bestaand voorbeeldproject gebruiken. In dit geval het Learning-project Content Examples.

  • Keer terug naar Epic Game Launcher (die staat wellicht nog open).
  • Klik op Learn.
  • Zoek naar Content Examples en klik het aan.

  • U moet het zich eerst nog eigen maken door te klikken op Free.
  • Maak nu een nieuw project op basis van Content Examples. Klik hiervoor op Create Project. Dit kan een tijdje duren.

  • Als het project gemaakt is, ga naar Libray en open het gemaakte project ContentExamples door het te dubbelklikken.

  • In de map Maps vindt u verschillende voorbeelden van content. Het is zeker de moeite hier eens rond te kijken. Selecteer de map en klik op Play.

  • Klik rechts op de map ExampleProject Welcome en kies voor Asset ActionsMigrate….

  • U krijgt een overzicht van alles wat gemigreerd zal worden. Klik op OK en selecteer de Content map van uw eigen project.

  • Sluit het project ContentExamples.
  • Keer terug naar uw eigen project. Merk dat de map ExampleProject Welcome, samen met alle onderdelen is toegevoegd.


Basislevel

Map toevoegen

We gaan al onze eigen mappen, en eigen materiaal in een eigen map plaatsen, onder onze eigen naam.

  • Voeg in de Content Browser een map Met uw naam toe aan het project via Add New – New Folder.

Klik op de map en maak op gelijkaardige wijze onderstaande mappenstructuur aan (eventueel kunnen hier later nog mappen aan worden toegevoegd).

Op deze manier kunnen al de opdrachten van de cursisten gestructureerd aan me bezorgd worden.

Nieuw level toevoegen

We gaan een basislevel toevoegen voor onze opdrachten, dat we later gaan kopiëren voor specifieke opdrachten.

  • Ga naar het menu FileNew Level….

  • Kies het template voor het nieuwe level (bv. Default).

Alternatief

  • U kan ook met de rechtermuisknop ingedrukt klikken in de map waar de Level moet komen en kiezen voor Level.

  • Vervolgens geeft u het nieuwe level de gewenste naam.
  • U dubbelklik op het icoontje om de net aangemaakte level te openen.

Let op, met deze alternatieve techniek maakt u een leeg level (Empty Level) aan, u hebt niet de optie om te kiezen voor Default.

Level bouwen

  • Een default level komt reeds met een aantal standaard actors.

  • De Floor hebben we niet nodig, selecteer de Floor en verwijder de Floor door op de Delete-toets te drukken.
  • Zoek in de folder DemoRoomBlueprint naar BP_DemoRoom. Deze blueprint is mee gemigreerd uit het ContentExamples-project en de hoofdreden voor de migratie.

  • Sleep de BP_DemoRoom Blueprint in het level.
  • Centraal de Room door de locatie voor X, Y en Z op 0 te plaatsen.
  • Experimenteer wat met de Room properties maar geef uiteindelijk onderstaande waarde in. Vergeet de Light Radius niet te wijzigen naar 5000 anders valt de ruimte te donker uit.

Als je nu het spel zou opstarten zou het kunnen dat u door de lucht valt.

  • Selecteer Player Start en zet de X-as op bv. 400, klik nadien op de End-toets om het object gelijk met de vloer te plaatsen of geef onderstaande waarden in.

  • Omdat we enkel “binnen” werken mag Atmospheric Fog, Sky Sphere en Sky Light verwijderd worden.

Actors toevoegen

Actors zijn de objecten die voorkomen in uw level.

Links, onder ModesBasic ziet u een aantal standaard, basisactors. U ziet er ondermeer Point Light, Cube, Sphere, Box Trigger en Sphere Trigger die we allen nog gaan gebruiken.

Ik wil links, tegen de muur uw naam zien.

  • Zoek in Modes naar Text Render.

Later, zien we uitgebreider hoe we actors kunnen verplaatsen, roteren en schalen. Voor nu, weet dat u onderstaande knoppen kunt gebruiken (ze staan bovenaan in de Viewport).

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.

  • Gebruik deze knoppen om de Text Render links tegen de muur te plaatsen of geef onderstaande waarden in.

  • Geef onder de eigenschap Text uw naam in en zet World Size op bv. 200.

Het ziet er ongeveer als volgt uit.

We kunnen nu het level, het spel, starten maar eerst moeten we compileren.

  • Klik op Play om uw project te starten.

Als alles goed loopt, en waarom zou dit niet, kunt u het level bewaren via Save Current.

  • Selecteer de juiste map, die we net aangemaakt hebben, en geef als naam bv. Basislevel.

Als we nu een nieuwe opdracht starten beginnen we met een duplicaat van deze Basislevel.

  • Ga hiervoor naar de map waar dit BasisLevel staat, klik het aan met de rechtermuisknop en kies Duplicate.

We zijn klaar om aan een nieuwe opdracht te beginnen.


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

  • IC BC017 – kan ICT veilig en duurzaam gebruiken
  • IC BC023 – kan ICT aanwenden om problemen op te lossen
  • IC BC247 – kan de bouwstenen van een specifieke ontwikkelomgeving gebruiken
  • IC BC248 – kan bouwstenen voor een specifieke ontwikkelomgeving maken
  • IC BC250 – kan bij het programmeren in functie van een specifieke ontwikkelomgeving, een juiste logica volgen
  • IC BC344 – kan oplossingen voor eenvoudige probleemstellingen bedenken

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.