找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6660|回复: 6

【深入♂研究】TargetCoordOffset,受击位置坐标偏移(伤害集.....

[复制链接]
发表于 2022-1-26 01:03:28 | 显示全部楼层 |阅读模式
本帖最后由 loveyuanlu 于 2022-1-26 09:49 编辑

rulesmd.ini中只有苏盟尤三家的船厂里有这行代码
[NAYARD]
...
TargetCoordOffset=256,256,0
网上说是海军生产出来后的默认集结点,经测试与集结点无关,而是攻击到船厂上的伤害会转移到船厂坐标+该偏移量的坐标处(重定向)
如下图所示,TargetCoordOffset=1000,1000,0,所有鱼雷都射到了同一个位置,即【伤害集结点】,如果该坐标在船厂的动画范围外,则船坞不会受伤害。但可以用有范围溅射伤害的武器,强行攻击船厂周围的位置来造成伤害。

z值也可以用,如TargetCoordOffset=0,0,1000:

似乎只有建筑能用这个逻辑。
不过,很多直接作用于建筑本身的武器不会受其影响,如C4、工程师、心灵控制、鲍里斯的空袭、超时空军团兵的冻结、V3无畏这类导弹子机等等,但航母的那种子机不行。

奇怪的是,海蝎也不受影响,莫非是抛射体的因素?
[FlakTProj]
Image=120MM
Arcing=true
Inviso=no
AA=no
AG=yes
;AN=yes
Shadow=no
Inaccurate=yes        ; Bullets do not snap onto targets when "close enough".
FlakScatter=yes ; This weapon scatters its shots.
SubjectToCliffs=no
SubjectToElevation=yes
SubjectToWalls=yes
经测试,含有Inaccurate=yes的抛射体,虽然攻击落点位置发生了偏移,但伤害实打实地打出来,如下图,飞碟无伤害,磁电加了Inaccurate=yes后造成伤害(TargetCoordOffset=1500,1500,0)

另外,如果是TargetCoordOffset=0,0,1000这种只是加了高度的集结点,某些无以上代码的常规炮弹也能造成伤害,这和开火方位有关系,如下图,红色犀牛炮弹会偏移到头顶并无伤害,但蓝色犀牛会无视偏移造成伤害:
另外,鱼雷不会Z轴偏移,应该是因为抛射体中有Level=yes吧(删掉效果如下图,这抛物线真美:)

这里是我的研究过程b站视频

 楼主| 发表于 2022-1-26 09:47:42 | 显示全部楼层
淦,刚发现词典里已经收录了这个词条了,不过没有提到Inaccurate的效果
https://modenc.renegadeprojects.com/TargetCoordOffset

Flag:        TargetCoordOffset
File(s):        Rules(md).ini
Values:        three comma-separated signed integers
Applicable to:        BuildingTypes

Specifies the offset, in pixels, at which enemy fire is directed when this BuildingType is fired upon. Is specified in X,Y,Z format with 0,0,0 being the exact center of the structure.
回复

使用道具 举报

发表于 2022-1-26 10:45:54 | 显示全部楼层
来了,可以的
回复

使用道具 举报

发表于 2022-1-26 13:40:33 | 显示全部楼层
由于每个单位只占1格,包括建筑也是,所以建筑的实际0点在顶上那一格的中心,你在部署基地车的时候就可以看到。而建筑是向外扩展占据多个格子,准确的说是向下扩展,所以建筑有一个逻辑中心点,是在建筑的中心,比如2x2的建筑,就是在4个格子的交点处。
对建筑的判定均以这个逻辑中心点为准,所以才有这个TargetCoordOffset,顾名思义,被选取为目标时的坐标偏移,也就是逻辑中心的修正值。

而Inviso是没有一个抛射体飞过去的,是直接对目标点进行伤害,所以Inviso不需要考虑这个逻辑中心,仅播放弹头动画使用。

Inaccurate的作用比较啰嗦。

首先,抛射体的工作原理是这样,在抛射体生成的时候,会赋予一个向量,来让抛射体表现出“运动”,而ROT>1的抛射体,也就是导弹,会每帧刷新这个向量,来实现Homing,也就是跟踪效果,而ROT<=1,也就是Arcing类和直线导弹类,则是在初始化时确定好这个向量就不再强制变化,而Arcing的抛射体,则会每帧按照重力改变向量的Z方向,表现出抛物线的轨迹。

Inaccurate的作用来了,他会在ROT<1的时候,在初始化运动向量的时候,修改原本指向TargetCoord的向量,于是就会产生效果就是让Arcing飞到了TargetCoord的旁边。注意此时的弹头爆炸的位置是和抛射体的终点位置相同的。也就是如果炮弹没有落到建筑所占用的格子上时,则不会对建筑造成伤害。

而FlakScatter则和Inaccurate的作用不同,FlakScatter是作用在弹头的引爆位置上,当你两个标签混用时,就会发生一件奇妙的事情,就是炮弹的落点随机,爆炸的位置也随机。如果不幸弹头在建筑所占用的格子上炸了,则依旧会对建筑造成伤害,哪怕视觉上炮弹没有落到那个格子上。

回复

使用道具 举报

发表于 2022-1-26 23:27:57 | 显示全部楼层
挺好的,非常深♂入
回复

使用道具 举报

发表于 2022-1-27 10:57:16 | 显示全部楼层
能否用在ares自定义建筑上?
建筑面积中心为空的建筑有救啦
回复

使用道具 举报

发表于 2022-1-28 18:22:59 | 显示全部楼层
磁能:我改名了。
心控超时空核弹引发那类特殊弹头和武器是根本不管爆点直接作用在目标上的,自然不吃什么命中坐标。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|管理员邮箱|红警DIY论坛 |网站地图

GMT+8, 2026-8-31 15:28 , Processed in 0.051854 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表