Támogatás eax a fmod könyvtár
Ismerete a specifikáció EAX
Fejleszteni és ösztönözni a Creative Labs rendszer térbeli hangfeldolgozó Environmental audio eXtensions ™ (EAX) által használt számos játékfejlesztők hozzon létre egy természetes térhatású hang alapján a sajátosságait a helyiségbe, ahol az események a játék fejlesztése, és ahol a hangforrások találhatók. EAX is képviselteti magát a vonatkozó előírásokat, amelyek meghatározzák a modellek és algoritmusok, hogy megteremtse a hanghatások a környező tér vagy helyiség alapján Reverb (Environmental Audio surround hangzás).
A „reverb” (a sze-században. Latin reverberatio - .. tükrözött) megértse fenntartani, hogy továbbra is fennáll kikapcsolása után a hangforrás és a kapott nem egyidejű érkezése egy adott pontján a visszavert vagy szórt hanghullámok. Reverb jelentős hatással van a hallhatóságának beszéd és a zene a szobában.
EAX is tartalmaz, API függvények, amelyek lehetővé teszik a programozó, hogy kihasználják EAX hardver támogatás. Abban az időben ez a cikk megjelent már a negyedik változata EAX, amely elérhető a Creative Labs honlapján a részben a fejlesztők számára.
EAX API egy kiterjesztése az alaprendszer DirectSound3D létre surround hangzás. A működés során EAX hangfeldolgozó jelentkezési folyamat van osztva: DirectSound3D helyzetét szabályozza, mozgási sebességét a 3D térben hangforrások és a hallgató, és EAX teszi, hogy a hang változások jellemezték a környező hangforrás helyet.
EAX támogatási rendszer biztosítja a hardver beépített audió processzor hangkártya (audio gyorsítók). Persze, hogy először ez a támogatás alapján megvalósított díjak Creative.V tegye EAX technológiát E-mu környezeti modellezés által támogatott emu10k1 audio processzor, szerelve egy sor hangkártya SBLive! A modell figyelembe veszi a típusát EAX hangjelző: fejhallgató, sztereó és kvadrosistema. Audioakselerator emu10k1 rendezi audio folyamot egy több csatornát, majd az egyes valós idejű csatorna ró visszhang. Ezáltal új hangok, amelyek közelebb állnak a természetes hangzás a valós térben.
mivel az emberi fül hallja nemcsak a hang, közvetlenül a forrásból, de érzékeli és a másodlagos (és magasabb) hang rezgések, amelyek határozza meg a távolságot az a forrás, és a visszhang paraméterek, nevezetesen a távolság és a visszhangokat tekinthető a fő jellemzői a tér vagy helyiség.
Kezdetben azt feltételezték, hogy az EAX nem használ geometriai modell a jelenetet, amely a hangforrás nem kapcsolódik a grafikus objektumok. A lényeg az volt, hogy hozzon létre egy hang hangulat a játék jelenetek, hogy az, hogy befolyásolják az érzelmi állapot a játékos, mint ahogy a film soundtrack mindig hangsúlyozza a súlyos tapasztalatok, különös tekintettel a legfontosabb és elhanyagolva a kis hang részleteket. Vezetett ezt a megközelítést, EAX döntéshozók ennek alapján úgy döntött, egy statikus modell az egészséges környezet, nem geometriai paramétereit. A statikus modell automatikusan kiszámítja reverb effektek és reflexiók hallgatóhoz képest, figyelembe véve a szoba mérete, hang irányába, és egyéb paramétereket, hogy a programozó lehet meghatározni az egyes forrás. Kiszámítása a statikai modell kevesebb számítási erőforrások, mint a modellek alapján a geometriai megközelítést. EAX hangot használó minták előre elkészített, amelyek egy sor számértékek paraméterek helyiségek vagy terek. ezek nem jellemzik a paramétereket a helyét tárgyak a szobában, hiszen a geometriai modell és a viselkedését hanghullámok egy helyiség vagy hely, azaz a késleltetési foka, a csillapítás, hangelnyelési és elmélkedés a különböző frekvenciájú hangokat. Ha a telek a játék kell változtatni hosszú folyosón a nagy hangárba, a váltás egy statikus modell elegendő (folyosó modell) a másikra (a modell a hangár). Összes különböző helyiségek (a numerikus értékek) kerülnek bemutatásra EAX egy előre beállított (Preset). Ez a megközelítés egy egyszerű programozási 3D-s játék hang, hogy csökkentse a számítás modellezésére utánozható. A kapott hang nagyon élethű hangot. Másrészt, a statikus módszer az oka, hogy a kiválasztott preset a játék leállhat megfelelnek képe (geometrikus) ábrázolása a jelenetet. Például a geometriai modell, ha például, összeomlott a szoba falain, a hang miatt változik a modell maga, és nem erővel, alapján bizonyos jelzések vagy jelek. Abban az esetben, statikus modell a hang ugyanaz marad, mint korábban összeomlott a falak, míg a másik előre beállított kerül kiválasztásra.
EAX 1.0 támogatás változásai reverb helyek és gondolatokkal; Ez egy több előre beállított; Ez lehetővé teszi, hogy (bizonyos korlátok között), hogy módosítsa a reverb a szobában; automatikusan változik a reverb intenzitást, helyzetétől függően a hangforrás. EAX 1.0 épít hangteret alapján előre létrehozott előre beállított, mivel a távolság a hangforrások és a hallgatót.
Az EAX 2.0 frissítik zengő modellt; hozzáadott hatás hang akadályok (elzáródás) és az akadályok (akadályt); végrehajtott elkülönített kezelése, korai és késői reflexiók; lehetséges hosszú távú kontroll szoba mérete; felvett akusztikus tulajdonságait levegő (hangelnyelési). Most környezeti hanghatásokat nem szükséges leírás szoba geometria. EAX 2.0 épül az első változata a lehetőségeket, és létrehoz még valósághűbb hatás.
EAX 3.0 vezérlését teszi lehetővé a kezdeti visszhang és a korai visszaverődések minden hangforrást; végrehajtja dinamikus közötti átmenet a modell térben; Ez magában foglalja egy javított modell az automatikus távirányító és a kezdeti visszhang reflexiók függően a hangforrás viszonyított helyzete hallgató. Ebben a leírásban már akkor bekövetkezik, némi eltérést a statikai modell és annak szerkezetét tartalmazza módszerek megfelelő geometriai modellek: Számítások sugárkövetéses (visszavert sugarak), hogy megkapjuk a reflexiós paramétereket minden egyes hangforrás. Ezen túlmenően az egyes gondolkodási végrehajtott távoli visszhangok. Továbbfejlesztett távoli prezentáció, amelynek célja, hogy cserélje ki a statikus reverb modell szerint. EAX 3.0 egyesíti a második változat az új funkciókkal. A nagyobb valósághűség révén érhető el a támogatást a helyi reflexiók izolált tükröződés, hosszú közötti átmeneteket hangtér és mások.
FMOD eszközök dolgozó EAX
Népszerű a sok fejlesztő (különösen a rajongóknak, akik létre, nem kereskedelmi szoftver) könyvtári funkciók működnek FMOD hang (Firelight Technologies Pty fejlesztő) számos olyan lehetőséget, hogy működjenek együtt az EAX rendszer. Róluk még lesz szó.
Annak érdekében, hogy néhány ötletet a FMOD könyvtár, ajánlott elolvasni a cikket a FMOD audio játékok. amely szerint a alapelveit ezt a könyvtárat, és megállapította szekvencia (call API FMOD funkciók), hogy hozzon létre térhatású hang források és számítási utánozható.
Abban a pillanatban, (beszélünk a változat FMOD 3,74) könyvtár támogatja az EAX 2.0 és 3.0 (azonban azt feltételezzük, hogy a specifikáció EAX kompatibilis „alulról felfelé”, azaz beállításait EAX 2.0 lesz jól támogatott hangkártyák, végrehajtási EAX 3.0, stb ) ..
Ellenőrizzük EAX hardver támogatás
FSOUND_CAPS_HARDWARE, FSOUND_CAPS_EAX2, FSOUND_CAPS_EAX3, amelyek meghatározzák az egybites mező azt jelzi, hardveres 3D-s hang, az EAX 2.0 és EAX 3.0, illetve három állandók meghatározása a fmod.h fájlt.
FSOUND_GetDriverCaps () függvény előtt kell meghívni FSOUND_Init () függvény hívás vagy a hívás után FSOUND_Close () függvény;
FSOUND_REVERB_PROPERTIES szerkezete és FSOUND_REVERB_CHANNELPROPERTIES
A szempontból a programozó EAX leírás leírható mint egy olyan struktúrát leíró reverb a szoba (tér). Ilyen paraméterek lehetnek több mint két tucat.
FSOUND_REVERB_PROPERTIES szerkezet paramétereket tartalmazza, amelyek közösek az összes létező hangforrások. FSOUND_REVERB_CHANNELPROPERTIES szerkezet jellemzi egyetlen forrásból (csatorna). Az alábbiakban listák tagjainak ezen szerkezetek: az első a FSOUND_REVERB_PROPERTIES, majd FSOUND_REVERB_CHANNELPROPERTIES. Részletes vizsgálata fizikai értelmében ezeket a paramétereket túlmutat a jelen cikk. Minden kérdésre lásd a dokumentáció EAX.
Itt van egy lista a használt alapbeállításokat, ha dolgozik DirectSound3D Windows:
- FSOUND_PRESET_OFF - visszhang feldolgozó le van tiltva
- FSOUND_PRESET_GENERIC - alapértelmezett beállítások
- FSOUND_PRESET_PADDEDCELL - "cella (kamra), élő anyag"
- FSOUND_PRESET_ROOM - "szoba"
- FSOUND_PRESET_BATHROOM - "Fürdőszoba"
- FSOUND_PRESET_LIVINGROOM - „nappali”
- FSOUND_PRESET_STONEROOM - „szoba kőfalakkal”
- FSOUND_PRESET_AUDITORIUM - "közönség"
- FSOUND_PRESET_CONCERTHALL - „koncertterem”
- FSOUND_PRESET_CAVE - "barlang"
- FSOUND_PRESET_ARENA - "Arena"
- FSOUND_PRESET_HANGAR „hangár”
- FSOUND_PRESET_CARPETTEDHALLWAY - „folyosó (előszoba) lefektetett szőnyeg”
- FSOUND_PRESET_HALLWAY - "folyosó" ( "előtér")
- FSOUND_PRESET_STONECORRIDOR - „a folyosón a falak és padló”
- FSOUND_PRESET_ALLEY - "köz"
- FSOUND_PRESET_FOREST - "Forest"
- FSOUND_PRESET_CITY - "város"
- FSOUND_PRESET_MOUNTAINS - "Rocks"
- FSOUND_PRESET_QUARRY - "kőbánya"
- FSOUND_PRESET_PLAIN - "pusztai"
- FSOUND_PRESET_PARKINGLOT - "parkoló"
- FSOUND_PRESET_SEWERPIPE - "csatorna"
- FSOUND_PRESET_UNDERWATER - "Under the Sea"
- FSOUND_PRESET_DRUGGED - "retardált"
- FSOUND_PRESET_DIZZY - "szeleburdi"
- FSOUND_PRESET_PSYCHOTIC - "pszichotikus"
Beállítása és az olvasás a térbeli paraméterek
Abból a célból, bizonyos térbeli paramétereit a térhatású hang forrását FMOD könyvtár tervezett FSOUND_Reverb_SetProperties () függvényt és FSOUND_Reverb_SetChannelProperties (). Az elfogadott paraméterek FSOUND_Reverb_GetProperties inverz függvény () és FSOUND_Reverb_GetChannelProperties (). A reverb paraméterek is elvégezhető lejátszása. Annak érdekében, hogy az új beállítások életbe léptetéséhez meg kell hívni FSOUND_Update () függvényt.
például a program
- fmodbc.lib - Borland C Builder
- fmodlcc.lib - a lccwin32
- fmodvc.lib - Microsoft Visual C / C ++
- fmodwc.lib - a Watcom C ++
A jelen példában a Win32 API függvény és FMOD könyvtár. A programot telepíteni kell a számítógépre fmod könyvtárban, vagy helyezzük egy mappa a futtatható fájl (eaxdemo.exe) fmod.dll könyvtárfájlt.