Eenvoudige evenementen maken met FMOD Designer

Twee keer per maand bekijken we enkele van onze favoriete lezers uit de geschiedenis van Audiotuts +. Deze tutorial werd voor het eerst gepubliceerd in september 2008.

FMOD Ex is een van de vele audio-middlewaresystemen die worden gebruikt bij de ontwikkeling van moderne spellen. Het is geïntegreerd met een bestaande game engine-technologie (zoals Unreal of Gamebryo) om de audio-afspeelfunctionaliteit toe te voegen of uit te breiden. Een van de belangrijkste voordelen van het gebruik van een technologie zoals FMOD is dat het veel van het ontwerp en de implementatie van het systeem in de handen van de geluidsontwerper verschuift, in plaats van het te verbannen naar een programmeur, die al dan niet zo goed thuis is inudio.

Enkele recente speltitels die het FMOD EX-geluidssysteem gebruiken, omvatten:

  • Age ofяConan
  • Kung FuяPanda
  • Guitar HeroяIII
  • BioShock
  • Call of Dutyя4
  • StarCraftяII
  • World of Africa
  • Crysis

In onze laatste tutorial keken we naar een eenvoudige manier om raygun- of lasergeluiden te maken. In deze tutorial zal ik je voorstellen aan de FMOD Designer-tool, evenals enkele basisconcepten die worden gebruikt in de moderne gameontwikkeling. Miniatuurafbeelding door skipthefrogman.

NOTITIE: Een volledige inleiding tot het gebruik van FMOD Designer valt buiten het bestek van deze zelfstudie. Voor onze doeleinden gaan we ervan uit dat u op zijn minst enige bekendheid met het programma hebt gehad of dat u de gebruikershandleiding voldoende hebt gelezen om de basisnavigatie en -concepten te begrijpen.

ToolsяUsed

  • FMOD Designerя4.18
  • FMOD Sandboxя4.18

Stepя1

Het eerste dat ik met ons raygun-geluid heb gedaan, is om de drie 'bursts' van de originele eindmix te scheiden. Elk van deze is netjes bijgesneden zodat de aanval onmiddellijk plaatsvindt en elk bestand wordt gereduceerd tot. Dit is hoe de bestanden klinken:

Zap 1

Zap 2

Zap 3

Ontwikkelingstip: Hoewel er uitzonderingen zijn, heeft het werken met een monogeluidsbestand de voorkeur in de meeste game-audiosituaties waar geluiden in een driedimensionale ruimte worden geplaatst. De paninformatie in een stereogeluidsbestand is niet noodzakelijk (en kan soms onvoorspelbare resultaten hebben) omdat de locatie van het geluid wordt bepaald door zijn positie in de spelwereld ten opzichte van de 'luisteraar', wat de avatar van de speler kan zijn, de camera, яetc.


Stepя2

Nu we drie individuele variaties hebben op het raygun-geluid, gaan we een nieuw FMOD-project en -evenement maken dat willekeurig een van de drie soorten klinkt.

Maak vanuit het menu Bestand een nieuw FMOD-project. Bel het project 'Raygun'. Ik noem de Event Group 'wapens' en noem mijn eerste event? 'Raygun_oneshot'.


Stepя3

We zullen onze evenementeigenschappen vervolgens configureren. De meeste standaardwaarden zijn voldoende, maar laten we een aantal wijzigingen aanbrengen die onze raygun-gebeurtenis meer geschikt maken voor gebruik in een gameяscenario.

  • Stel 'Max Playbacks' in op 3 - dit stelt ons in staat om tot 3 raygun-geluiden tegelijkertijd te activeren voordat we iemand moeten stelen of falen om een ​​nieuwя-evenement te starten.
  • We stellen 'May Playbacks Behavior' in op 'Just Fail If Queitest'. Dit gedrag zal de motor vertellen om te falen in de stilste raygun-gebeurtenis als een 3 evenementen worden afgespeeld en een 4e een is ingeklikt.
  • De modus is ingesteld op 3D - dit zorgt ervoor dat we het raygun-geluid kunnen laten afgaan vanaf een specifieke locatie in de gamewereld. Vaak zijn wapengeluiden mogelijk gekoppeld aan 'muzzleflash'-type-effecten, zodat als een wapen wordt afgevuurd, er zowel een' flits 'uit de voorsnuit wordt gezien, en een overeenkomstig geluid wordt gebrandmerkt.
  • 3D Rolloff is ingesteld op 'Lineair'. Dit is een veel voorkomend misverstand met FMOD - veel gebruikers laten de roll-off over aan 'logaritmisch', dat de real-lifevolumecurves volgt (terwijl de afstand verdubbelt, het volume halveert). Het probleem met het gebruik van dit type rolloff in een spelwereld is dat je vrij vaak meer specifieke controle wilt over wat geluiden binnen een bepaalde viewport of gamescherm spelen. Als rolloff is ingesteld op 'Logaritmisch', hoor je mogelijk een wapen van een personage dat zich op meer dan 500 meter afstand bevindt, hoewel de speler mogelijk geen idee heeft waar het geluid vandaan komt omdat ze geen vijand kunnen zien. Er zijn nog tal van andere redenen, maar de eenvoudige oplossing is om rolloff op 'Linear' in te stellen, waardoor je meer controle hebt over wanneer en hoe en waar geluiden in een bepaald spel worden gehoord..
  • We stellen onze 3D Min en Max afstand in op respectievelijk 15 en 40. Dit zorgt ervoor dat we het raygun-geluid op minimaal volume horen als we binnen een straal van 40 meter zijn en ze op vol volume horen als we binnen 15 meter zijn. Buiten 40 meter is het evenement onaantrekkelijk.
  • Ten slotte stellen we de eigenschap Oneshot in op 'Ja' om ervoor te zorgen dat wanneer een raygun-gebeurtenis wordt geactiveerd, deze zichzelf automatisch stopt zodra het geluid is voltooid..

Stepя4

Vervolgens maken we een golfbank waarin we onze raygunяsounds plaatsen.

  • Klik op de Wave Banksяtab.
  • Klik in de kolom Banken met de rechtermuisknop en selecteer 'AddяBank'.
  • Geef de Wave Bank een beschrijvende naam.

De eigenschappen voor een FMOD Wave Bank (ook bekend als een FSB) zullen sterk variëren, afhankelijk van een aantal factoren die specifiek zijn voor uw spel.

Als voorbeeld zal ik deze golfbank echter in het geheugen laden (hierdoor blijven de geluiden actief en beschikbaar voor onmiddellijk gebruik in het spel), stel compressie in op ADPCM (biedt een goede balans tussen geluidskwaliteit, gecomprimeerde bestandsgrootte en lage CPU gebruik), schakel Syncpoints uit en stel Max Streams in op 0, aangezien we geen van onze raygun-geluiden van een schijf zullen streamen.

Ontwikkelingstip: Wave Banks zal sterk variëren, afhankelijk van je doelplatform (Windows, Xbox 360, Wii, Playstation 3, etc.), het soort geluiden in de bank, hoe de geluiden in het spel worden gebruikt en hoe je game-engine gebruikmaakt van audiobronnen . Hoewel verdere bespreking van deze onderwerpen buiten het bestek van deze zelfstudie valt, zult u ongetwijfeld meer over hen te weten komen terwijl u werkt in gameяdevelopment.


Stepя5

Nu we een Wave Bank hebben, zullen we onze raygun-geluiden toevoegen aan theяbank.

  • Klik op het Sound definitionsяtab.
  • Klik met de rechtermuisknop in de kolom Geluiddefinities om 'Lege geluidsdefinitie toevoegen' toe te voegen? '
  • Noem de definitie? Raygun_3_variations?.
  • Klik met de rechtermuisknop op de nieuw gemaakte definitie en op 'Toevoegen'. '
  • Shift-selecteer de drie raygun-varianten en klik op 'Open'.
  • Stel in de eigenschappen van Geluidsdefinitie de afspeelmodus in op 'RandomNoRepeat'. Dit zorgt ervoor dat wanneer de gebeurtenis wordt geactiveerd, deze willekeurig een van de drie raygunяsounds zal selecteren.
  • Stel de randomisatie van het volume in op? -3?, Waardoor het volume gerangschikt wordt met 3dB wanneer de gebeurtenis wordt geactiveerd.
  • Stel Pitch-randomisatie in op? 0.4 ?. Deze waarde is momenteel ingesteld in Octaven, maar als u liever met andere eenheden werkt, kunt u tonen of halve tonen opgeven in de weergave FMOD Event Properties (Pitch Units en Pitch Randomization Inv.Units).

U kunt nu de geluidsdefinitie beluisteren door op de knop 'Afspelen' boven in het eigenschappenvenster Geluidsdefinities te klikken.


Stepя6

De laatste stap bij het maken van onze raygun-gebeurtenis is om de geluidsdefinitie aan de gebeurtenis toe te voegen.

  • Klik op de gebeurtenis editortab.
  • In het grijze gebied van layer00, klik met de rechtermuisknop op 'addяsound'.
  • In de vervolgkeuzelijst addя'raygun_3_variations '.
  • Klik met de rechtermuisknop op de nieuw toegevoegde geluidsdefinitie en selecteer 'Sound InstanceяProperties'.
  • Zorg ervoor dat de Loop-modus is ingesteld op''Oneshot '.

Ons raygun-evenement is nu voltooid en zodra het project is 'gebouwd', is het klaar voor gebruik in een echt spel!

Download het Play Pack voor deze zelfstudie (300 KB)

Inhoud

  • FMOD Ex-bronbestand
  • WAV-monsters

Als je het leuk vond om iets over gameaudio te leren, laat het ons dan weten in de comments. We overwegen meer tutorials in deze zin, maar we moeten weten of u ze waardevol vindt. We waarderen uwяfeedback!