首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >戈多听觉物体

戈多听觉物体
EN

Stack Overflow用户
提问于 2022-04-03 17:50:53
回答 1查看 45关注 0票数 1

戈多是否有一种方法来计算声音与物体碰撞的时间,或者当声音与物体碰撞时声音有多低?例如,在下面的图片中,在地板中间有一个AudioStreamPlayer3D,在地板上的不同位置有三个黄色立方体。是否有可能让这三个立方体确定AudioStreamPlayer3d发出的噪音是什么时候/有多大,这样声音才能被三角化?同样,最远的幼崽可能听不到,而其他两只却能听到。

EN

回答 1

Stack Overflow用户

发布于 2022-04-03 18:14:28

不,这里没有。

如果您正在进行人工智能,我将建议您不要使用这种方法,而要向Area__提供资源。然而,在…上回答这个问题

您可以复制戈多用于计算代码(来源)中的卷的逻辑:

代码语言:javascript
复制
float AudioStreamPlayer3D::_get_attenuation_db(float p_distance) const {
    float att = 0;
    switch (attenuation_model) {
        case ATTENUATION_INVERSE_DISTANCE: {
            att = Math::linear2db(1.0 / ((p_distance / unit_size) + CMP_EPSILON));
        } break;
        case ATTENUATION_INVERSE_SQUARE_DISTANCE: {
            float d = (p_distance / unit_size);
            d *= d;
            att = Math::linear2db(1.0 / (d + CMP_EPSILON));
        } break;
        case ATTENUATION_LOGARITHMIC: {
            att = -20 * Math::log(p_distance / unit_size + CMP_EPSILON);
        } break;
        case ATTENUATION_DISABLED:
            break;
        default: {
            ERR_PRINT("Unknown attenuation type");
            break;
        }
    }

    att += unit_db;
    if (att > max_db) {
        att = max_db;
    }

    return att;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71728510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档