如何在 NVIDA Physx 中使用 PxOverlapCallback 进行重叠查询

问题描述

我正在尝试使用 physx 在我的场景中执行重叠查询,但根据文档遇到了问题。我正在关注此处的信息:Scene Queries — NVIDIA PhysX SDK 4.1 Documentation

基于 SDK 指南中的示例,我创建了自己的回调类,继承自 PxOverlapCallback:

    struct OverlapCallback : physx::PxOverlapCallback {
        OverlapCallback(userData* userData)  : physx::PxOverlapCallback(NULL,0)  {
            mUserData = userData;
        }

        physx::PxAgain processtouches(const physx::PxOverlapHit* buffer,physx::PxU32 nbHits) {
            std::cout << "Number of overlap hits: " << nbHits << std::endl;
            return true;
        }

        void finalizeQuery() {
            std::cout << "Finalizing query" << std::endl;
        }

        userData* mUserData;
    };

但是,如果我使用这个回调函数,我会收到来自 physx错误

physx\src\53e20a06fa-b4a222d4bd.clean\physx\source\physx\src\NpSceneQueries.cpp (709):无效参数:PxScene::overlap() 和 PxBatchQuery::overlap() 调用没有 eANY_HIT 标志需要一个触摸命中缓冲区返回结果。

但是使用回调不是我不需要缓冲区的意义吗?重叠查询认标志应该是 eNO_HIT,所以我不确定为什么我会收到这个错误

预先感谢您提供的任何指示或帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...