3D-ääni

Nämä toiminnot ovat käytettävissä vain Game Makerin Pro-versiossa.

3D-ääni viittaa ääneen, jolla on sijainti (ja nopeus) suhteessa kuuntelijaan. Vaikka sen huomattavimpia käyttökohteita ovat 3D-pelit, voit käyttää sitä tehokkaasti myös 2D-peleissä. Ideana on, että äänellä on sijainti avaruudessa. Kaikissa funktioissa kuuntelijan oletetaan olevan kohdassa (0,0,0). Järjestelmä laskee, kuinka kuuntelija kuulisi äänen ja mukauttaa sen vastaamaan kyseistä tilannetta. Efekti on erityisen hyvä, jos omistat hyvän kaiutinjärjestelmän, mutta se toimii myös pienillä kaiuttimilla.

Sijainnin lisäksi äänellä voi myös olla nopeus. Tämä johtaa tunnettuun doppler-ilmiöön, joka mallinnetaan aidolla tavalla. Lopuksi äänellä voi olla suunta ja jälleen ääni mukautuu vastaavasti.

Game Maker tukee 3D-ääniominaisuuksia alla luetelluilla funktioilla. Ne toimivat vain ääniresursseilla, jotka on määrätty kolmiulotteisiksi. (Varjopuolena on se, että 3D-äänet ovat yksikanavaisia ääniä, eivät stereoääniä.)

sound_3d_set_sound_position(sound,x,y,z) Asettaa määrätyn äänen sijainnin suhteessa kuuntelijaan määrättyyn paikkaan avaruudessa. x-akselin arvot kasvavat vasemmalta oikealle, y-akselin alhaalta ylös, ja z-akselin läheltä kauas. Arvot mitataan metreissä. Voimakkuus, jolla ääni kuullaan, riippuu näistä mitoista, kuten oikeassa maailmassakin.
sound_3d_set_sound_velocity(sound,x,y,z) Asettaa määrätyn äänen nopeuden määrättyyn vektoriin avaruudessa. Huomaa, että vauhdin asettaminen ei tarkoita sitä, että sijainti muuttuisi. Vauhtia käytetään vain doppler-ilmiön laskemiseksi. Jos haluat siis siirtää äänen, sinun täytyy itse muuttaa äänen sijaintia.
sound_3d_set_sound_distance(sound,mindist,maxdist) Asettaa minimietäisyyden, jolla äänenvoimakkuus ei enää kasva ja maksimietäisyyden, jolla ääntä ei voida enää kuulla. Kun etäisyys on siis nollan ja minimietäisyyden välillä, ääni on voimakkaimmillaan. Kun ollaan minimietäisyyden ja maksimietäisyyden välillä, ääni hiljenee hitaasti, kunnes ollaan joko maksimietäisyydellä tai ääni ei ole muuten enää kuultavissa. Oletuksena minimietäisyys on 1 metri ja maksimietäisyys on miljardi metriä.
sound_3d_set_sound_cone(snd,x,y,z,anglein,angleout,voloutside) Tavallisesti äänellä on sama voimakkuus tietyllä etäisyydellä kaikissa suunnissa. Voit asettaa äänikartion muuttaaksesi tämän ja tehdäksesi äänestä suunnatun. x,y ja z määrittelevät äänikartion suunnan. anglein (sisäkulma) määrittää sisäkulman. Jos kuuntelija on tämän kulman sisällä, hän kuulee äänen sen normaalivoimakkuudella. angleout (ulkokulma) määrittää ulkokulman. Kun kuuntelija on tämän kulman ulkopuolella, äänenvoimakkuus määrätään voloutside (ulkovoimakkuus) -parametrin mukaan. Tarkkaan ottaen voloutside on negatiivinen luku, joka määrittää satojen desibelien määrän, joka vähennetään sisäkulman äänenvoimakkuudesta. Sisä- ja ulkokulman välillä äänenvoimakkuus vähenee asteittaisesti.