main
CC CBC Convergence Control
基于 cbc_cannon_mount 的多炮弹道交汇火控工程,包含:
master/:主机程序,负责读取参考炮、广播参考角度、分组开火、行军锁与组装控制。slave/:副机程序,负责多炮 FCS 交汇计算、FCI 阻挡判定、开火执行与状态回传。
安装
主机
wget https://git.liulikeji.cn/xingluo/cc-cbc-convergence-control/raw/branch/main/master/startup.lua
副机
wget https://git.liulikeji.cn/xingluo/cc-cbc-convergence-control/raw/branch/main/slave/startup.lua
目录
master/startup.lua:主机启动文件slave/startup.lua:副机启动文件
功能概述
- 主机只提供参考炮
master_yaw / master_pitch / refPos广播,不参与副机弹道解算。 - 副机使用
FCS.lua的距离与corrected_yaw逻辑进行交汇计算。 - 副机使用
FCI.lua的lim_L / lim_R / lim_up / lim_down语义进行阻挡判定。 - 支持 4 组开火输入、组内
slotId轮询、双击齐射、行军锁、组装控制与阻挡红石输出。
FCI 死区设置
设置死区前,先在副机首页正确设置 Face。
Face 只用于确定炮塔前方方向,进入 FCI 计算后,角度都按炮塔自身局部角处理:
- 前方 =
0 - 右侧 =
90 - 后方 =
180 - 左侧 =
270
FCI 页面填写的是“可开火区”,不是“死区”。
因此需要先算死区,再换算成剩余的可用区,最后填写 R / L。
计算步骤
- 先确定死区是在前方还是后方。
- 取死区总角度的一半,记为“半角”。
- 计算死区范围:
- 前方死区:
0 - 半角到0 + 半角 - 后方死区:
180 - 半角到180 + 半角
- 前方死区:
- 将死区之外的区域改写为 1 条或 2 条可用区。
- 在
FCI页面按R / L顺序填写。
示例 1:只有后方 70 度死区
- 后方中心:
180 - 半角:
35 - 死区范围:
145 ~ 215 - 可用区:
215 ~ 360和0 ~ 145
这是一个跨 0 度的环绕可用区,所以只需 1 条规则:
R = 145
L = 215
示例 2:前方 30 度死区,后方 35 度死区
- 前方半角:
15 - 后方半角:
17.5 - 前方死区:
-15 ~ 15 - 后方死区:
162.5 ~ 197.5 - 可用区:
15 ~ 162.5和197.5 ~ 345
需要 2 条规则:
R = 162.5
L = 15
R = 345
L = 197.5
说明
Face设置正确后,死区角度本身不需要再手动参与世界方向换算。FCI多条规则当前按“可用区并集”处理,任意一条规则通过即允许开火。- 如果结果与预期相反,优先检查:
Face是否设置正确R / L是否填反- 是否还保留了额外规则
如果你不会算,你可以将上方整个FCI 死区设置说明发给ai并附带类似“后方有50度的死区应当如何设置”
Languages
Lua
100%