Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有向包围盒碰撞问题 我试图创建OBB的周围对象,然后使用DirectX 11和C++来碰撞它们。在我旋转一个(或多个)长方体,然后碰撞检测过早返回真值之前,一切都正常。它似乎仍然“正确”碰撞,但只是太早了(因为在边界框中太大)。我认为我在基本面上犯了错误,下面是我所做步骤的快速分解:_C++_Collision_Bounding Box - Fatal编程技术网

有向包围盒碰撞问题 我试图创建OBB的周围对象,然后使用DirectX 11和C++来碰撞它们。在我旋转一个(或多个)长方体,然后碰撞检测过早返回真值之前,一切都正常。它似乎仍然“正确”碰撞,但只是太早了(因为在边界框中太大)。我认为我在基本面上犯了错误,下面是我所做步骤的快速分解:

有向包围盒碰撞问题 我试图创建OBB的周围对象,然后使用DirectX 11和C++来碰撞它们。在我旋转一个(或多个)长方体,然后碰撞检测过早返回真值之前,一切都正常。它似乎仍然“正确”碰撞,但只是太早了(因为在边界框中太大)。我认为我在基本面上犯了错误,下面是我所做步骤的快速分解:,c++,collision,bounding-box,C++,Collision,Bounding Box,创建包含向量mCentre、Float[3]mExtents和向量[3]mLocalAxes的OBB结构 我通过找到“左”加上一半的宽度来推导中心,冲洗并重复其他轴 范围是“半宽度”,因此宽度、高度和深度为/2 局部轴取自矩阵的前3行 然后,我使用一个函数来检查所有15个轴,以测试是否存在一个分离轴,如果找到一个,该分离轴将返回false 如果有人能看到我逻辑上的缺陷并指出它,那就太好了!(我感觉我的中心计算错了) 通常我会写代码,但这是课程,所以我更愿意找出我的思路错在哪里 提前感谢(为文本

创建包含向量mCentre、Float[3]mExtents和向量[3]mLocalAxes的OBB结构

  • 我通过找到“左”加上一半的宽度来推导中心,冲洗并重复其他轴

  • 范围是“半宽度”,因此宽度、高度和深度为/2

  • 局部轴取自矩阵的前3行

  • 然后,我使用一个函数来检查所有15个轴,以测试是否存在一个分离轴,如果找到一个,该分离轴将返回false

  • 如果有人能看到我逻辑上的缺陷并指出它,那就太好了!(我感觉我的中心计算错了)

    通常我会写代码,但这是课程,所以我更愿意找出我的思路错在哪里


    提前感谢(为文本墙感到抱歉)

    因此,即使存在分隔平面,您的代码也无法找到分隔平面。现在抓起一个失败案例,确认飞机存在,看看代码应该在哪里检测到它。是的,我正在这样做,我正在努力看它哪里出了问题,这让我相信这是我的逻辑,这就是为什么我问,上面的步骤是正确的还是我误解了一些基本的东西?