Hur man gör enkla händelser med FMOD Designer

Två gånger i månaden återkommer vi några av våra läsarens favoritinlägg från hela Audiotuts + historia. Denna handledning publicerades först i september 2008.

FMOD Ex är ett av flera audio middleware-system som används i modern spelutveckling. Den är integrerad med en befintlig spelmotorteknik (som Unreal eller Gamebryo) för att lägga till eller förlänga ljuduppspelningsfunktionen. En av de främsta fördelarna med att använda en teknik som FMOD är att den skiftar mycket av systemdesignen och implementeringen i ljuddesigners händer, snarare än att förflytta den till en programmerare, som kanske inte är lika välinformerad.

Några nya speltitlar som använder FMOD EX ljudsystemet inkluderar:

  • Ålder ofяConan
  • Kung FujiPanda
  • Guitar HeroяIII
  • BioShock
  • Call of Dutyя4
  • StarCraftяII
  • World ofWarcraft
  • Crysis

I vår senaste handledning såg vi på ett enkelt sätt att skapa raygun eller laserljud. I den här handledningen introducerar jag dig till FMOD Designer-verktyget, liksom några grundläggande begrepp som används i modern spelutveckling. Miniatyrbild av splithefrogman.

NOTERA: En fullständig introduktion till användningen av FMOD Designer ligger utanför omfattningen av denna handledning. För våra syften kommer vi att anta att du åtminstone har någon förtrogenhet med programmet eller har läst användarhandboken tillräckligt för att förstå den grundläggande navigationen andяconcepts.

ToolsяUsed

  • FMOD Designerя4.18
  • FMOD Sandboxja4.18

Stepя1

Det första jag har gjort med vårt raygunljud är att skilja de tre "bursts" från den ursprungliga slutliga mixen. Var och en av dem är snyggt snyggt så attacken är omedelbar, och varje fil reduceras toяmono. Här är vad filerna låter som:

Zap 1

Zap 2

Zap 3

Spelutveckling Tips: Medan det finns undantag, föredras i de flesta spel ljudsituationer där ljud kommer att placeras i tredimensionellt utrymme. Det är föredraget att arbeta med en mono ljudfil. Pan-informationen i en stereoljudfil är inte nödvändig (och ibland kan det ha oförutsägbara resultat) eftersom ljudets placering kommer att bestämmas av sin position i spelvärlden i förhållande till "lyssnaren", som kan vara spelarens avatar, kameran, яetc.


Stepя2

Nu när vi har tre individuella variationer av raygunljudet, kommer vi att skapa ett nytt FMOD-projekt och -evenemang som slumpmässigt kommer att spela en av de tre år.

Skapa ett nytt FMOD-projekt på Arkiv-menyn. Ring projektet "Raygun". Jag ringer händelsegruppen "vapen" och heter mitt första eventje'raygun_oneshot ".


Stepя3

Vi konfigurerar våra Event Properties nästa. De flesta standardinställningarna är tillräckliga, men låt oss göra några ändringar som gör vår raygun-händelse mer lämplig för användning i ett spelscenario.

  • Ställ in 'Max Playbacks' till 3 - det här gör det möjligt för oss att utlösa upp till 3 raygunljud samtidigt innan vi behöver stjäla eller misslyckas för att starta en newjaevent.
  • Vi ställer in 'May Playbacks Behavior' till 'Misslyckas bara om Queitest'. Detta beteende kommer att berätta för motorn att misslyckas den tystaste raygunhändelsen om 3 händelser spelas och en 4: e isjättrigt.
  • Läget är inställt på 3D - det här säkerställer att vi kan göra raygunljudet från en viss plats i spelvärlden. Ofta kan vapenljud fästas på "muzzleflash" -effekten, så att om ett vapen avfyras ses både en "blixt" från nosan och ett motsvarande ljud visas.
  • 3D Rolloff är inställd på "Linjär". Detta är ett vanligt missförstånd med FMOD - många användare lämnar rollen till 'Logaritmiska', som följer verkliga volymkurvor (som avståndet dubblar, volymmhalvorna). Problemet med att använda denna typ av rolloff i en spelvärld är att det är ganska ofta du vill ha mer specifik kontroll över vilka ljud som spelas inom ett visst visningsportspel eller spelskärm. Om avstängning är inställd på "Logaritmisk" kan du höra ett vapen från ett tecken över 500 meter bort, även om spelaren kanske inte har någon aning om var ljudet kommer ifrån eftersom de inte kan se en fiende. Det finns många andra orsaker, men den enkla lösningen är att ställa in rollen till "Linear", vilket ger dig större kontroll över när och hur och var ljud hörs i ett givet spel.
  • Vi ställer in vårt 3D Min och Max avstånd till respektive 15 respektive 40. Detta säkerställer att vi kommer att höra raygunljuden vid minsta volym om vi är inom 40 meter och hör dem på full volym om vi är inom 15 meter. Utanför 40 meter kommer evenemanget att bli klart.
  • Slutligen ställer vi Oneshot-egenskapen på "Ja" för att säkerställa att när en raygun-händelse utlöses, stoppas den automatiskt när ljudet är färdigt.

Stepя4

Därefter skapar vi en vågbank där vi ställer våra raygunjasounds.

  • Klicka på Wave Banksяtab.
  • I kolumnen Banker högerklickar du och väljer 'AddяBank'.
  • Ge Wave Bank ett beskrivande namn.

Egenskaperna för en FMOD Wave Bank (även kallad FSB) kommer att variera kraftigt beroende på ett antal faktorer som är specifika för yourяgame.

Som ett exempel kommer jag att ställa in denna vågbank för att ladda in i minnet (detta håller ljuden aktiv och tillgänglig för omedelbar användning i spelet), sätt komprimering till ADPCM (ger en bra balans mellan ljudkvalitet, komprimerad filstorlek och låg CPU utnyttjande), inaktivera Syncpoints och sätt Max Streams till 0, eftersom vi inte kommer att strömma något av våra raygunljud från aяdisk.

Spelutveckling Tips: Wave Banks varierar mycket beroende på din målplattform (Windows, Xbox 360, Wii, Playstation 3 etc.), vilken typ av ljud i banken, hur ljuden används i spelet och hur din spelmotor använder ljudresurser . Medan vidare diskussion av dessa ämnen ligger utanför ramen för denna handledning, kommer du säkert att fortsätta att lära dig om dem när du jobbar i spelutveckling.


Stepя5

Nu när vi har en Wave Bank lägger vi våra raygunljud till theяbanken.

  • Klicka på Sound definitionsяtab.
  • Högerklicka i kolumnen Ljuddefinitioner till "Lägg till tom ljuddefinition? '
  • Ringa definitionen? Raygun_3_variations?.
  • Högerklicka på den nyskapade definitionen och 'Addяwavetable? '
  • Shift-välj de tre raygunvariationerna och click'Open '.
  • I Sound Definition-egenskaperna ställer du in Play-läge till "RandomNoRepeat". Detta säkerställer att när händelsen utlöses kommer den slumpmässigt att välja en av de tre raygunska soundsna.
  • Ange volym randomisering till? -3?, Som kommer att randomisera volymen med 3dB när händelsen är utlösad.
  • Ange Pitch randomisering till? 0.4 ?. Det här värdet är för närvarande inställt i oktaver, men om du föredrar att arbeta med andra enheter kan du ange toner eller halvtoner i egenskapen FMOD Event Properties (Pitch Units och Pitch Randomization )Units).

Du kan nu auditionera ljuddefinitionen genom att klicka på "Spela" -knappen ovanför Sound definitions propertiesяwindow.


Stepя6

Det sista steget i att göra vår raygun-händelse är att lägga till ljuddefinitionen till theяevent.

  • Klicka på Event editor.tab.
  • I det grå området av layer00 högerklickar du på "adda sound".
  • Från rullgardinslistan lägger du till add''raygun_3_variations '.
  • Högerklicka på den nya ljuddefinitionen och välj "Sound InstanceяProperties".
  • Se till att Loop-läget är inställt på'Oneshot '.

Vårt raygun-evenemang är nu färdigt, och när projektet är "byggt" kommer det att vara klart att använda i ett aktuellt spel!

Ladda ner Play Pack för denna handledning (300KB)

Innehåll

  • FMOD Ex Source-fil
  • WAV-prov

Om du har lärt dig lite om spel ljuddesign, var snäll och låt oss veta i kommentarerna. Vi överväger fler tutorials i dessa sammanhang, men vi behöver veta om du finner dem värdefulla. Vi uppskattar yourяfeedback!