• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

kaikai向前走

转职任务完成。崭新fn诞生
  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

坦克物理模型(ode)

使用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

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

posted on 2006-08-16 22:49  kaikai  阅读(1705)  评论(5)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3