簡體   English   中英

太空射擊游戲中的3D音效

[英]3D sound effects in space shooter game

我正在嘗試為我的太空射擊游戲實現3D聲音系統。 我已經准備好一切(每側播放不同音量的聲音等等),但是我找不到合適的公式來計算每側的正確音量。

通常的想法是,每當玩家殺死一個敵人時(攝像機總是在船的頂部),就會聽到正確的左右音量。 因此,如果敵人在飛船的右邊,那么與左邊的情況一樣,會更多地聽到右邊的頻道。

所以我有

vector ship
vector enemie

playSound(left ? ,right ?)

游戲引擎如何計算左右聲道?

終於我解決了。 我使用了類似於Ameoo所說的話。

這里是:

void Play3D(int id,vector3d ship,vector3d pos,float arenaWidth,float power)
{
    float disright=calculate_distance(ship.x+0.2f,ship.y,pos.x,pos.y);
    float disleft=calculate_distance(ship.x-0.2f,ship.y,pos.x,pos.y);
    sf.Play(2,1-disleft/arenaWidth*power,1-disright/arenaWidth*power);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM