红警2吧 关注:51,358贴子:591,236

修改时对无畏舰导弹的修正心得~~~~~~~~~

只看楼主收藏回复

无畏舰导弹的速度正常还好,一修改到高速,必定偏离目标,这个问题耗费了我一天半,到目前还没吃饭,总算是解决的差不多,发出来分享下


1楼2012-07-29 17:12回复

    导弹偏离轨道的原因在于:导弹在下落段因为我们修改数值加快之后,导致弹道修正系数来不及做出相应的调整,导弹就已经到达地点爆炸,说白了就是原版的导弹速度是18,下落时候的弹道修正系数正好对应使得导弹落到目标点,但是你换成25或者更高速度的数值时,导弹的弹体仅仅转向了原来的一半或者80%,导弹就落地爆炸了,好比你驾驶一个热气球从目标上空飞过往下扔一颗炸弹和你驾驶一架SU30以超音速模式投同样一颗炸弹,而二者的修正系数却都是热气球的修正系数,那么SU30扔的炸弹百分之百得扔飞。
    我们可以从几方面进行修改,先说最直观的
    Dmist Missile Control代码段里面的修正
    里面有一行代码是DMislTurnRate=0.08; 这个代表弹头修正角度的大小,0.08数值对应18的飞行速度就足够刚刚命中目标,但是更多的话显然这个数值就不够,我们可以把它加大,如果保证其他数值不变动,导弹我们修改速度成36的话,其修正值改成0.16就足够保证命中目标了
    接下来代码段里有一行是DMislAltitude=768; 这行代表导弹飞行到768高度进行水平飞行。刚刚说了,修正系数不足导致弹体转向不够,其中导弹飞行距离也是一个影响参数。把768换成1536,而修正系数保持在0.08,也能实现36速度下的导弹转向足够调整方向。

    除了这两个参数之外,我们还可以在外部修改,RA2中有两个参数命令是描述飞行器起飞和降落状态的。当然,有一个前提是飞行器可以起降,语句是Landable=yes。描述起降的是 PitchSpeed和PitchAngle,仰俯速度和仰俯角,前者是相对值,默认1.0;后者是实际值,默认是20(单位:度) Dmisl控制段和代码段没有加入这两条语句,不过不妨碍我们调用它们,如不修改弹头修正系数和飞行高度的前提下,速度值修改为36,将语句加入[DMISL]描述代码段中
    PitchSpeed=0.4 / 1.0
    PitchAngle=20(默认不添加的情况) / 5
    即表示导弹在起飞和降落时的速度是平时飞行的0.4倍,下落俯角为与地面法线夹角20度(RA2中全部飞机都是垂直起降,其PitchAngle值为0);注意PitchSpeed不要修正为0.5,它们和原数据不成线性关系。原因是导弹在此语句生效后是匀加速运动,无畏舰导弹抛投方式的加速度默认值是3。所以单纯的认为是线性关系会让导弹弹道失准。 如果上述值改为斜线后边的,即表示导弹下落角度为与地面法线夹角5度(与海平面夹角85度)。不过最后这一种在高速情况下很难模拟,最大的可能是导弹绕了一个大弧度却仍然擦出目标范围。游戏中的结果就是导弹高速情况下修正系数不够导致转向不够,直接飞出目标范围继续飞行。最后这个仰俯角多作为配合修正使用。 还有,这两条语句的优先级不高,不会覆盖DMislPitchFinal和DMislAcceleration语句。
    再说最后一个影响弹道较轻微的因素就是Projectile里面的invisiblehigh。这个抛投方式多数引用的武器是激光武器和电磁武器,speed多数是100,因此我们可以在这里,将Acceleration=0添加进去(默认3),只不过这么修改的缺点是其他实弹引用此类型的加速度同样会被取消,而且设定的速度值很大,而描述代码段[DMISL]中没有写入Accelerate=,需要自己添加,到达最大速度后其他不修改的轨迹将和其原轨迹一样。所以最初我从acceleration入手修正的办法被抛弃了。
    最后说点有意思的修正,我们不仅可以将原弹道模拟出来,还可以将导弹飞行方式自己做出修改,比如模拟出战斧巡航导弹的高升空降落天顶攻击轨迹,将水平飞行数值加大,仰俯角数值改成0-5;再比如模拟一下SS-N-25的掠海式飞行,将水平飞行数值减少,加大弹头修正值系数和降落数值以及俯角角度等。 需要注意的是导弹水平飞行数值有个下限,大概在300到350之间,导弹可能就要水平飞行失败而直线飞行直到飞出地图,还有修正值和俯角的数值关系要把握好,过大会出现导弹瞬间从水平飞行转向攻顶模式,图片转换生硬不自然。
    


    2楼2012-07-29 17:15
    回复
      高手啊,膜拜一下。顺便求修改教程


      3楼2012-07-31 22:32
      收起回复
        我造了一个像尤里改一样走的,背着AWPE的,可以炸建筑的,速度为10的美国大兵。(不是两栖,但是由于速度过猛,卡bug过河了)


        IP属地:广西4楼2012-08-04 17:01
        收起回复
          CMislAltitude=1536
          这个吗……
          我尝试一下加大高度系数试试吧。
          因为range加到了30多……会不会是打到自己的理由呢?


          IP属地:山东5楼2012-12-17 17:41
          收起回复
            我知道怎么回事了,改了一款雷鸣级深渊之心号的英雄单位,其中
            Spawns=CMISLX。。。
            忽然想起,雷鸣是Spawns=CMISL
            多了一个X……难怪……
            CMISLX的飞行没有定义。


            IP属地:山东6楼2012-12-18 00:08
            收起回复
              我私自给联军加了一个无畏导弹车(无畏战舰的陆地版本) V3扔了


              10楼2012-12-25 10:03
              收起回复
                膜拜下rule大神


                IP属地:贵州来自Android客户端11楼2012-12-25 11:48
                收起回复
                  过去半年了你还在不?问两个问题:抗基因突变咋弄的,有木有办法让重装大兵那样的导弹直线射出去?


                  来自手机贴吧12楼2013-06-22 22:03
                  收起回复
                    噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢噢


                    IP属地:新疆13楼2013-06-24 09:12
                    回复
                      此贴得加精啊


                      来自Android客户端14楼2013-06-24 22:23
                      回复
                        油井的ini


                        IP属地:广东来自Android客户端15楼2013-06-25 22:03
                        回复
                          在那里


                          IP属地:广东来自Android客户端16楼2013-06-25 22:03
                          回复