Starten met programmeren van een 3D-omgeving in Unreal Engine – Fasen in het bouwen van een level

print
Deze handleiding maakt deel uit van het programmeertraject:


Inhoud


Wat vooraf ging

  • U bent vertrouwd met de werkomgeving van Unreal Engine.
  • U kunt actors plaatsen in een level.

Inleiding

U bent reeds vertrouwd met de werkomgeving van Unreal Engine. Maar voor we echt aan het programmeren gaan wil ik eerst nog even stilstaan bij de fasen voor het bouwen van een level.

We gaan ook reeds kennismaken met het voorbeeldproject Sun temple dat we doorheen de handleidingen vaak als referentie gebruiken.

Situering van deze handleiding binnen Unreal Engine


Fasen in het bouwen van een level

Tijden het bouwen van een level worden vier fasen doorlopen.

0. Concept

Een fase die ik eigenlijk niet meetel, omdat ze niet echt in Unreal Engine plaatstvindt, is de allereerste fase, noem het fase 0 of de concept fase.

Tijdens het concept wordt datgene dat men wilt eerst op papier geschetst. Dus voor u begint te bouwen in Unreal Engine gaat u het best eerst aan het schetsen. Het concept geeft u een idee van wat u wenst te bouwen.

1. Prototyping (Whiteboxing) pass

Gebruikmakend van basis geometrie (BSP) wordt “quick and dirty” de lay-out van het level vastgelegd in heel eenvoudige vormen, eventueel voorzien van een kleurcode (om gemakkelijker het onderscheid te maken tussen een muur, vloer,…). Maar… dit moet reeds speelbaar zijn omdat het ook gebruikt wordt om de basis gameplay uit te testen, of de lay-out bruikbaar is en of alles “werkt” (bv. de deur moet breed genoeg zijn om uw karakter door te laten). De collision (de plekken waar de actors en de karakters kunnen botsen, overlappen) wordt reeds vastgelegd.

De basisfunctionaliteiten worden reeds geprogrammeerd (basic scripting). In deze fase zorgt het programmeren dat de dingen werken, ze hoeven nog niet optimaal te werken (bv. de deur moet open gaan, ze moet nog niet op een perfect getimede manier open gaan).

2. Meshing pass

De eenvoudige geometrie wordt vervangen door static meshes. Er worden assets, materialen en eenvoudige belichting toegevoegd. De level wordt ingekleed, gedecoreerd. U krijgt nu reeds een beeld van hoe uw level er zal uitzien (en niet enkel hoe hij opgebouwd is (prototyping)) zonder uzelf te verliezen in details.

Deze inkleding, decoratie mag echter de gameplay, collision,… vastgelegd tijdens het prototypen, niet meer wijzigen. Er mag dus niets worden toegevoegd enkel vervangen (bv. de muur die er geplaatst is tijdens het prototyping blijft er staan, hij krijgt alleen een “behang”. De ruimte die voorzien was voor een raam krijgt nu effectief het raam geplaatst (binnen de reeds voorziene ruimte).

Deze static meshes, assets, materialen,… die in het level worden gebracht hebben vaak eigen specifieke functionaliteiten die dienen geprogrammeerd te worden.

3. Lighting pass

Meer specifieke lichten worden geplaatst of worden verder verfijnd (kleur, sterkte, …), de materialen worden verder verfijnd. Er worden particles toegevoegd (bv. de openhaard krijgt een brandend vuurtje). Het gaat hem niet langer meer om de lay-out (prototyping) of het beeld (meshing) maar om het gevoel dat het level moet uitstralen. Wanneer meerderen personen aan een level werken is dit de fase waarin de “artist” zijn intrede doet.

Net zoals bij de meshing fase mag de gameplay, collision,…, vastgelegd tijdens het prototypen, niet meer worden wijzigen.

De programmeercode wordt verder verfijnd.

4. Polish pass

De afwerking. Reflecties, audio, speciale effecten, details (zoals beschilderingen op de muren, vlekken,… de zogenaamde decals),… worden toegevoegd.

Uiteraard mag ook in deze fase niets meer gewijzigd worden aan de gameplay, collision,… vastgelegd tijdens het prototypen.

De programmeercode dient nu bugvrij te zijn en geoptimaliseerd, eventuele AI (artificiële intelligentie) wordt toegevoegd.

Onderstaande video’s tonent de 4 fasen in het aanmaken van een level, maar eerst wordt nog eens een herhaling gegeven over het gebruik van de editor en het plaatsen van actors.

U kunt dit project zelf downloaden en installeren.

  • Start Epic Games Launcher op.
  • Ga naar Learn.
  • Zoek naar Sun Temple en klik het aan.

  • U kunt dit project Free downloaden.
  • Eens gedownload kunt u een nieuw Sun Temple-project maken door te klikken op Create Project.


Quixel Megascans

Quixel Megascans, een gigantische bibliotheek aan textures en 3D objecten, is eveneens van de firma Epic en is gratis voor gebruik in Unreal Engine. Het is dan ook een ideale bron voor het bouwen van levels.

Doorheen de handleidingen gaan we, aan de hand van een aantal video’s, bekijken hoe u deze Quixel Megascans kunt gebruiken voor het bouwen van een level. Onderstaande video geeft u een overzicht van de mogelijkheden van Quixel Megascans en hoe u Quixel Megascans kunt integreren, via Quixel Bridge, in Unreal Engine. Ook wordt getoond hoe u Quixel Megascans eventueel kunt optimaliseren/personaliseren via Quixel Mixer.


Project Level Creation – Intro

Doorheen de komende handleidingen gaan we een eenvoudige interactieve level bouwen. Hieronder kunt u een intro bekijken van wat we gaan bouwen. We gaan, om het eenvoudig te houden, enkel werken met Starter Content.

Onderstaande video heeft u een idee van wat we gaan bouwen.


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