如何在Panda3D中将加载的模型用作碰撞实体?

时间:2018-08-16 11:12:52

标签: panda3d

我是panda3d的新手,我目前正在从事一个小项目,该项目需要在自定义模型上进行碰撞检测。在panda3d手册和示例项目中,我只能找到有关如何附加panda3d预定义碰撞实体(例如CollisionSphere)的说明。但是我正在考虑的是如何使用加载的模型(例如egg文件)作为对象,是否有示例代码?

1 个答案:

答案 0 :(得分:0)

执行此操作的最佳方法是标记.egg模型,以使.egg加载程序自动生成“成”碰撞多边形。如果从Blender中导出模型,则可以通过在“逻辑”面板中添加一个名为“ Collide”的字符串Game属性并将其设置为Polyset keep descend来完成。否则,您可以在文本编辑器中编辑.egg文件,并在所需的<Collide> { Polyset keep descend }条目下添加标签<Group>。漫游Ralph示例程序正在使用此方法。

除了让.egg加载程序构造这些特殊的碰撞多边形外,您还可以告诉Panda3D将可见的几何体视为“陷入”碰撞几何体。这将比上述方法慢。您可以通过在相关模型上使用所需的“插入”碰撞遮罩调用setCollideMask(...)来启用此功能。

恐怕您不能将任意几何体用作“来自”实体。