zoukankan      html  css  js  c++  java
  • 坦克物理模型(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

    不过毕竟只是游戏中才有机会操控坦克...究竟模拟得像不像就不知道了。
  • 相关阅读:
    团队冲刺2---个人工作总结一(5.25)
    第十二周学习进度
    课堂作业——找水王
    个人冲刺07
    第十五周学习进度情况
    构建之法阅读笔记06
    构建之法阅读笔记05
    第十四周学习进度情况
    个人冲刺06
    个人冲刺05
  • 原文地址:https://www.cnblogs.com/kaikai/p/478825.html
Copyright © 2011-2022 走看看