_usmc_v5吧 关注:850贴子:40,894

技术贴第一弹 ------ 为载具添加导弹系统 -----

只看楼主收藏回复

字太多了,可能有点小,双击放大了看






IP属地:山东1楼2011-08-29 20:55回复
    试试文字版的。。可能排版会变乱。。。。。。。。。。。。。。。。。。。。。。。。
    一个完整的导弹武器系统包括以下几个模块:
    1.武器HUD
    2.火控
    3.弹药设定
    4.寻的探测
    5.声音设定
    6.坐标设定
    下面,用J10的AA导弹模块举例说明(没加注释的语句原样写上去就行了):
    ObjectTemplate.create GenericFireArm AIR_J10_ArcherLauncher //首先,我们用create方法创建了一个导弹系统,该系统名叫AIR_J10_ArcherLauncher,下面开始创建改系统的各项构件。
    ObjectTemplate.createdInEditor 1 (这句不知道会不会影响游戏,还是加上好了)
    rem --- 武器HUD ---
    ObjectTemplate.createComponent WeaponHud //创建WeaponHud构件
    ObjectTemplate.weaponHud.weaponIcon Ingame\Weapons\Icons\Hud\bomb.tga //默认图标,这句到哪都这么写就行
    ObjectTemplate.weaponHud.selectIcon Ingame\Weapons\Icons\Hud\Selection\archer_missile.tga //切换到该武器时,右下角弹出的图标,这里当然是红箭导弹archer_missile
    ObjectTemplate.weaponHud.hudName "KILLMESSAGE_VEHICLE_j10" //打死对方时,左上角击杀提示显示的武器,这里当然显示的会是“J10”
    ObjectTemplate.weaponHud.guiIndex 44 //武器使用的HUD,这个44其实就是J10的驾驶HUD
    ObjectTemplate.weaponHud.hasFireRate 0
    ObjectTemplate.weaponHud.addShowOnCamMode 2 //这句的意思是,在第二外视角显示HUD(就是按一下C后的那个视角),如果是3的话,按两下C后的那个后追视视角也会显示驾驶HUD了
    ObjectTemplate.weaponHud.displaySelectOnActivation 1
    ObjectTemplate.weaponHud.firstLockSound HUD_Air_to_Air_Heatseeker_Track //锁定目标后,第一阶段会有滴...滴....滴....滴....声
    ObjectTemplate.weaponHud.secondLockSound HUD_Air_to_Air_Heatseeker_Lock //锁定目标后,第一阶段会有滴滴滴滴......声
    rem --- 火控 ---
    ObjectTemplate.createComponent MultiFireComp //创建火控系统
    ObjectTemplate.fire.roundsPerMinute 120 //射速,120发/分
    ObjectTemplate.fire.fireInput PIAltFire //发射该武器的按键,PIFire是左键,PIAltFire是右键
    ObjectTemplate.fire.addFireRate 0
    ObjectTemplate.fire.useDummyProjectiles 1 //值1,使用假弹,也就是我们肉眼能看到导弹的实体(实实在在是一个导弹模型在飞),机炮等武器一般就没这设置,因为
    战地2里其实是没有“弹头”这个东西的,枪炮武器所谓的“弹头”其实就是一个逻辑上的“点”罢了
    ObjectTemplate.fire.addBarrelName aa11_archerdummy //创建武器发射管,这是个很重要的东西,它的作用是定义武器的发射起点,上面我们用了DummyProjectiles,那么在游戏里,
    我们就可以在该发射管位置看到导弹模型,也就是我们看到的机翼下的那几个挂点上的导弹模型
    rem --- 弹药设定 ---
    ObjectTemplate.createComponent DefaultAmmoComp //创建弹药设定模块
    ObjectTemplate.ammo.nrOfMags 1 //弹匣数量
    


    IP属地:山东2楼2011-08-29 20:57
    回复
      2025-06-09 04:53:02
      广告
      ObjectTemplate.ammo.magSize 6 //弹药数
      ObjectTemplate.ammo.autoReload 1 //自动装弹
      ObjectTemplate.ammo.reloadWithoutPlayer 1 //无人自动装弹(也就是说,如果你打空导弹后下飞机,这时如果旁边有个补给箱神马的,飞机就会在无人状态下自动装满弹药并上膛)
      ObjectTemplate.createComponent SimpleDeviationComp
      ObjectTemplate.createComponent DefaultSoundComp
      ObjectTemplate.createComponent DefaultAnimationComp
      ObjectTemplate.createComponent DefaultZoomComp
      ObjectTemplate.zoom.addZoomFactor 0
      rem --- 寻的探测 ---
      ObjectTemplate.createComponent MultiFireArmTargetComp //创建寻的探测模块
      ObjectTemplate.target.maxDistance 375 //开始锁定的距离
      ObjectTemplate.target.targetSystem TSHeatSeeking //锁定的类型,寻热
      ObjectTemplate.target.lockDelay 1 //从发现目标到开始锁定的延时
      ObjectTemplate.target.lockAngle 15 //锁定范围:前方顶角15度的圆锥形区域
      ObjectTemplate.floaterMod 0
      ObjectTemplate.hasMobilePhysics 1
      ObjectTemplate.hasCollisionPhysics 1
      ObjectTemplate.physicsType Mesh
      ObjectTemplate.aiTemplate J10Archer //使用J10导弹的AI
      rem ---------------- 声音设定 ---------------------
      ObjectTemplate.addTemplate S_AIR_J10_ArcherLauncher_Fire1P //添加第一人称的发射声音(就是在座舱里听到的发射声,下面的不用多解释了吧)
      ObjectTemplate.addTemplate S_AIR_J10_ArcherLauncher_Fire1P_Outdoor
      ObjectTemplate.addTemplate S_AIR_J10_ArcherLauncher_Fire3P
      ObjectTemplate.addTemplate S_AIR_J10_ArcherLauncher_BoltClick
      ObjectTemplate.addTemplate S_AIR_J10_ArcherLauncher_TriggerClick
      ObjectTemplate.addTemplate S_AIR_J10_ArcherLauncher_SwitchFireRate
      ObjectTemplate.addTemplate S_AIR_J10_ArcherLauncher_Reload1P
      ObjectTemplate.addTemplate S_AIR_J10_ArcherLauncher_Reload3P
      ObjectTemplate.addTemplate S_AIR_J10_ArcherLauncher_Deploy1P
      ObjectTemplate.addTemplate S_AIR_J10_ArcherLauncher_Deploy3P
      ObjectTemplate.addTemplate S_AIR_J10_ArcherLauncher_Zoom
      rem ------- 坐标设定(也就是发射管位置,或者理解成导弹在飞机上的挂点位置) ---- //定义挂点的位置,就是机翼下4个导弹模型的位置,这里要说明的是,
      这种方法定义的武器模型是可以发射出去的,也就是我们切换到外视角,可以实实在在的看到
      这个导弹模型被发射飞出去,而不像眼镜蛇两边的TV弹,那个是只是摆设
      ObjectTemplate.setPosition -2.46494/-0.737286/-0.0489866
      ObjectTemplate.setRotation 0/-2.2/0
      ObjectTemplate.addTemplate aa11_archerdummy
      ObjectTemplate.setPosition 2.46494/-0.737286/-0.0489866
      ObjectTemplate.setRotation 0/-2.2/0
      ObjectTemplate.addTemplate aa11_archerdummy
      ObjectTemplate.setPosition -3.23427/-0.743393/-0.838657
      ObjectTemplate.setRotation 0/-2.2/0
      ObjectTemplate.addTemplate aa11_archerdummy
      ObjectTemplate.setPosition 3.23427/-0.743393/-0.838657
      


      IP属地:山东3楼2011-08-29 20:57
      回复
        ObjectTemplate.setRotation 0/-2.2/0
        rem -------------------------------------
        ObjectTemplate.projectileTemplate aa11_archer //发射出去的导弹种类,这里当然是红箭aa11_archer了
        ObjectTemplate.velocity 75 //起始速度,就是导弹发射瞬间相对于飞机的速度,当然,导弹会越飞
        越快,直到达到最高速度(这个是在导弹的参数里定义的,不在这里)
        ObjectTemplate.itemIndex 1 //武器的序号
        ObjectTemplate.activeSafe Sound S_AIR_J10_ArcherLauncher_Fire1P //定义第一人称的发射音,就是上面那个addTempale添加的东西,这里要注意,
        在上面用addTemple添加的东西,一定要在这里用activeSafe方法声明,比如下面那9个连续的activeSafe,哪怕
        你不实际的制定声音文件,这个activeSafe一定要有,当然,如果不需要声音的话,这个空声明其实是没必要的,
        比如,我们这里其实并没有指定Deploy1P的声音,那么我们就可以把上面那个
        ObjectTemplate.addTemplate S_AIR_J10_ArcherLauncher_Deploy1P
        和下面的
        ObjectTemplate.activeSafe Sound S_AIR_J10_ArcherLauncher_Deploy1P
        都删掉,也是完全没有问题的,注意是“两个都”删掉
        ObjectTemplate.soundFilename "objects/vehicles/land/aav_tunguska/sounds/mono/missile_fire.wav"
        ObjectTemplate.loopCount 0
        ObjectTemplate.is3dSound 0
        ObjectTemplate.stopType 1
        ObjectTemplate.volume 1
        ObjectTemplate.pitch 1
        ObjectTemplate.pan 0.5
        ObjectTemplate.reverbLevel 1
        ObjectTemplate.pitchEnvelope 0/1/0.9/1.1/1/1/0/0.97/1.03/
        ObjectTemplate.volumeEnvelope 0/1/0/1/1/1/0/0.9/1/
        ObjectTemplate.activeSafe Sound S_AIR_J10_ArcherLauncher_Fire3P
        ObjectTemplate.modifiedByUser ljo
        ObjectTemplate.soundFilename "objects/vehicles/land/aav_tunguska/sounds/mono/missile_fire.wav"
        ObjectTemplate.loopCount 0
        ObjectTemplate.is3dSound 1
        ObjectTemplate.stopType 1
        ObjectTemplate.volume 1
        ObjectTemplate.pitch 1
        ObjectTemplate.reverbLevel 1
        ObjectTemplate.pitchEnvelope 0/1/0.9/1.1/1/1/0/0.97/1.03/
        ObjectTemplate.volumeEnvelope 0/1/0/1/1/1/0/0.9/1/
        ObjectTemplate.minDistance 3
        ObjectTemplate.halfVolumeDistance 7
        ObjectTemplate.activeSafe Sound S_AIR_J10_ArcherLauncher_Fire1P_Outdoor
        ObjectTemplate.activeSafe Sound S_AIR_J10_ArcherLauncher_BoltClick
        ObjectTemplate.activeSafe Sound S_AIR_J10_ArcherLauncher_TriggerClick
        ObjectTemplate.activeSafe Sound S_AIR_J10_ArcherLauncher_SwitchFireRate
        ObjectTemplate.activeSafe Sound S_AIR_J10_ArcherLauncher_Reload1P
        ObjectTemplate.activeSafe Sound S_AIR_J10_ArcherLauncher_Reload3P
        ObjectTemplate.activeSafe Sound S_AIR_J10_ArcherLauncher_Deploy1P
        ObjectTemplate.activeSafe Sound S_AIR_J10_ArcherLauncher_Deploy3P
        ObjectTemplate.activeSafe Sound S_AIR_J10_ArcherLauncher_Zoom
        完成了上面一堆东西,我们就成功的创建了一个完整的导弹系统,下面我们要做最后一步,就是把这个导弹系统的控制权交给飞行员。在tweak文件上半部分,我们可以找到
        ObjectTemplate.addTemplate S_air_j10_Ambient
        ObjectTemplate.addTemplate S_air_j10_AmbientDamaged
        这两行下面加一句(其实这两行下面就是J10的零件组装模块)
        ObjectTemplate.addTemplate AIR_J10_ArcherLauncher //添加上面我们创建的那个导弹系统(这里名字当然是AIR_J10_ArcherLauncher)
        说完收工............................
        


        IP属地:山东4楼2011-08-29 20:57
        回复
          挽尊


          6楼2011-08-29 21:02
          回复
            二挽


            IP属地:北京7楼2011-08-29 21:03
            回复
              三挽 自己挽


              IP属地:山东8楼2011-08-29 21:05
              回复
                玩一局网战回来就第五了....


                10楼2011-08-29 21:19
                回复
                  2025-06-09 04:47:02
                  广告
                  本来想要第七来着...
                  V5吧好火了哦~


                  11楼2011-08-30 09:24
                  回复
                    看帖回帖好


                    12楼2012-02-13 09:12
                    回复
                      求教,怎么改标枪?


                      IP属地:广东13楼2012-10-02 23:49
                      回复
                        楼主 你能不能告诉我 这个东西放在哪里 具体一点


                        IP属地:北京15楼2015-08-08 20:04
                        收起回复
                          楼主你为何要伤害我们的眼睛
                          -----------------在一片荒芜人烟的小岛上,只有一个人,默默地生存着,那个人就是,经验


                          来自Android客户端16楼2015-08-22 15:53
                          回复

                            按照楼主的方法给歼十一加了个对地导弹就这样了,哪里出问题了?


                            17楼2017-04-03 15:54
                            回复
                              2025-06-09 04:41:02
                              广告
                              楼主,照你说的,我把直升机加挂4枚空空导弹,但是就是没有瞄准锁定系统


                              IP属地:河南来自手机贴吧18楼2017-12-04 09:33
                              回复