Programmeren van een 3D omgeving in Unreal Engine – Blueprint Klasse – Wild West Motor

print
Deze handleiding maakt deel uit van het programmeertraject:



Wat vooraf ging


Inleiding

Deze handleiding is een uitwerking van een Blueprint klasse.

  • Start een Unreal Engine project.

U kunt het gebruikte model downloaden op:

https://sketchfab.com/3d-models/wild-west-motorcycle-6038a0b13fbe434f901af27fec8391ab

Het gebruiksklaar maken leest u in deze handleiding.


Blueprint aanmaken

U bewaart het best al uw eigen blueprint klassen in een eigen folder. Begin dus met een folder aan te maken (indien deze nog niet zou bestaan).

  • In de Content Browser, klik op Add NewNew Folder.

  • Open de aangemaakte folder.
  • In de Content Browser, klik op Add NewBlueprint Class (of klik met de rechtermuisknop in de net aangemaakte folder en klik op Blueprint Class).

  • U komt in onderstaand scherm waar u een Parent Class kunt selecteren. Bovenaan vindt u de meest gebruikte Parent Classes, onderaan kunt u eventueel een specifieke klasse zoeken (nadien verschijnt een knop Select om deze specifieke klasse als Parent Class te selecteren).

  • Klik op de gewenste Parent Class en geef een gepaste naam aan de blueprint klasse.

Componenten

De motor zelf is een Static Mesh.

Er is een Spot Light toegevoegd. Het is wat zoeken naar de juiste instellingen maar ik heb gekozen voor de volgende:

SpawnVuur is een Box Collision dat hier gebruikt wordt om de plaats aan te duiden waar de rook uitkomt, het is dan ook geplaatst aan het uiteinde van de “rookpijp”.

Box is een Box Collision rondom de motor die de events zal triggeren.

Audio

Onderstaande Sound Cue komt uit de Vehicle Advanced template. Er zijn drie geluiden die aangestuurd worden door de snelheid van het voertuig. De snelheid wordt bepaald ineen externe Blueprint. Er zal dus een parameter nodig zijn die kan aangeroepen worden vanuit een externe Blueprint.

Engine_Loop_Cue bestaat uit 3 geluiden, allen Looping.

Aan ieder geluid wordt een Continuous Modulator gekoppeld, dit biedt de mogelijkheid om een Parameter toe te voegen (RPM = Rotation per Minute = toeren per minuut, dus de toerenteller die de snelheid en dus het geluid van de motor bepaalt) dat kan gestuurd worden via Blueprints. Verder hebt u instellingen voor Pitch en Volume.

Crossfade by Param gebruikt dezelfde parameter (RPM) om in en uit te “faden” op basis van de afstand tot het geluid.

Een technisch overzicht van de mogelijke nodes vindt u hier.


Construction Script

De Spot Light en de Audio wordt uitgeschakeld bij creatie.


Event Graph

Bij het overlappen van de Box Collision wordt de invoer enabled via Enable Input, bij het verlaten van de Box Colliosn wordt de invoer gedisabled via Disable Input.

Bij het drukken op de P-toets, wordt een Flip Flop uitgevoerd waarbij de ene keer (Flip):

De andere keer (Flop) wordt:

  • Het licht opnieuw uitgeschakeld via Set Visibility.
  • De rook emitter gedeactiveerd.
  • het motorgeluid gestopt.

Bij het drukken op de +-toets of de -toets wordt het geluid van de motor gestuurd, geClampt tussen de waarden 100 en 3000 (deze waarden haalden ik na het bestuderen van de Engine_Loop_Cue) via Set Float Parameter en de parameter RPM.


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

  • IC BC231 – kan modellen, simulaties of visualisaties van de realiteit maken
  • IC BC246 – kan complexe ontwerpen in een specifieke ontwikkelomgeving maken
  • IC BC251 – kan een ontwerp in een specifieke ontwikkelomgeving verfijnen
  • IC BC253 – kan broncode in een specifieke ontwikkelomgeving optimaliseren

Behandelde Basiscompetenties uit de module ICT Programmeren – Integratie externe functionaliteiten

  • IC BC017 – kan ICT veilig en duurzaam gebruiken
  • IC BC256 – kan diverse elementen tot een nieuw betekenisvol geheel samenstellen
  • IC BC288 – kan ICT-problemen oplossen

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.