gpt4 book ai didi

c++ - 如何根据物体位置和速度、玩家位置和前向 vector 计算左耳和右耳的音量? (3D 声音)

转载 作者:行者123 更新时间:2023-11-28 01:45:19 24 4
gpt4 key购买 nike

请假设:

3D 体积的最小距离 = 1.0;
3D 体积的最大距离 = 100.0;

这是函数的声明:

对象可以是靠近玩家的球。

void CalculateSoundVolume(Vec3 objectPosition, 
Vec3 objectVelocity,
Vec3 userHead,
Vec3 userFoward,
float& leftEarVolume,
float& rightEarVolume)
{

}

最佳答案

您可能会开始使用这个基本事实:

声速是声波在弹性介质中传播时每单位时间传播的距离。在 20 °C (68 °F) 的干燥空气中,声速为每秒 343 米(1,125 英尺/秒;1,235 公里/小时;767 英里/小时;667 节),或一公里 2.91 秒或一英里4.69 秒。

声压级 (SPL) 会随着距离增加一倍而降低 (−)6 dB。声压下降为初始值声压的1/2倍(50%)。它以距离的比率 1/r 下降。声强级随距离增加一倍而降低 (−)6 dB。

详细阐述一个基本的传播模型,告诉您您的玩家在现实生活中会听到什么。

关于c++ - 如何根据物体位置和速度、玩家位置和前向 vector 计算左耳和右耳的音量? (3D 声音),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45395996/

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