912244589 发表于 2021-7-4 16:19:11

关于解决导弹敌我不分问题的设想

    战地2中无论敌我,飞行载具统一使用一个heatobject来实现导弹制导效果,即是导弹中的TTHeat对应飞机的heatobject,有TTHeat追踪属性的导弹会自动追着有heatobject的飞机。这样的问题会导致,如果在敌机前方有队友飞机,则导弹会自动飞向队友飞机,敌我不分。
    目前的想法是,创造一个新的制导方式TTHeat2和被制导目标heatobject2,使得敌机与队友飞机之间的heatobject不同,可以使我方导弹只会锁定敌机,从而达到敌我识别的目的。
    暂时遇到的困难是,对于创建的新的制导方式TTHeat2无效,导弹只会锁定原来的被制导目标heatobject,而不会锁定新的被制导目标heatobject2,目前我只在weapons/common/TargetObjects中创造一个新的被制导目标heatobject2,并在文档中与TTHeat2对应,并修改导弹的制度方式为TTHeat2,敌机热源修改为heatobject2。实际使用中发现敌人的飞机无法被锁定,且导弹还是会攻击队友,不知道是不是还欠缺什么东西没有修改,还请大佬们指正

Yulia 发表于 2021-7-4 21:58:22

我也想过,这个问题暂时无解

Guishenyefeng 发表于 2021-7-5 16:40:22

我倒想知道像战地4里的那种地对空、空对空导弹主动制导能否在战地2里实现,地对地、空对地导弹倒是可以实现主动制导

912244589 发表于 2021-7-10 00:23:38

我倒想知道像战地4里的那种地对空、空对空导弹主动制导能否在战地2里实现,地对地、空对地导弹倒是可以实现主动制导
这个简单,以f18导弹为例子,在f18文件里面,找到
rem ---BeginComp:MultiFireArmTargetComp ---
ObjectTemplate.createComponent MultiFireArmTargetComp
ObjectTemplate.target.maxDistance 375
ObjectTemplate.target.targetSystem TSHeatSeeking
ObjectTemplate.target.lockDelay 1
ObjectTemplate.target.lockAngle 15
rem ---EndComp ---
改成
rem ---BeginComp:LPTargetComp ---
ObjectTemplate.createComponent LPTargetComp
ObjectTemplate.target.maxDistance 9999
ObjectTemplate.target.setTargetAtMaxDistance 1
ObjectTemplate.target.targetSystem TSWireGuided
ObjectTemplate.target.targetObjectTemplate UniqueTarget
ObjectTemplate.target.disableFireWhenActiveMissile 1
ObjectTemplate.target.disableGuidanceOnReload 0
rem ---EndComp ---
再找到aim9m_sidewinder.tweak里面的:
ObjectTemplate.seek.targetType TTHeat
改成
ObjectTemplate.seek.targetType TTUnique
就OK了

912244589 发表于 2021-7-10 00:24:38

我也想过,这个问题暂时无解
感觉战地2中似乎不能创造新的制导方式与制导目标的样子,不知道怎么操作
页: [1]
查看完整版本: 关于解决导弹敌我不分问题的设想