Starten met programmeren van een 3D omgeving in Unreal Engine – Audio integreren

print
Deze handleiding maakt deel uit van het programmeertraject:


Inhoud


Wat vooraf ging


Inleiding

U wilt geluid toevoegen aan uw 3D omgeving en meer dan enkel het afspelen van een geluidsbestand maar deze herhalen (looping), mixen met andere geluiden, willekeurig een geluid kiezen uit een reeks van geluiden,… Dit gebeurt allemaal in de Sound Cue, waar we in deze handleiding kennis mee maken.

We gaan dit doen door rond te kijken in de bestaande voorbeelden uit de Starter Content.

  • Start een project op dat Starter Content bevat of voeg Starter Content toe aan een project.

Om Starter Content toe te voegen:

  • Klik in de Content Browser op Add New.
  • Klik op Add Feature or Content pack….

  • Selecteer Starter Content in het tabblad Content Packs.

De Starter Content is toegevoegd.


Sound Cue

Filter, via de Content Browser, op Sound Cue en Sound Wave. Sound Waves zijn de basisbestanden die de geluiden bevatten, Sound Cues de samengestelde geluiden.

  • Als u zelf een Sound Cue wilt aanmaken, klik dan, in de Content Browser, met de rechtermuisknop in de gewenste folder en kies voor SoundsSound Cue.

U komt in een Blueprint achtige omgeving.

  1. Menu Bar
  2. Tool Bar
  3. Details Panel
  4. Audio Node Graph
  5. Palette

Palette heb ik in onderstaande schermafdrukken verborgen.

Door te klikken met de rechtermuisknop op de achtergrond kunt u de nodes (die ook in Palette staan) opzoeken en toevoegen (door aan te klikken). Een overzicht van al deze nodes vindt u in de officiële documentatie.

  • U voegt Sound Waves toe door deze naar deze editor te slepen.

Voorbeelden

Looping

Een Sound Wave wordt in een lus herhaald, u moet hiertoe Looping aanvinken.

Random

Kies, met Random, een willekeurige Sound Wave uit meerdere Sound Waves. U kunt iedere Sound Wave een gewicht (Weight) meegeven dat bepaalt hoeveel gewicht het in de schaal legt om gekozen te worden in verhouding met de anderen.

Modulator

Via Modulator wordt iedere keer een andere waarde gekozen tussen de Min en Max van de Pitch of het Volume.

Mixer

De Mixer mengt verschillende geluiden tot één geluid. Voor ieder geluid kan je een volume meegeven (en dus bepalen hoe zwaar het weegt in de mix).

Delay

Met een Delay kunt u een vertraging toevoegen. In onderstaand voorbeeld heb ik ook de flow in beeld gebracht van een weergave.


Motorgeluiden

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.

De waarde voor de parameter RPM wordt door een Blueprint gestuurd.

  • Om deze Sound Cue toe te voegen aan een Blueprint voegt u een Audio Component toe.

  • Ken de Sound Cue Engine_Loop_Cue toe aan de eigenschap Sound in het Details-panel.

Onderstaande code toont hoe u het motorgeluid kunt wijzigen.

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.


Hoe gaat het verder?

Deze handleiding is een inleiding voor het gebruik van audio in Unreal Engine.
Voor een vervolg verwijs ik u naar de online cursus Ambient and Procedural Sound Design van Unreal Engine.


Praktisch videovoorbeeld

Fortnite Style Piano


In Game

In In Game toont een video hoe de besproken techniek in games gebruikt wordt.


Behandelde Basiscompetenties uit de module ICT Programmeren – Integratie externe functionaliteiten

  • IC BC024 – * kan zijn eigen deskundigheid inzake ICT opbouwen
  • IC BC232 – kan digitale tools gebruiken om modellen, simulaties en visualisaties van de realiteit te maken
  • IC BC254 – kan externe content integreren en structureren
  • IC BC255 – kan de geïntegreerde content in functie van het beoogde eindresultaat aanpassen
  • IC BC256 – kan diverse elementen tot een nieuw betekenisvol geheel samenstellen
  • IC BC258 – houdt rekening met regelgeving m.b.t. licenties voor het gebruik en de publicatie van broncode

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.