现在的位置: 首页 > 综合 > 正文

坦克物理模型(ode)

2011年05月22日 ⁄ 综合 ⁄ 共 542字 ⁄ 字号 评论关闭
使用ode来模拟坦克的运动,坦克不像普通四轮车(可以用hing2来实现车轮),为了表现出履带在地面接触处提供动力,选用contact motion,原用来实现传送带效果。

方法:坦克连同履带在一起一个body,坦克机体使用box geom,2个履带用2个box geom代替。
2条履带的动力通过计算得到转速(表面线速度),并把坦克的向前方向矢量保存。
碰撞检测到履带接触地面时,设置dContactMotion1为履带转动速度,ContactSlip设置在1e-5,使得履带在地面上不易打滑。soft_cfm设为0(地面很硬,无弹性),fDir1设为坦克前向矢量方向。摩擦系数需要大一些。
履带转速需要根据当前接触地面的速度动态调整,防止太大的速度差使得坦克翘起。
实际运行在爬坡和转向时感觉还不错,不过偶尔有地表微小的起伏对履带 box 有阻挡现象。可以考虑在坦克前后再加上倾斜的box模拟履带前后的角度。

这里还有一个坦克物理模型。和我的原理不同,它用ray来检测履带是否接触地表,并通过直接施加力在坦克的左右侧来驱动坦克。效果也很不错。
http://www.mindcontrol.org/~hplus/carworld.html

不过毕竟只是游戏中才有机会操控坦克...究竟模拟得像不像就不知道了。

抱歉!评论已关闭.