Skip to main content

EchoTope met Unreal Engine

De Unreal Engine template is specifiek gemaakt in versie 5.7.4, maar zou ook moeten werken in nieuwere 5.7 varianten, en wellicht ook wel in nieuwere 5.x varianten. In oudere versies gaat het importeren van de Blueprints wel goed, maar zijn de Maps leeg / corrupt.

Import & Check

  1. Zorg dat je een bestaand Unreal project hebt, of maak een nieuw project aan in de juiste versie.
  2. Pak de template ZIP file uit zodat de VA_Sample folder in de Content folder van je project zit ([PROJECT_FOLDER]/Content/VA_Sample)

Vervolgens zou je 4 maps moeten hebben in de VA_Sample folder, en een aantal extra mappen.

ue5_echotope_1.png

Elke Map bevat een klein voorbeeldje wat gemaakt is met Blueprints die je kunt vinden in de Blueprints folder.

De overige mappen zijn:

  • CoreTypes
    • Deze map bevat alle basis types voor het opslaan & communiceren met het EchoTope Systeem.
      1. Accoustic / Room / Source Setting: een enum die het handiger maakt om een parameter naam te kunnen selecteren (met een drop-down)
      2. Accoustic / Room / Source Settings: de Data Asset class die alle parameters definieert, en ook een functie bevat om ze individueel aan te spreken (Break).
  • Accoustic / Room / Source Presets
    • Deze folders bevatten Data Assets die zijn gebaseerd op de corresponderende class in CoreTypes, zodat het makkelijker wordt om te wisselen tussen zelf-ingestelde sets van alle waardes van een source / room / accoustic.
  • Audio
    • Bevat wat voorbeeld audio (uit de standard assets van Unreal)
  • Materials
    • Bevat wat voorbeeld materials die gebruikt worden in de Maps.

Workflow

De manier waarop je dit in je eigen Maps kan integreren, is door de VA_OSC Blueprint in je scene te plaatsen, en dan in je eigen Blueprints (of door gebruik te maken van een van de voorbeelden) functies van VA_OSC aanroept om informatie naar EchoTope te sturen.

Zorg ervoor dat de juiste Send IP & Send Port van het EchoTope systeem zijn ingevuld. Je kan hier ook een Receive Port instellen (de Receive IP moet meestal 0.0.0.0 blijven) om ook dingen te kunnen ontvangen, en die berichten worden dan geprint op het scherm (bijv. om te testen of je wel de juiste informatie stuurt)

ue5_echotope_2.png

Om echt effectief te kunnen werken met EchoTope zal je wel wat kennis moeten hebben van Blueprints, dus overweeg daar ook wat starter-tutorials voor te bekijken. Hier zijn enorm veel bronnen vool, die ook constant veranderen, dus voegen we hier niet allemaal in. Hier is een voorbeeld van een preview van een uitgewerkte Udemy course (Blueprints for Beginners in Unreal Engine 5.6 - Learn Blueprints in 30 Minutes).

VA_OSC Functies

De VA_OSC Blueprint bevat functies die met het EchoTope systeem praten. Deze zijn opgedeeld zodat het zo makkelijk mogelijk wordt om specifieke dingen te doen: enkele waardes aanpassen (Set...Setting), alle waardes aanpassen (Set...Settings), mute/unmute (Mute...), & preset switching (Set...Preset). Zie het EchoTope protocol voor meer informatie over wat elke parameter precies doet met het geluid / systeem.

De Helpers worden de andere categorieën gebruikt. Als je precies wil weten wat er gebeurd kan je elke functie openen en kijken hoe deze is uitgewerkt.

ue5_echotope_6.png

Voorbeeld Maps

FollowObjectSample

Deze Map is een voorbeeld van hoe je een object de richting waar een Source / Room / Accoustic vandaan komt kan bepalen. Dit bestaat dus uit een AccousticTargetPanner, die in het midden van de Map staat, en een ControllableSphere die je met instelbare toetsen kunt besturen om het te testen. Dit kan natuurlijk ook een object zijn dat op basis van andere informatie beweegt (zoals gameplay!)

ue5_echotope_3.png

Het TargetObject is waar naar gekeken wordt. De Spread waarde bepaald hoe breed het geluid moet zijn (dit is een specifieke EchoTope parameter), de ID is de identifier van de source / room / accoustic. De OSCClient is de VA_OSC blueprint in de scene (zodat de communicatie kan plaatsvinden). Distance bepaald hoe ver weg het geluid moet klinken (dat is momenteel in EchoTope 1.6 nog niet actief, en staat dus nog op 0). En de Type kan "room", "accoustic" of "source" zijn zodat het Blueprint Script (FollowTargetPanner) weet wat voor soort bericht het moet sturen.

Je kan de FollowTargetPanner blueprint openen, en van links naar rechts de Event Tick volgen om dit te bevestigen.

ue5_echotope_5-1.pngRekent de richting uit waar het TargetObject is in polar coordinates waar EchoTope mee werkt.

ue5_echotope_5-2.png
Voert een ander pad uit op basis van het geluidstype dat we aansturen (source / accoustic / room).

ue5_echotope_5-3.pngStuurt de relevante waardes voor het Room-pad door, door de functies van de VA_OSC Blueprint aan te roepen. De overige paden zijn zeer vergelijkbaar.