我要发帖 回复

中级会员

33

主题

643

积分

0

专家分

兴趣点(最多三项):

VegaPrime
Openscenegraph
军事仿真

私信
发表时间 : 2012-3-27 21:05:17 | 浏览 : 3276    评论 : 9
本帖最后由 99daodan 于 2012-3-27 09:39 PM 编辑

最近研究了RT的小东西,特来分享,提高论坛人气,也希望大家有啥研究成果分享一下。
废话少说,为了验证这个东西,先拜读了一篇名为“基于vr-forces弹药毁伤属性的建模过程”文章,里面写的比较详细了,我只是照猫画虎一下哈!
为了验证,我做了一个想定,仅一个M1A2和一个T80,M1A2原地不动,自由开火,T80横向运动到一个路径点去,设为“hold fire”,这样便于看M1A2打T80的效果。如图:

xd.JPG
然后运行发现基本上M1A2一开火,马上T80报销了。于是查找一下,M1A2在那开火的?
用实体编辑器打开default.sms,找到M1A2,可以发现,它用了120mm火炮的子系统作为发射用途。
0.JPG
ok,点击最右边那个按钮在opd编辑器中看看是怎么组织的:
2.JPG
发现调用了一个名为M1A2MainGun.hit的发射文件,打开一看:
是对该炮的打击概率描述,(以下我故意调小了):
(hit-probability-table
  (entity-range
     (entity-type  1 1 -1 -1 -1 -1 -1)
     (range-determinant
        (range-list
           (range 1000.000000
              (probability 0.090000)
           )
           (range 2000.000000
              (probability 0.18000)
           )
           (range 3000.000000
              (probability 0.075000)
           )
            (range 4000.000000
              (probability 0.070000)
           )
        )
     )
  )
)
关闭vrforces后台,再次启动想定,发现打中T80的概率确实小很多,大半天也不中,有意思哈!最好是打开Stealth或者vrvantage看三维更有意思!!
按照上面那篇提到的文章的说法,该120mm炮会调用一个弹药选择文件,那是谁呢,就是M1A2MainGun.asl!打开一看是:
(ammo-select-table
   (default ;; matches any ground vehicle
      (target-type 1 1 -1 -1 -1 -1 -1)
      (ammo
         (M830-HEAT-120mm ;; these names need to match resource names
            (munition-type  2 2 225 2 13 3 0)
            (warhead  0)
         )
         (M829A1-AP-120mm ;; these names need to match resource names
            (munition-type  2 2 225 2 13 2 0)
            (warhead  0)
         )
      )
   )
   (battle-tank ;; matches any tank
      (target-type 1 1 -1 1 -1 -1 -1)
      (ammo
         (M829A1-AP-120mm ;; these names need to match resource names
            (munition-type  2 2 225 2 13 2 0)
            (warhead  0)
         )
         (M830-HEAT-120mm ;; these names need to match resource names
            (munition-type  2 2 225 2 13 3 0)
            (warhead  0)
         )
      )
   )
)
可以看出,M1A2发射炮弹交互是用的七位码是2 2 225 2 13 3 0或2 2 225 2 13 2 0,这个在实体编辑器中是找不到的哦!不像导弹这样的实体。记住,这七位码很有用,这就决定了T80毁伤时对2 2 225 2 13 -1 -1这类型的弹药毁伤调用不同的毁伤文件。(别告诉我不知道-1是通配符
好了,看看T80的毁伤是如何组织的了,同样,用实体编辑器打开T80,看到右边的毁伤设置没有?它用的是heavy Armor——重型装甲也!
1.JPG
同样点击编辑这个毁伤系统按钮,就会打开opd,乖乖,发现一堆毁伤入口,那个是M1A2发射的炮弹对俺的毁伤啊?这时上面头提到的M1A2发射炮弹交互用的七位码就排上用场啦!你看看下图应该明白了吧,不同交互对应不同的毁伤文件,产生不同的毁伤效果呢!
3.JPG
好了,找到这个名为heavy-armor-vs-explosive-round.dmg的文件,原来你决定了M1A2的120mm火炮对T80的毁伤啊!打开一看,和文章里面说的别无二样。好长,我就不贴出来了,大家自己对着文章研究吧,记住那个毁伤公式哦!
好了,基本上这个过程是分析清楚了,大家再稍微研究一下炮弹交互发射的vrlink程序就会自己打炮啦,(恩,有些不文明)。
就此结束。晚安!
4.JPG

最近VR访客查看更多↓

kdzheng 评论于2012-3-28 00:45:31
不错,顶一个
superdemo 评论于2012-3-28 12:42:36
很不错, 也弄个来试试看
catiglu 评论于2012-4-10 21:12:31
值得学习
david_m 评论于2012-4-12 09:06:51
写得不错。赞一下
勤省,笃学,自强
晨雨初听 评论于2012-4-16 19:48:53
不错,来学习下
99daodan 评论于2012-4-23 10:01:28
有更好思路的请大侠补充。对了,有没有大侠能加点分呗!!
致远 评论于2012-5-6 23:28:09
很不错在!顶一下
imob 评论于2012-9-21 10:20:56
兄弟研究得很透彻,赞一个!
afeuwill 评论于2012-11-22 19:13:47
好强悍,支持!

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2021-1-28 12:32 PM

返回顶部