技术使用手册 · 当前项目实现

四算法自瞄
详细调节与优化报告

自研算法 · 丝滑平移 · 三次贝塞尔 · 卡尔曼
逐区域、逐按键、逐滑块说明与优化总结

四份独立配置参数作用调节顺序优化结论
新版

四套算法配置已经完全分离。开关、速度、预测、压枪、范围距离、姿态修正、目标判断和快捷控件均按算法独立保存,切换和重启不会串值。

项目内容
报告依据当前工作区代码与运行调用链静态核对
适用版本Audi Kernel / Cloud v1.5 当前项目实现
报告日期2026 年 8 月 9 日
报告原则按当前真实调用链说明作用,同时明确四款算法的缺点与优化方向

#1. 报告范围与快速总览

这份报告覆盖自瞄页面中四个算法选项及全部调节区域。每一个控件都按“它是什么、拉高发生什么、拉低发生什么、在哪个输入模式生效”解释,并在每一款算法末尾列出当前实现的缺点和建议优化点。

#1.1 四款算法的核心区别

算法核心路径主要特点首要调节旋钮
自研算法屏幕误差 → 游戏灵敏度补偿 → 动态卡尔曼 → 输出内核与无模块各有独立旧链路;自动读取游戏内倍镜灵敏度;动态死区和阻尼水平拉枪、垂直拉枪;内核再调输出灵敏度
丝滑平移屏幕误差 → 线性轴向增益 → EMA 平滑 → 输出轨迹为直线;控制关系最直接;直线参数独立保存陀螺仪倍数;内核再调拉枪参数与水平/垂直速度
贝塞尔算法屏幕误差 → 控制点 → 三次曲线分段 → 可选 EMA → 输出沿弯曲轨迹逐段移动;曲线有跨帧进度;贝塞尔参数独立保存陀螺仪倍数、曲线步进、贝塞尔平滑
卡尔曼算法原始骨点 → 速度/加速度估计 → 弹道提前量 → 分档速度 → 双轴压枪 → 输出普通/自适应两种预测;独立速度和压枪;远距高度保护;内核/无模块共用同一预测核心预测模式、预测强度、分档速度、循环频率、卡尔曼压枪

#1.2 输入模式为什么会影响控件

控件 / 项目说明
内核模式丝滑平移和贝塞尔都会调用水平速度、垂直速度、陀螺仪倍数;丝滑平移调用拉枪参数,贝塞尔调用曲线步进。贝塞尔平滑还会执行一次 EMA。卡尔曼使用自己的统一预测核心,再映射到内核轴。
无模块模式水平速度、垂直速度不进入第二、第三算法,所以界面隐藏。丝滑平移的拉枪参数也不进入无模块计算;贝塞尔曲线步进仍然参与。卡尔曼会对目标步进和压枪步进分别做无模块链路补偿。
选择位置输入模式由启动 APP 选择;自瞄页面只显示当前输入链实际能使用的调节项。

#1.3 优化决策总览

算法明确保留、不需要优化需要优化最终判断
自研算法速度正向关系、游戏灵敏度反向补偿、移动目标动态死区、目标切换重置。统一内核/无模块计算核心;姿态容差;高倍镜压枪按 FOV 归一化。不重写算法,只做结构统一和边界修复。
丝滑平移直线误差路径、算法独立参数、EMA 可关闭、两种输入模式方向映射。目标切换清空 EMA;软限速和死区;反比滑块改为正向语义;距离压枪连续化。核心公式保留,外围控制必须优化。
贝塞尔算法三次贝塞尔公式、独立参数组、FOV/10 倍灵敏度补偿、方向断言。稳定曲线段状态;取消周期性重启;重映射步进;避免双重平滑;目标切换清空 EMA。四款中最需要优化轨迹状态的一款。
卡尔曼算法原始骨点输入、去除双重预判、远距高度锁定、双轴压枪、独立参数和两种预测模式。速度正向语义;减弱远距自动降速;按新观测更新时间;完整状态模型;武器 ID 标定。保护逻辑不动,响应和预测模型重点优化。

#2. 四款算法均具备的独立调节区域

以下开关、范围、距离、姿态和目标判断在四款算法页面中都存在,但现在分别写入四份独立配置档。切换算法时先保存当前档,再加载目标档;在任意一款算法中修改这些项目,都不会覆盖另外三款。

#2.1 自瞄开关

控件 / 项目说明
开启自瞄总开关。关闭后不论选择哪一种算法,都不会发送自瞄陀螺仪移动。
喷子自瞄只针对霰弹枪。开启后,在喷子范围和喷子距离内持续允许锁定,不再只依赖按下开火;关闭后主要由按下开火触发。
断点无后直接把当前武器的垂直、水平后座相关参数写为零;关闭或切枪时尝试恢复原值。它不是“压枪强度”的替代滑块。
烟雾漏打名字容易误解,实际是烟雾过滤。开启后,烟雾位于自己与目标之间、目标在烟内或自己离烟太近时会拒绝该目标。
持续锁定选中目标后优先保持同一名目标,减少在多个目标之间跳转。
忽略人机开启后过滤机器人目标。
忽略载具开启后过滤载具内目标。
忽略倒地开启后过滤倒地目标。
框内自瞄只有准心进入人物动态方框时才允许自瞄。它改变触发条件,不改变移动速度。
掉血自瞄自己正在开火并检测到目标血量下降超过约 0.25 后触发,触发状态保持约 1.2 秒。
隐藏射线只隐藏屏幕中心到锁定点的显示射线,不改变算法输出。
快捷控件显示独立的自瞄快捷悬浮按钮,用来快速开关自瞄。

#2.2 预设控件与快捷控件

控件实际作用数值拉高 / 开启数值拉低 / 关闭
洗头配置套用一组固定预设,并保存开启前的基础参数以便关闭时恢复。腰射/开镜范围设为 80,压枪 1.4,腰射距离 100m,开镜距离 200m;姿态约 0.5/0.5/0.2,并同步部分追踪参数。关闭时恢复开启前保存的基础参数。
显示预设控件显示可快速切换洗头配置的独立悬浮按钮。出现预设快捷按钮。隐藏该按钮,不改变当前预设是否启用。
预设大小调整预设快捷按钮的可视尺寸与触控尺寸。按钮更大、更容易点击,也更遮挡画面。按钮更小、遮挡少,但更难点击。
预设位置 X设置预设快捷按钮的横向位置。向屏幕右侧移动。向屏幕左侧移动。
预设位置 Y设置预设快捷按钮的纵向位置。向屏幕下方移动。向屏幕上方移动。
自瞄控件大小调整自瞄快捷按钮尺寸。按钮更大。按钮更小。
自瞄控件位置 X设置自瞄快捷按钮横向位置。向右移动。向左移动。
自瞄控件位置 Y设置自瞄快捷按钮纵向位置。向下移动。向上移动。

#2.3 范围与距离

控件实际作用数值拉高 / 开启数值拉低 / 关闭
腰射范围腰射时准心允许选择目标的屏幕半径,单位接近屏幕像素。更容易吸到离准心较远的人,也更容易选错目标。需要更靠近准心才进入候选。
腰射距离腰射时允许锁定的最远三维距离,单位米。可锁更远,只改变资格,不增加速度。只锁近距离目标。
开镜范围开镜时的屏幕候选半径。开镜后更容易捕获偏离准心的目标。选择更精准、更克制。
开镜距离开镜时允许锁定的最远距离。允许远距离锁定。限制在更近距离。
喷子范围霰弹枪使用的屏幕候选半径。近战更容易快速吸到目标。需要准心更接近目标。
喷子距离霰弹枪允许锁定的最远距离。可在更远距离启用喷子自瞄。只在更近距离生效。

#2.4 姿态修正

控件实际作用数值拉高 / 开启数值拉低 / 关闭
站立修正站立时乘到压枪计算中的姿态系数,并按当前武器类型保存。站立压枪更强。站立压枪更弱;0 接近关闭该姿态的这部分补偿。
蹲下修正蹲下时使用的压枪姿态系数。蹲下压枪更强。蹲下压枪更弱。
趴下修正趴下时使用的压枪姿态系数。趴下压枪更强。趴下压枪更弱。

姿态修正不是目标位置修正,也不会改变准心选择哪个骨点;它只影响当前姿态下的压枪比例。

#2.5 目标判断与目标修正

控件 / 项目说明
优先部位:头部先尝试头部骨点;头部不可见时继续尝试其他可见骨点,并非绝对只打头。
优先部位:脖子把脖子放到骨点尝试顺序前面。
优先部位:躯干把躯干放到骨点尝试顺序前面,通常比头部更稳定。
部位选择:准心优先该行名称沿用当前界面,但实际是目标策略。多个目标合格时,优先选择屏幕上最接近准心的目标。
部位选择:距离优先多个目标合格时,优先选择三维距离最近的目标。

#3. 第一款:自研算法详细报告

自研算法保留项目原有的两条实现:无模块注入链与内核链。两条链都以目标屏幕误差为输入,读取游戏内当前倍镜灵敏度,使用动态卡尔曼滤波;内核链额外加入距离阻尼、动态死区、移动目标响应和用户可调的内核输出灵敏度。

#3.1 自研速度区域

控件实际作用数值拉高 / 开启数值拉低 / 关闭
水平拉枪控制目标屏幕水平误差进入自研控制量的比例。左右吸附更快、更强;过高时可能冲过目标或左右摆动。左右移动更慢;过低时跟不上横向目标。
垂直拉枪控制垂直误差和压枪偏移进入控制量的比例。上下追踪更快、压枪表现更强;过高可能上下抖。上下移动更慢,可能跟不上高低差或显得压枪不足。
内核输出灵敏度仅内核模式显示,直接乘到最终 pitch/yaw 输出,范围 0.001~0.050。整体内核输出放大;变化非常直接,过高容易跳动。整体输出减小;过低会感觉拉不动。

#3.2 内核与无模块的实际差异

项目无模块自研链内核自研链
最终输出倍率固定乘 0.004,不显示内核输出灵敏度。乘用户设置的内核输出灵敏度。
靠近目标的处理3 像素内停止;使用动态卡尔曼参数。按倍镜使用动态死区:约 3/6/12/16/25 像素;移动目标时缩小到约 1 像素。
距离阻尼主要依靠最大步长与卡尔曼。腰射远距离先减速;目标越近还会做非线性减速和高倍镜刹车。
游戏灵敏度读取当前第三人称、红点或倍率灵敏度,按 60÷游戏灵敏度补偿并限制在 0.2~2.0。使用同样的灵敏度补偿,并叠加距离阻尼。
反向适配按注入链轴布局适配。按内核轴布局交换并反转;反向陀螺仪只处理对应俯仰轴。

#3.3 自研压枪与预判

控件实际作用数值拉高 / 开启数值拉低 / 关闭
压枪强度控制自研算法开镜压枪的总幅度;该数值保存在自研配置档中,不会覆盖丝滑、贝塞尔或卡尔曼。向下补偿更强;过高会拖到目标下方。补偿更弱;0 关闭这部分软件压枪。
打击预测目标移动预测的飞行时间倍数:目标速度 × 子弹飞行时间 × 该数值。瞄得更靠前;2.0 约为原预测两倍。预判更保守;1.0 为原始飞行时间。

#3.4 自研算法中的范围、姿态与目标判断

控件 / 项目说明
范围与距离直接使用第 2.3 节的腰射、开镜、喷子范围与距离;只控制目标是否进入候选。
姿态修正站立、蹲下、趴下数值乘到自研压枪里;数值越高,该姿态压枪越强。
优先部位改变头部、脖子、躯干的骨点尝试顺序;不可见时继续尝试其他骨点。
目标策略准心优先按屏幕中心距离选人;距离优先按三维距离选人。
目标切换目标地址变化时重置俯仰和偏航卡尔曼状态,避免继承上一目标的滤波输出。

#3.5 自研算法推荐调节顺序

  1. 恢复基础:水平拉枪 3.0、垂直拉枪 3.0;内核输出灵敏度先用 0.010。
  2. 关闭变量:先保持压枪强度不变,选静止目标,确认水平和垂直方向正确。
  3. 调水平:左右跟不上就小幅提高水平拉枪;越过目标或摆动就降低。
  4. 调垂直:上下跟不上或压枪响应弱时提高垂直拉枪;上下抖动时降低。
  5. 调内核总量:内核模式整体过强先降低输出灵敏度,整体过弱再提高;每次变化建议不超过 0.002~0.003。
  6. 最后调压枪:开镜开火测试,准心向上漂就提高压枪,向下拖就降低,再按站/蹲/趴分别修正。

#3.6 当前缺点与建议优化

当前缺点可能表现建议优化
内核与无模块维护两套独立实现相同的水平/垂直数值在两种输入模式下手感并不完全一致;修复容易只覆盖其中一条链。保留两种输出适配器,但统一目标误差、灵敏度、滤波、死区和压枪计算核心。
大量阈值为固定经验值不同分辨率、FOV、游戏灵敏度下,3/6/12/16/25 像素死区和距离阻尼的实际体感差异很大。把像素阈值换算成视角角度或按屏幕短边归一化,并建立不同倍率的统一响应曲线。
高倍镜压枪直接按整数倍率放大倍率越高越容易过压;极端情况下会向人物下方拖动。改为按相机 FOV 和真实后坐力角度换算,取消简单的 zoomLevel 线性放大。
姿态识别依赖 1.0/0.8/0.6 精确相等游戏内返回 0.799 或其他中间值时可能落回 1.0,导致姿态滑块像不生效。使用容差区间或把姿态枚举直接映射到站/蹲/趴配置。
移动预判只使用线性速度急停、变向、跳跃时可能短暂超前或滞后;垂直速度也可能把目标点带高。加入变向置信度和加速度限制;垂直方向单独限幅,不把骨骼动画当成真实飞行轨迹。

#4. 第二款:丝滑平移详细报告

丝滑平移对应直线平滑算法。它不生成弯曲控制点,而是把准心到目标的屏幕误差按轴向增益直接换算,然后用 EMA 平滑输出。切换到该算法时使用独立的直线参数,不会覆盖贝塞尔参数。

#4.1 轨迹模式

控件实际作用数值拉高 / 开启数值拉低 / 关闭
拉枪力度 / 速度内核直线链的反比参数,实际比例为 2÷数值。实际输出变小,拉枪更慢、更柔;不是数值越高越快。实际输出变大,靠近目标更快,也更容易冲过头。
轨迹平滑对直线输出做 EMA;平滑权重约为 1÷(数值+1)。记忆更强、更稳,但延迟更明显;20 会非常迟缓。响应更直接;0 表示关闭 EMA。
轨迹预览只显示示意线,不是可调参数。不适用。不适用。

#4.2 速度与倍数

控件实际作用数值拉高 / 开启数值拉低 / 关闭
水平速度仅内核模式参与,缩放水平方向误差。左右跟随更快,过高会横向摆动或越过目标。左右更慢,可能跟不上横移目标。
垂直速度仅内核模式参与,缩放垂直方向误差与压枪后的 Y 误差。上下响应和压枪输出更强,过高会上下抖。上下更慢,压枪表现减弱。
陀螺仪倍数直线算法的总输出增益,内核和无模块都参与。整体吸附更强、更快。整体更柔、更慢。

#4.3 压枪与距离

控件实际作用数值拉高 / 开启数值拉低 / 关闭
压枪强度丝滑平移当前配置档的总压枪强度;当前只在开镜时收到后坐力值。向下补偿更强。向下补偿更弱;0 为关闭。
打击预测丝滑平移当前配置档的目标移动预判倍数;不会改变自研、贝塞尔或卡尔曼。提前量更大。提前量更小;1.0 为原始飞行时间。
趴伏额外丝滑平移独立保存的趴下额外压枪乘数。趴下时额外压枪增强;1.3 约增加 30%。趴下额外补偿减少;1.0 不增不减。
50 米外50~99 米目标使用的压枪倍率。该距离段压枪增强。该距离段压枪减弱。
100 米外100~199 米目标使用的压枪倍率。该距离段压枪增强。该距离段压枪减弱。
200 米外200 米及以上目标使用的压枪倍率。远距离压枪增强。远距离压枪减弱。

三个距离倍率按距离区间单选,不累乘。例如 220 米只使用“200 米外”,不会再乘 50 米与 100 米倍率。

#4.4 倍镜灵敏度

控件实际作用数值拉高 / 开启数值拉低 / 关闭
第一人称未开镜且当前为第一人称时的直线基础灵敏度。第一人称腰射更强。第一人称腰射更柔。
第三人称未开镜且当前为第三人称时的基础灵敏度。第三人称腰射更强。第三人称腰射更柔。
红点 / 全息开镜后 zoom≤1 时使用。红点等 1 倍镜输出更强。1 倍镜输出更弱。
2/3/4/6/8 倍镜根据当前相机 FOV 自动选择对应档位,每一档独立保存。仅该倍率更强。仅该倍率更柔。

#4.5 范围、姿态与目标判断

控件 / 项目说明
范围与距离从丝滑平移配置档读取腰射/开镜/喷子范围与距离,只决定当前算法的候选资格。
姿态修正站/蹲/趴系数继续乘到压枪里,并只保存在丝滑平移当前配置档。
优先部位先尝试所选部位,不可见时继续尝试其他可见骨点。
目标策略准心优先选择屏幕中心最近;距离优先选择三维最近。
自瞄控件大小与位置 X/Y只改变快捷按钮,不改变算法。

#4.6 丝滑平移推荐调节顺序

  1. 使用默认起点:拉枪参数 2.0、平滑 0、水平 2.6、垂直 2.3、陀螺仪倍数 2.0。
  2. 先调总强度:冲过人物先降低陀螺仪倍数;完全跟不上先提高陀螺仪倍数。
  3. 再调轴向:只有左右不对时改水平速度,只有上下不对时改垂直速度。
  4. 内核调柔和度:过快可提高拉枪参数,过慢可降低拉枪参数。记住这是反比。
  5. 最后加平滑:速度合适但有抖动时,从 0.5 开始逐步增加,不要一开始拉满。

#4.7 当前缺点与建议优化

当前缺点可能表现建议优化
没有独立的最大步长和目标死区高倍数、低拉枪参数或目标离准心很远时,单帧输出可能过强;靠近目标后仍可能来回修正。增加按输入模式标定的最大步长、近目标死区和软刹车。
目标切换时只重置贝塞尔进度,未专门清空直线 EMA持续锁定切到另一名敌人时,上一目标的平滑方向可能残留一帧。目标序号变化时同时清空 smoothedOutput。
拉枪参数采用反比关系且范围很宽用户容易误以为数值越大越快;0.1 与 20.0 的输出跨度过大,细调集中在很小区间。界面改为正向“响应速度”,内部映射到合理曲线;默认只开放常用区间。
无模块模式无法独立调水平/垂直设备横纵灵敏度不一致时,只能用总倍数折中。为无模块链增加轴向校准,或明确显示为只读的设备标定值。
50/100/200 米压枪采用台阶切换目标跨过分界距离时压枪量会突然变化。在相邻距离档之间做线性插值或使用连续距离曲线。

#5. 第三款:三次贝塞尔详细报告

贝塞尔算法先生成两个控制点,再用三次贝塞尔公式计算当前进度与下一进度的曲线点,只输出两个曲线点之间的差值。进度走到 1 后回到 0;目标变化或算法/输入模式切换时重置运行状态。

#5.1 轨迹模式

控件实际作用数值拉高 / 开启数值拉低 / 关闭
曲线步进控制跨帧曲线进度的反比参数。实际步进变小,曲线更慢、更细;约 4.4 以上接近最小步进 0.10。实际步进变大,靠近目标更快;约 0.8 附近接近最大步进 0.55。
贝塞尔平滑先减小曲线步进;内核模式还会对最终输出再做 EMA。内核出现双重柔化,轨迹更稳但明显更慢;超过约 2 很容易显得无力。响应更直接;0 表示不加额外平滑。
轨迹预览只展示曲线形态,不参与算法。不适用。不适用。

#5.2 速度与倍数

控件实际作用数值拉高 / 开启数值拉低 / 关闭
水平速度仅内核模式参与,先缩放贝塞尔终点的水平误差。曲线横向输出更强。曲线横向输出更弱。
垂直速度仅内核模式参与,缩放贝塞尔终点的垂直误差。曲线上下输出与压枪表现更强。上下输出更弱。
陀螺仪倍数贝塞尔整条曲线的总强度,内核与无模块均参与。曲线整体更强、更快。曲线整体更柔、更慢。

无模块贝塞尔仍然显示曲线步进,因为曲线时间推进必须使用它;水平速度和垂直速度仍然隐藏。

#5.3 压枪与距离

控件实际作用数值拉高 / 开启数值拉低 / 关闭
压枪强度贝塞尔当前配置档的总压枪强度;当前只在开镜链路传入后坐力值。向下补偿更强。向下补偿更弱。
打击预测贝塞尔当前配置档的目标移动预判倍数,不会覆盖另外三款算法。目标提前量更大。目标提前量更小。
趴伏额外贝塞尔独立保存的趴下额外压枪乘数。趴下额外压枪增强。趴下额外压枪减弱;1.0 不增不减。
50 米外贝塞尔 50~99 米压枪倍率。该区间压枪增强。该区间压枪减弱。
100 米外贝塞尔 100~199 米压枪倍率。该区间压枪增强。该区间压枪减弱。
200 米外贝塞尔 200 米以上压枪倍率。远距离压枪增强。远距离压枪减弱。

#5.4 倍镜灵敏度

控件实际作用数值拉高 / 开启数值拉低 / 关闭
第一/第三人称未开镜时按当前视角选择;贝塞尔内部自动执行 10×该值。该视角贝塞尔输出增强。该视角输出减弱。
红点 / 全息1 倍开镜档;界面仍按 1.0 左右调,不需要手工填 10。红点曲线输出增强。红点曲线输出减弱。
2/3/4/6/8 倍镜按 FOV 自动选档,每档独立保存,并叠加恢复的 FOV 修正。只提高当前倍率输出。只降低当前倍率输出。

#5.5 范围、姿态与目标判断

控件 / 项目说明
范围与距离从贝塞尔配置档独立读取,只控制当前算法的候选目标资格。
姿态修正站立/蹲下/趴下系数乘到压枪,不改变贝塞尔曲线形状。
优先部位改变骨点尝试顺序,不是绝对只锁所选部位。
目标策略准心优先按屏幕位置选人;距离优先按三维距离选人。
方向适配当前项目保留内核与无模块各自的轴映射,并有编译期方向断言,避免目标在右侧或下方时向外推。

#5.6 贝塞尔推荐调节顺序

  1. 恢复默认起点:曲线步进 2.0、贝塞尔平滑 0、水平 2.6、垂直 2.3、陀螺仪倍数 2.0;第一/第三人称 0.5,倍镜先 1.0。
  2. 先确认有输出:保持平滑 0,观察是否持续向目标聚集。不要在第一步把平滑拉高。
  3. 调总强度:冲过人物先降低陀螺仪倍数;完全跟不上再提高。
  4. 调曲线时间:轨迹太快就提高曲线步进参数,太慢就降低;记住它是反比。
  5. 最后加平滑:从 0.5 开始;内核不建议一开始超过 2,因为步进与 EMA 会一起削弱输出。
  6. 单独修倍率:只有某一个倍镜过强或过弱时,修改对应倍镜灵敏度,不要先改所有档位。

#5.7 当前缺点与建议优化

当前缺点可能表现建议优化
每帧按新误差重建控制点,但沿用旧进度 t目标移动或准心快速变化时,实际走的不是一条固定曲线,可能出现摆动或弯折。开始一段曲线时保存起点、终点和控制点;目标变化超过阈值时再平滑重建。
进度到 1 后直接回到 0持续目标上可能产生周期性的快慢变化,表现为一吸一松。到达终点后进入近目标跟随状态,不要无条件重新跑完整曲线。
弯曲方向固定在同一侧所有目标都带同方向侧弯,近距离或快速换向时可能显得像绕目标。根据目标横向速度、上一次输出方向或最短角度选择弯曲侧。
曲线步进实际被限制在 0.10~0.55平滑为 0 时,参数约高于 4.4 后几乎没有继续变化;低于约 0.8 也接近上限,界面大量区间属于低敏感区。直接让界面调实际步进 0.10~0.55,或用非线性映射让全滑轨都有可感知变化。
内核模式同时减小步进并执行 EMA平滑稍高就出现双重延迟,容易被误认为算法没有效果。只保留一种主要平滑,或让 EMA 强度随步进自动补偿。
目标切换未专门清空 EMA 输出新目标可能继承上一目标的一帧方向。目标变化时同时重置曲线进度和 smoothedOutput。

#6. 第四款:卡尔曼算法详细报告

第四款算法从原始骨点开始工作,读取目标速度、自身速度、子弹速度、距离、开镜/开火状态和双轴后坐力。普通预测直接根据相对速度计算提前量;自适应预测还会跨帧估计速度、加速度和变向可信度。预测完成后再换算成屏幕步进,并单独叠加水平与垂直压枪。

#6.1 卡尔曼处理路径

控件 / 项目说明
输入数据原始目标骨点、目标速度、自身速度、子弹速度、目标距离、目标地址、开镜/喷子/开火状态、当前及水平/垂直后坐力。
防止双重预判公共目标选择器原本已经加入线性提前量;进入第四算法前会减去该公共偏移,再由卡尔曼自己的预测强度重新计算。
水平提前量预测只保留世界坐标 X/Y 平面的移动提前量,并限制最大速度、加速度、飞行时间和提前距离。
高度保护预测后的 Z 保持所选骨点高度;投影到屏幕后还限制预测点不能高于原始骨点,避免远距离准心跑到人物头顶。
目标步进把预测点到屏幕中心的误差除以当前分档速度和距离增益;数值再根据内核或无模块轴布局输出。
压枪步进目标移动与压枪分开计算。垂直后坐力统一转换成向下补偿;水平后坐力按相反方向抵消。

#6.2 卡尔曼预测区域

控件实际作用数值拉高 / 开启数值拉低 / 关闭
预测模式:普通预测每帧直接使用目标速度、自身速度、距离和子弹速度计算线性提前量,不依赖上一帧状态。选择后响应直接,适合数据稳定、目标匀速的场景。不是数值滑块。切换到自适应后启用跨帧估计。
预测模式:自适应预测位置速度与游戏复制速度按约 35%/65%混合,再估计加速度和变向置信度。选择后对持续移动和加减速目标更有适应性,但需要至少两次新观测。不是数值滑块。第一帧只返回原始骨点。
循环频率只控制第四算法工作线程的休眠间隔,范围 50~500 Hz。刷新更密、指令间隔更短,但 CPU 占用和发热更高;超过数据生产频率后收益很小。刷新更省资源,但输入延迟增加;过低会出现跟随不连续。

#6.3 分档速度

控件实际作用数值拉高 / 开启数值拉低 / 关闭
腰射速度未开镜、非喷子时作为屏幕步进除数。数值更大,腰射吸附更慢、更柔。数值更小,腰射响应更快、更强;过低可能冲过目标。
开镜速度开镜、非喷子时作为屏幕步进除数。数值更大,开镜移动更慢。数值更小,开镜跟随更快;高倍镜下过低容易抖。
喷子速度检测为霰弹枪时优先使用,不论是否开镜。数值更大,喷子近战吸附更柔。数值更小,喷子转向更快;过低容易瞬间甩过。

#6.4 压枪与预测

控件实际作用数值拉高 / 开启数值拉低 / 关闭
卡尔曼压枪强度第四算法专用,不读取另外三款共用的压枪强度。只在检测到开火并且开镜时加入补偿。垂直向下补偿和水平反冲抵消都增强;过高会压到人物下方。补偿减弱;0 完全关闭第四算法的软件压枪。
预测强度第四算法专用的飞行时间倍率;0 会关闭预测并重置预测状态。提前量增加,适合较慢子弹或高速横移;达到 0.45 秒/8 米上限后继续提高变化会变小。提前量减小;0 只瞄原始骨点。
控件 / 项目说明
武器倍率当前只对一组精确武器名称设置独立倍率;未命中名称时使用 1.0。
姿态修正仍使用公共站立/蹲下/趴下系数,直接乘到第四算法压枪。
没有距离压枪档第四算法不调用丝滑/贝塞尔的趴伏额外和 50/100/200 米倍率。
没有倍镜灵敏度表第四算法不调用丝滑/贝塞尔的第一/第三人称及各倍镜灵敏度,而由开镜速度和屏幕投影统一控制。

#6.5 范围、姿态与目标判断

控件 / 项目说明
范围与距离从卡尔曼配置档读取腰射/开镜/喷子范围和距离,只决定当前算法的候选资格,不直接改变卡尔曼速度。
优先部位先选择头部、脖子或躯干;第四算法的高度保护以最终选中的真实骨点为上限。
部位选择准心优先按屏幕中心距离选人,距离优先按三维距离选人。
持续锁定尽量保持同一目标;目标地址变化时第四算法会清空速度、加速度和方向状态。
自瞄控件大小与位置只影响快捷按钮,不影响卡尔曼状态或输出。

#6.6 推荐调节顺序

  1. 建立基线:预测模式先用普通预测,腰射/开镜/喷子速度均设 1.0,预测强度 1.3,压枪 2.1,循环频率 200 Hz。
  2. 先关闭预测变量:把预测强度暂时设 0,选静止目标,确认两种输入模式都向人物聚集。
  3. 调对应速度:感觉没效果就把当前场景的速度小幅降低;冲过目标就提高。腰射、开镜和喷子分开测试。
  4. 恢复普通预测:预测强度从 1.0~1.3 开始,横移目标落后再提高,打到移动方向前方则降低。
  5. 再试自适应:确认普通预测稳定后切到自适应,连续观察急停、变向;短时延迟属于首帧建模。
  6. 最后调压枪:必须在开镜开火状态测试。枪口仍上抬就提高卡尔曼压枪;向下拖就降低。
  7. 只在需要时改频率:200 Hz 通常足够;只有输出明显断续且设备余量充足时再提高,不要直接拉到 500。

#6.7 当前版本已经加入的保护

控件 / 项目说明
去除双重提前量进入卡尔曼前减去公共线性预判,避免移动目标被预测两次。
远距离高度锁定世界坐标预测不改变骨点 Z,屏幕投影也不能高于原骨点,解决距离越远越跑到头顶的问题。
垂直后坐力方向统一游戏俯仰字段只取有效幅度,任何正负号都只能生成向下压枪。
压枪滑块兜底垂直目标值过小或缺失时,使用当前累计后坐力保证滑块仍能产生变化。
双轴分离水平反冲与垂直反冲分别处理,不再把两轴压成一个绝对值。

#6.8 当前缺点与建议优化

当前缺点可能表现建议优化
分档速度是反比且远距离再自动除 1~3 倍用户把速度拉高会更慢;远目标即使参数相同也显得比近目标更没效果。界面改成正向响应速度;把距离增益改为可解释的角速度限制或单独的远距响应曲线。
循环频率可能高于新观测产生频率500 Hz 会重复消费同一帧数据,增加发热,却不一定提高预测质量。只在 observationTimeMs 变化时更新估计器;输出线程在两次观测间做平滑插值。
轻量估计器没有完整协方差模型不同网络延迟、目标速度和测量噪声下使用同一组固定混合比例,适应范围有限。升级为二维常速度/加速度卡尔曼,显式维护 P/Q/R,并按目标状态动态调整测量噪声。
预测上限固定为 0.45 秒和 8 米超远距离、低初速武器可能预判不足;快速近战目标又可能过于敏感。按武器 ID 读取真实初速、弹道与阻力,针对武器类别设置上限。
没有重力下坠和垂直弹道模型高度保护能避免抬到头顶,但远距离低初速武器仍可能缺少必要的弹道补偿。把人物垂直运动与子弹重力下坠分开建模,并限制补偿不能被骨骼动画污染。
武器压枪倍率依赖精确名称,表中还有重复名称名称变化或本地化后落到默认 1.0;同名重复项后一个永远无法命中。改用稳定武器 ID,清理重复项,并为未标定武器记录诊断信息。
压枪只在开镜并开火时生效腰射或喷子不开镜时调压枪强度不会有任何变化。界面明确标注“开镜压枪”;如确有需求,再增加独立腰射压枪开关与倍率。
自适应模式首个样本不做提前量刚切换目标的第一帧会短暂瞄原骨点,随后才建立速度状态。使用游戏复制速度初始化第一帧提前量,并以较低置信度逐步接管。

#7. 参数独立性与保存关系

当前版本为四款算法各保存一份完整配置。下表按当前配置结构说明每类参数的归属。

参数组保存关系实际影响
自研水平/垂直速度自研算法专用只影响第一款自研算法。
丝滑拉枪、平滑、水平/垂直、陀螺仪倍数丝滑平移独立保存切换贝塞尔不会覆盖。
贝塞尔步进、平滑、水平/垂直、陀螺仪倍数贝塞尔独立保存切回丝滑仍保留原值。
卡尔曼模式、频率、三档速度、预测和压枪卡尔曼独立保存第四算法不覆盖前三款的轨迹、倍镜和压枪参数。
趴伏额外、50/100/200 米倍率丝滑与贝塞尔分别保存两个新算法可以有不同的距离压枪手感。
第一/第三人称及各倍镜灵敏度丝滑与贝塞尔分别保存每个算法每个倍率都可独立调整。
当前算法的压枪强度、打击预测前三款算法分别保存自研、丝滑、贝塞尔各自保存这两个值;卡尔曼使用自己的预测强度和压枪强度。
腰射/开镜/喷子范围与距离四款算法分别保存只决定当前算法的候选资格。
姿态修正、优先部位、目标策略四款算法分别保存随算法档案独立加载;姿态修正只进入当前算法压枪。
自瞄开关与快捷控件四款算法分别保存不属于轨迹公式,但开关状态、大小和位置仍按算法独立保存。

#7.1 症状到参数的快速定位

表现优先检查处理顺序
准心向人物外侧移动输入模式方向、反向陀螺仪、屏幕方向先不要改速度;确认启动 APP 输入模式和反向设置。
所有倍率都太快陀螺仪倍数 / 自研内核输出灵敏度先降低总增益,再看轴向。
只有某一倍率太快对应倍镜灵敏度只降低该倍率档位。
左右跟不上,上下正常水平拉枪或水平速度自研提高水平拉枪;新算法内核提高水平速度。
上下抖,左右正常垂直拉枪/垂直速度、压枪强度先降垂直,再检查压枪是否过高。
丝滑越调越慢拉枪参数、轨迹平滑拉枪参数是反比;降低它或降低平滑。
贝塞尔像没有效果贝塞尔平滑、曲线步进、陀螺仪倍数平滑先归 0,步进参数回 2.0,再确认倍数与倍镜。
卡尔曼近处有效、远处很弱当前分档速度、距离增益、预测强度先降低对应速度;不要通过盲目提高预测强度来补速度。
卡尔曼枪口向人物头顶抬安装版本、预测强度、原骨点高度保护确认使用含远距高度锁定的当前版本;预测先归 0 验证原骨点。
卡尔曼压枪滑块没变化是否开镜开火、卡尔曼压枪字段第四算法只在开镜开火时压枪,并读取卡尔曼配置档中的专用压枪强度。
远距离压枪异常50/100/200 米倍率确认倍率按区间单选,不是累乘。
吸到错误目标范围、准心/距离优先、持续锁定先缩小范围,再选择目标策略;必要时关闭持续锁定。

#7.2 最稳妥的整体调节方法

  1. 一次只调一个算法:先确定当前顶部选中的是自研、丝滑、贝塞尔或卡尔曼,避免把独立参数混淆。
  2. 一次只调一类问题:先方向,再总速度,再水平/垂直,再平滑,最后压枪与距离。
  3. 小步修改:速度/平滑每次改 0.5 左右;倍镜与陀螺仪倍数每次改 0.1~0.2;自研内核输出灵敏度每次改 0.002 左右。
  4. 固定测试条件:同一武器、同一倍镜、相近距离、相同站姿测试,否则无法判断是哪一个参数产生变化。
  5. 记录可用基线:获得稳定值后再测试其他倍镜与姿态,不要同时拉满多个滑块。

#8. 四算法缺点与优化优先级总结

四款算法当前都能沿各自调用链输出,但它们的问题类型不同:自研算法主要是两条旧链不统一;丝滑平移主要缺少限速、死区和目标切换清理;贝塞尔主要是曲线状态定义不够稳定;卡尔曼主要是参数含义、远距响应和状态模型仍可继续完善。

#8.1 最终优化决策

算法保留、不优化必须优化暂缓 / 不建议结论
自研正向速度、灵敏度补偿、动态死区、目标重置。双链共核、姿态容差、FOV 压枪。未取得实机数据前,不整体重调全部阈值。局部优化
丝滑直线路径、独立配置、可关闭 EMA、方向映射。EMA 重置、软限速/死区、正向滑块、连续距离倍率。不改造成贝塞尔或卡尔曼。外围重点优化
贝塞尔三次曲线公式、独立配置、FOV/灵敏度补偿、方向断言。稳定曲线状态、终点跟随、步进重映射、单层平滑。未验证前不增加随机摆动或复杂拟人噪声。轨迹状态优先
卡尔曼原始骨点、去双预判、高度锁定、双轴压枪、独立参数。正向速度、远距响应、新观测更新、完整状态模型、武器 ID。没有武器弹道数据前,不恢复人物 Z 速度预判。预测模型优先

#8.2 跨算法共同优化

共同问题当前影响统一优化方案
参数语义不统一自研速度越高越快,另外三款多个速度/步进却越高越慢,容易调反。所有界面滑块统一为正向语义;内部再映射到除数或步进。
姿态判定脆弱精确浮点比较可能让站/蹲/趴修正偶尔失效。统一用姿态状态或容差区间,增加当前命中姿态的调试显示。
距离补偿不连续丝滑/贝塞尔在 50/100/200 米跳变,卡尔曼又使用另一套距离减速。建立连续距离曲线,并让界面明确区分“目标速度”和“压枪距离补偿”。
缺少按武器完整标定同一组参数难以覆盖不同初速、后坐力和射击模式。以武器 ID 保存初速、后坐力、预测和倍率配置,提供一键复制与恢复默认。
诊断信息不足用户只能凭手感判断到底是目标选择、预测、速度还是压枪没生效。增加只读诊断:当前算法、输入模式、目标距离、选中骨点、速度档、预测秒数、压枪输出。
回归测试覆盖有限方向修复后仍可能在某种屏幕方向、倍镜或武器上复发。建立内核/无模块×方向×倍率×距离×姿态的离线方向和数值边界测试。

#8.3 推荐实施顺序

  1. 先修状态安全:丝滑/贝塞尔目标切换时清空 EMA;姿态判断改为容差或枚举。
  2. 统一参数语义:把反比速度和曲线步进改成用户可理解的正向响应速度,保留旧配置迁移。
  3. 连续化距离与倍率:取消突然跳变的距离压枪,并用 FOV/角度统一不同倍率手感。
  4. 重构贝塞尔状态:保存稳定曲线段、平滑重建终点,消除周期性重置。
  5. 升级卡尔曼模型:按新观测时间戳更新,完善 P/Q/R、武器 ID 弹道和首帧低置信度预测。
  6. 最后统一两种输入模式:共享算法核心,只在最终一步做内核/无模块轴和幅度适配。

#8.4 明确不需要优化或暂时不动的项目

控件 / 项目说明
四算法独立选择保留四个入口和各自参数,不合并成一个万能算法。四种轨迹用于不同手感,本身没有必要删除。
内核/无模块方向适配当前方向映射已有编译期断言并解决过反向问题,只允许增加回归测试,不重新猜测正负号。
卡尔曼远距高度保护继续保留预测点不高于真实骨点;在没有完整弹道下坠数据前,不用人物 Z 速度替代弹道补偿。
卡尔曼双轴压枪继续保留水平与垂直分开处理、垂直只向下补偿,不能重新压成单一绝对值。
贝塞尔数学公式三次贝塞尔公式与控制点概念保留;优化对象是跨帧状态、步进映射和平滑层。
丝滑直线核心线性误差路径保留;需要补外围限速和状态清理,不需要加入曲线控制点。
自研速度正向关系继续保持数值越高越快,避免再次改回反比;报告和界面只需清楚区分其他算法。
范围与距离拆分腰射、开镜、喷子三组范围与距离继续保留,不恢复单一距离限制。

#附录 A:默认值与边界速查

项目当前默认 / 起点界面范围或说明
自研水平 / 垂直拉枪3.0 / 3.00.1~10.0;正向关系,越高越快。
自研内核输出灵敏度0.0100.001~0.050;仅内核显示。
丝滑拉枪参数2.00.1~20.0;反比,越高越慢。
丝滑平滑0.00~20;0 关闭 EMA。
丝滑水平 / 垂直 / 倍数2.6 / 2.3 / 2.0水平/垂直只在内核参与。
贝塞尔曲线步进参数2.00.1~20.0;实际步进限制 0.10~0.55。
贝塞尔平滑0.00~20;内核模式会双重柔化。
贝塞尔水平 / 垂直 / 倍数2.6 / 2.3 / 2.0水平/垂直只在内核参与。
前三款各自的压枪强度2.10~5;自研、丝滑、贝塞尔分别保存,当前只对开镜后坐力生效。
前三款各自的打击预测1.31~2;自研、丝滑、贝塞尔分别保存。
卡尔曼预测模式自适应预测普通 / 自适应;自适应首帧先建立状态。
卡尔曼循环频率200 Hz50~500 Hz;越高占用越大,不等于观测数据越多。
卡尔曼腰射 / 开镜 / 喷子速度1.0 / 1.0 / 1.00.1~20;反比,数值越高越慢。
卡尔曼预测强度1.30~4;0 关闭;飞行时间最多 0.45 秒。
卡尔曼压枪强度2.10~5;第四算法独立,只在开镜开火时生效。
丝滑/贝塞尔趴伏额外1.30~5;分别保存。
50/100/200 米倍率1.0 / 1.0 / 1.00~5;按区间单选。
第一 / 第三人称灵敏度0.5 / 0.50.1~3.0;丝滑与贝塞尔分别保存。
红点至 8 倍灵敏度各 1.00.1~3.0;每档独立。
腰射 / 开镜范围110 / 10010~350;屏幕候选半径。
喷子范围15010~350。
腰射 / 开镜 / 喷子距离100m / 200m / 50m腰射开镜最高 500m;喷子最高 100m。
站 / 蹲 / 趴修正多数武器 0.5 / 0.4 / 0.20~1;按武器类型保存。