[英]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.