如何在 ODE 中制作斜面?
我想知道如何使用 ODE 制作一个斜面,使块能够滑落。我不希望平面是无限的;理想情况下,我希望物体从它的边缘掉下来,所以我可能实际上需要一个大的扁平盒子。我知道如何制作盒子、球体、圆柱体等基本物体,但不确定如何将盒子锁定在半空中?或者最好使用位于地面上的大三棱柱形状?我正在使用 Panda3D 游戏引擎内置的 ODE 实现。
I am wondering how to make an inclined plane using ODE that a block will slide down. I don't want the plane to be infinite; ideally I want objects to fall off the edge of it so I probably actually need a large flat box. I know how to make basic objects like boxes, spheres, cylinders but am not sure how I can lock a box in place in mid-air? Or is it best to use a large triangular prism type shape which sits on the ground? I am using the ODE implementation built in to Panda3D game engine.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请查阅颂歌文档:
http://opende.sourceforge.net/ wiki/index.php/Manual_(Collision_Detection)#Plane_Class
飞机在颂歌中只能是“静态”的,因此您不需要锁定它。使用 (a,b,c) 参数指定的矢量对应于平面的法线。这将允许您指定方向。例如 (sqrt(2)/2,sqrt(2)/2,0) 将是相对于 Y 向上具有 45 度方向的平面。最后一个参数“d”指定平面的偏移。
至于 Panda3D,有一个用于创建平面类的包装器:
http://www.panda3d.org/manual/index.php/Collision_Detection_with_ODE
Vec4 参数应直接对应于 ODE 较低级别使用的 (a,b,c,d) 参数。
我希望这有帮助。
Please consult the ode documentation:
http://opende.sourceforge.net/wiki/index.php/Manual_(Collision_Detection)#Plane_Class
A plane can only be 'static' in ode so you don't need to lock it. The vector that you specify with the (a,b,c) parameters correspond to the normal of the plane. This would allow you to specify the orientation. For example (sqrt(2)/2,sqrt(2)/2,0) would be plane with a 45 degrees orientation in respect to having a Y up. The last param 'd' specifies the offset of the plane.
As for Panda3D, there is a wrapper for the plane class creation:
http://www.panda3d.org/manual/index.php/Collision_Detection_with_ODE
The Vec4 param should correspond directly to the (a,b,c,d) parameter used by the ODE lower level.
I hope this helps.