Hvordan lage enkle hendelser med FMOD Designer

To ganger i måneden besøker vi noen av leserens favorittinnlegg fra hele historien til Audiotuts +. Denne opplæringen ble først publisert i september 2008.

FMOD Ex er et av flere audio middleware-systemer som brukes i moderne spillutvikling. Den er integrert sammen med en eksisterende spillmotorteknologi (for eksempel Unreal eller Gamebryo) for å legge til eller utvide lydavspillingsfunksjonalitet. En av de viktigste fordelene med å bruke en teknologi som FMOD er ​​at den skifter mye av systemdesign og implementering i hendene til lyddesigneren, i stedet for å overføre den til en programmerer, som kanskje eller kanskje ikke er så velbevandret inяaudio.

Noen siste spilltitler som bruker FMOD EX lydsystemet inkluderer:

  • Age ofяConan
  • Kung FujiPanda
  • Guitar HeroяIII
  • BioShock
  • Call of Dutyя4
  • StarCraftяII
  • World of SwedenWarcraft
  • Crysis

I vår siste opplæring så vi på en enkel måte å skape raygun- eller laserlyder på. I denne veiledningen vil jeg introdusere deg til FMOD Designer-verktøyet, samt noen grunnleggende konsepter brukt i moderne spillutvikling. Miniatyrbilde av splithefrogman.

MERK: En full introduksjon til bruk av FMOD Designer er utenfor omfanget av denne opplæringen. For vårt formål vil vi anta at du i det minste har noen kjennskap til programmet eller har lest brukerhåndboken nok til å forstå grunnleggende navigasjon og koncept.

ToolsяUsed

  • FMOD Designerя4.18
  • FMOD Sandboxя4.18

Stepя1

Det første jeg har gjort med vår raygunlyd er å skille de tre "brastene" fra den opprinnelige finalen. Hver av disse er trimmet pent, slik at angrepet er umiddelbart, og hver fil er redusert toяmono. Her er hva filene høres ut som:

Zap 1

Zap 2

Zap 3

Spillutvikling Tips: Selv om det er unntak, er det i de fleste spill lydsituasjoner der lydene skal plasseres i tredimensjonalt mellomrom, å foretrekke å arbeide med en mono lydfil. Paninformasjonen i en stereo lydfil er ikke nødvendig (og noen ganger kan ha uforutsigbare resultater) fordi plasseringen av lyden vil bli bestemt av sin posisjon i spillverdenen, i forhold til "lytteren", som kan være spillerens avatar, kameraet, яetc.


Stepя2

Nå som vi har tre individuelle variasjoner av raygunlyden, skal vi lage et nytt FMOD-prosjekt og arrangement som vil spille tilfeldig av en av de tre årene.

Fra Fil-menyen, opprett et nytt FMOD-prosjekt. Ring prosjektet 'Raygun'. Jeg ringer til hendelsesgruppen 'våpen' og nevner min første eventje'raygun_oneshot '.


Stepя3

Vi konfigurerer våre Hendelsesegenskaper neste. De fleste av standardene vil være tilstrekkelig, men la oss gjøre noen endringer som vil gjøre vår raygun-hendelse mer hensiktsmessig for bruk i et spillscenario.

  • Sett 'Maksimal avspilling' til 3 - dette vil tillate oss å utløse opptil 3 raygunlyder samtidig før vi må stjele eller feile en for å starte en newяevent.
  • Vi stiller inn 'May Playbacks Behavior' til 'Mislykkes bare hvis Queitest'. Denne oppførselen vil fortelle motoren å mislykkes den tydeligste raygun-hendelsen hvis en 3 hendelser spiller og en fjerde er istrinnet.
  • Modus er satt til 3D - dette vil sikre at vi kan få raygunlyden ut fra et bestemt sted i spillverdenen. Ofte kan våpenlyder være festet til "muzzleflash" -effektene, slik at hvis et våpen blir sparket, ser man både en "flash" fra nesen og en tilsvarende lyd vises.
  • 3D Rolloff er satt til 'Lineær'. Dette er en vanlig misforståelse med FMOD - mange brukere forlater rollen til 'Logaritmisk', som følger virkelige volumkurver (som avstanden dobler, volumhalvdelene). Problemet med å bruke denne typen rolloff i en gameworld er at ganske ofte vil du ha mer spesifikk kontroll over hvilke lyder som spiller i et gitt visningsport eller spillskjermbilde. Hvis avrullingen er satt til 'Logaritmisk', kan du høre et våpen fra et tegn over 500 meter unna, selv om spilleren ikke kan ane hvor lyden kommer fra fordi de ikke kan se en fiende. Det er mange andre grunner, men den enkle løsningen er å sette rollen til 'Lineær', noe som gir deg mer kontroll over når og hvordan og hvor lyder høres gjennom et gitt selskap.
  • Vi stiller vår 3D Min og Max avstand til henholdsvis 15 og 40. Dette sikrer at vi får høre raygunlydene ved minimumsvolum hvis vi er innenfor 40 meter, og vil høre dem fullt volum hvis vi er innenfor 15 meter. Utenfor 40 meter, vil arrangementet bli gjennomført.
  • Til slutt vil vi sette Oneshot-egenskapen til "Ja" for å sikre at når en raygun-hendelse utløses, stopper den automatisk når lyden er ferdig med å spille.

Stepя4

Deretter skal vi opprette en bølgebank der vi legger vår raygunяsounds.

  • Klikk på Wave Banksяtab.
  • I kolonnen Banker, høyreklikk og velg 'AddяBank'.
  • Gi Wave Bank et beskrivende navn.

Egenskapene til en FMOD Wave Bank (også kjent som en FSB) vil variere sterkt avhengig av en rekke faktorer som er spesifikke for yourяgame.

Som et eksempel, vil jeg imidlertid sette denne bølgebanken inn i minnet (dette holder lydene aktive og tilgjengelige for umiddelbar bruk i spillet), sett komprimering til ADPCM (gir en god balanse mellom lydkvalitet, komprimert filstørrelse og lav CPU bruk), deaktiver Syncpoints og sett Max Streams til 0, siden vi ikke vil streame noen av våre raygunlyder fra aяdisk.

Spillutvikling Tips: Wave Banks vil variere sterkt avhengig av målplattformen (Windows, Xbox 360, Wii, Playstation 3 osv.), Typen lyder i banken, hvordan lydene blir brukt i spillet, og hvordan spillmotoren bruker lydressurser . Mens videre diskusjon av disse emnene er utenfor omfanget av denne opplæringen, vil du uten tvil fortsette å lære om dem mens du jobber i spillutvikling.


Stepя5

Nå som vi har en Wave Bank, legger vi til våre raygunlyder til banken.

  • Klikk på Sound definitionsяtab.
  • Høyreklikk i kolonnen Lyddefinisjoner til 'Legg til tom lyddefinisjon? '
  • Ring definisjonen?? Raygun_3_variations?.
  • Høyreklikk på den nylig opprettede definisjonen og 'Addяwavetable? '
  • Shift-velg de tre raygunvariasjonene og klikk 'Open'.
  • I lyddefinisjonsegenskapene, still inn spillemodus til 'RandomNoRepeat'. Dette sikrer at når hendelsen utløses, vil den tilfeldigvis velge en av de tre raygunяsounds.
  • Sett volum randomisering til? -3?, Som vil randomisere volumet med 3dB når hendelsen er regnet.
  • Sett Pitch randomisering til? 0.4 ?. Denne verdien er for øyeblikket angitt i oktaver, men hvis du foretrekker å jobbe med andre enheter, kan du angi toner eller halvtoner i FMOD-hendelsesegenskaper-visningen (Pitch Units og Pitch Randomization )Units).

Du kan nå audisjonere lyddefinisjonen ved å klikke på "Spill" -knappen ved lyddefinisjonene propertiesяwindow.


Stepя6

Det siste trinnet i å gjøre vår raygun-hendelse er å legge til lyddefinisjonen til theяevent.

  • Klikk på Event editorstowntab.
  • I det grå området av layer00, høyreklikk på 'addjasound'.
  • Fra rullegardinlisten, addja'raygun_3_variations '.
  • Høyreklikk på den nylig lagt lyddefinisjonen og velg 'Sound InstanceяProperties'.
  • Kontroller at Loop-modus er satt til'Oneshot '.

Vår raygun-hendelse er nå fullført, og når prosjektet er "bygget", vil det være klar til bruk i en actualяgame!

Last ned Play Pack for denne opplæringen (300KB)

innhold

  • FMOD Ex Source File
  • WAV-prøver

Hvis du har likt å lære litt om spill lyddesign, vennligst gi oss beskjed i kommentarene. Vi vurderer flere opplæringsprogrammer langs disse linjene, men vi må vite om du finner dem verdifulle. Vi setter pris på yourяfeedback!