繁体   English   中英

使用 PyOpenGL 和 3d 进行盒盒碰撞检测和 Pygame

[英]Box-box collision detection with PyOpenGL and Pygame at 3d

我正在编写一个播放器 class,它具有网格属性(我使用py3d 库和其中的网格 class)和碰撞器(我需要自己实现的 class)。 对撞机是一个简单的立方体,应该有一种方法来确定它是否与另一个对撞机立方体发生碰撞。 我有一个 class 允许你旋转和移动 3d 个对象,我从它继承了对撞机。 主要问题恰恰是编写碰撞检查 function

我尝试使用Pygame内置的方法来检测碰撞,但是没有用,因为当相机被移除时,碰撞器保持相同大小,并且不能旋转。 我数学不好,找的攻略都在C.game example

在 3D 中使用 PyOpenGL 和 Pygame 检测盒-盒碰撞的一种方法是使用 Bullet 物理引擎。 Bullet 是一个 3D 物理引擎,可用于检测碰撞、施加力和模拟刚体的运动。 要使用 Bullet,您需要将碰撞器 class 实现为 Bullet 主体,然后使用 Bullet 函数检测碰撞器对象之间的碰撞。 您还可以使用 Bullet 函数来旋转和移动碰撞器,这将允许您保持相同大小的碰撞器,而不管相机 position。

这是一个关于如何集成子弹的教程链接http://www.opengl-tutorial.org/miscellaneous/clicking-on-objects/picking-with-a-physics-library/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM