gpt4 book ai didi

c++ - 获取3d空间中声音的 "pan"

转载 作者:行者123 更新时间:2023-11-28 05:34:10 25 4
gpt4 key购买 nike

我目前正在编写一个简单的 3d 声音系统,但我遇到了困难。

问题是:我在空间中有一个点,声音来自那里,当然我还有听者,他的点和方向。

距离不是问题,它工作得很好,但是当我想计算声音的声像(左/右多少)时,这完全是一场灾难。

我已经在网上搜索过了,但找不到任何可用的解决方案,然后我尝试自己用三角形和东西计算它,但你不想知道结果是什么。

我就不展示代码了,因为我写了三遍,每一个版本都不能用。

我不希望你一定要给我代码,如果我能得到一个数学解决方案,我会很高兴。我想知道声音是从相机向左还是向右发出的。

我在 C++ 11 中工作,声音库是 Audiere。

编辑:感谢willywonkadailyblah我想出了一些解决办法。你可以在这里观看: Get x position of sound from camera

通过点积,我可以获得三角形的 cos alpha,然后通过简单的皮塔哥拉斯定理,我可以获得距离 (A)。

最后,我将全距除以心距,然后乘以声距。

最佳答案

您可以计算相机方向与连接相机和声源的 vector 的积。这给出了 vector 之间角度的余弦值。如果点积比一更接近零,则声源更“靠边”而不是“靠前”。

关于c++ - 获取3d空间中声音的 "pan",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38705361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com