简单光线碰撞库(如果加载了3ds和b3d,则会获得额外奖励) 我花了相当长的时间来搜索一个简单的/快速的C++库(WIN/Linux),它可以回答两个问题:“这条射线穿过任何一个三角形”还是“第一个十字路口在哪里,如果有的话?”

简单光线碰撞库(如果加载了3ds和b3d,则会获得额外奖励) 我花了相当长的时间来搜索一个简单的/快速的C++库(WIN/Linux),它可以回答两个问题:“这条射线穿过任何一个三角形”还是“第一个十字路口在哪里,如果有的话?”,c++,3d,collision-detection,C++,3d,Collision Detection,这是我正在写的小游戏,用来看NPC是否能看到一个玩家,也用来检查一个玩家是否能一路摔倒在地。 三角形不会移动(如果您可以将三角形组标记为“开”/“关”,那就太好了) 事实上,我找到了一些库,但只有像OZCollide这样的非连续库。 当然有很多新的闪亮的物理引擎,但我不需要它们提供的99% 如果该库可以加载.3ds an.b3d文件,则会带来额外的好处,如果它可以在多线程环境中使用(创建多个搜索数据实例),则效果会更好 谢谢大家 Bullet Physics()是一个物理库,但它是分几层构建的。

这是我正在写的小游戏,用来看NPC是否能看到一个玩家,也用来检查一个玩家是否能一路摔倒在地。 三角形不会移动(如果您可以将三角形组标记为“开”/“关”,那就太好了)

事实上,我找到了一些库,但只有像OZCollide这样的非连续库。 当然有很多新的闪亮的物理引擎,但我不需要它们提供的99%

如果该库可以加载.3ds an.b3d文件,则会带来额外的好处,如果它可以在多线程环境中使用(创建多个搜索数据实例),则效果会更好

谢谢大家

Bullet Physics()是一个物理库,但它是分几层构建的。
因此,它可以用作碰撞库,在通过场景投射光线时非常有效。 (您不会使用或被其任何物理特性所困扰)

它可以在Windows和Linux上使用,但也可以在多个平台上使用,甚至可以在游戏机上使用。 该库已被各种游戏开发人员验证和专业使用

它不直接支持.3ds文件,但它有一个管道,用于将各种3D建模应用程序中的几何体转换为正确的格式

因为它是一个物理图书馆,所以使用它可能会觉得太过了。但这实际上就是你应该使用它的原因。
物理库高度依赖于良好的碰撞库,这实际上迫使碰撞库具有高质量并提供优异的性能。

Bullet physics()是一个物理库,但它是分几层构建的。
因此,它可以用作碰撞库,在通过场景投射光线时非常有效。 (您不会使用或被其任何物理特性所困扰)

它可以在Windows和Linux上使用,但也可以在多个平台上使用,甚至可以在游戏机上使用。 该库已被各种游戏开发人员验证和专业使用

它不直接支持.3ds文件,但它有一个管道,用于将各种3D建模应用程序中的几何体转换为正确的格式

因为它是一个物理图书馆,所以使用它可能会觉得太过了。但这实际上就是你应该使用它的原因。

物理库高度依赖于良好的碰撞库,这实际上迫使碰撞库具有高质量并提供优异的性能。

嗯,似乎没有“简单&小”的库/代码,所以我猜答案可能是“自己滚”。 这就是我所做的: 使用Irrlicht加载我的(静态)几何体,然后将所有(三角形/顶点)数据保存到文件中的工具,每个三角形仅9个浮动。
然后是一个将数据加载到八叉树和c2005三角形/光线相交测试中的碰撞库,它工作正常。

好吧,这里似乎没有“简单&小”库/代码,所以我猜答案可能是“自己滚”。 这就是我所做的: 使用Irrlicht加载我的(静态)几何体,然后将所有(三角形/顶点)数据保存到文件中的工具,每个三角形仅9个浮动。
然后是一个碰撞库,它将数据加载到一个八叉树和c2005三角形/光线相交测试中,它工作正常。

谢谢你的回答,我甚至检查了它,但它确实很大。这样你就不会认为我不在乎了,我的客户端已经通过Irrlicht实现了这些功能(不过我需要创建一个bug修复程序/补丁以使其实时工作),所以如果我“不得不”(即,我找不到任何小的simple&fast库)我将从Irrlicht中删除代码并将其集成到我的服务器代码中,但我希望不需要它/找到更干净的解决方案:-)谢谢你的回答,我甚至检查了它,但它确实很大。这样你就不会认为我不在乎了,我的客户端已经通过Irrlicht实现了这些功能(不过我需要创建一个bug修复程序/补丁以使其实时工作),所以如果我“不得不”(即,我找不到任何小的simple&fast库)我将从Irrlicht中删除代码并将其集成到我的服务器代码中,但我希望不需要它/找到更干净的解决方案:-)