我正在c#中进行一些碰撞测试,但是我遇到以下问题。
我有object1和object2,它们沿一个方向移动。
仅当object1和object2碰撞一定角度时,我才想激活效果
我拥有的数据
Vector2 object1Position
Vector2 object1Direction
float object1ColliderRadius
Vector2 object2Position
Vector2 object2Direction
float object2ColliderRadius
我已经进行了一次测试,以了解object1是否与object2发生碰撞。
答案 0 :(得分:1)
可以容易地根据dot product来计算角度。更为有趣的问题是,两者是否相互冲突。当然,这取决于速度。可以通过添加其他维度来轻松处理。在这里,您将放置z = t
。使用3D仿射几何图形,检查3D线是否相交。如果是,则具有2D轨迹的对象发生碰撞。当然,这是针对点对象的,因此,您必须详细检查直线的最接近距离。