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



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

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

与其让 .egg 加载器构建这些专门的碰撞多边形,您还可以告诉 Panda3D 将可见几何体视为"进入"碰撞几何体。 这将比上述方法慢。 您可以通过在相关模型上使用所需的"into"碰撞掩码调用setCollideMask(...)来启用此功能。

恐怕你不能使用任意几何体作为"来自"实体。

最新更新