UltimatePrediction
PEAK 全能落点预测:投掷物 / 篮球 / 棋子 / 绳索炮 / 锁链 / 爆炸物的落点、碰撞箱、范围与真实物理预览,并带落点观察小窗。UltimatePrediction
PEAK 全能落点预测模组。为可投掷道具、篮球与棋子、绳索炮、锁链发射器与爆炸物提供落点、最终碰撞箱、绳索长度与下垂、爆炸 / 治疗范围的实时预测。
- 游戏:PEAK(Unity 6 / Mono / BepInEx 5)
- 模组 ID:
com.zhuanban.peak.ultimateprediction
安装
- 安装 BepInExPack for PEAK。
- 把
plugins/UltimatePrediction.dll放到游戏的BepInEx/plugins/目录。 - 启动游戏;首次运行会在
BepInEx/config/com.zhuanban.peak.ultimateprediction.cfg生成配置文件。
功能
投掷物落点预测
| 道具 | 预测内容 |
|---|---|
| 魔豆 | 落点、生长法线、藤蔓长度与最终碰撞箱(可攀爬 / 不可攀爬着色) |
| 云雾菇 | 按游戏真实的「速度 + 时间」破碎条件预测破碎点与云台落点 |
| 弹力菇 | 破碎点、弹力平台落点与朝向 |
| 踏板菇 | 破碎点、平台落点与朝向 |
| 曲迁菇 | 飞行轨迹、传送时间窗口内的传送落点 |
| 灵药菇 | 破碎点与治疗作用半径 |
| 炸药 | 最终位置(考虑引信时间)与爆炸作用半径 |
| 反重炮 / 治疗飞镖 | 射线命中落点与轨迹 |
| 篮球 / 传送篮球 | 即时预测显示首次撞击落点;精确物理预览完整模拟真实弹跳直至静止(传送篮球命中地形即触发传送时显示传送点) |
棋子(全部 C_*) |
落地后的落点与碰撞箱 |
| 其它特殊投掷物 | 具有破碎生成 / 粘附 / 碰撞触发等特殊效果的道具,均提供通用落点 + 碰撞箱预测 |
绳索炮 / 锁链发射器 / 发射类
- 绳索炮:按住精确预览键(默认鼠标右键)时,用游戏真实的绳索预制体与真实关节链重演一次完整发射:锚点飞出 → 抵达后生成绳索 → 逐帧放出。绳索形状由几十个关节的动力学决定,因此只提供精确模式。
- 锁链发射器:按住左键使用时显示锁链落点、长度与真实下垂形态。
- 发射类(反重炮、治疗飞镖):按住左键使用时显示精确命中点与轨迹。
两套预测
① 即时解析预测(蓄力时自动显示,每帧重算,单次约 0.2~2ms)
- 按 PhysX 的积分公式解析弹道,并对真实场景做扫掠形状投射求碰撞;扫掠自带完美 CCD,不会穿透薄几何。
- 按碰撞体真实类型选投射形状(球 / 胶囊 / 盒完全精确),凸网格用「运动方向支撑点射线」精确求首次接触。
- 接触响应按 PhysX 源码对齐(材质合并、
bounceThreshold、contactOffset、静 / 动摩擦)。 - 零拷贝、零烘焙、不创建任何物理场景,不产生卡顿。
② 精确物理预览(按住精确预览键,默认鼠标右键,需等 1~2 秒)
- 在主场景里放一个真实刚体探针(克隆道具预制体、剥离全部逻辑组件、保留真实碰撞体与材质),用游戏自己的 PhysX 跑完整条轨迹,结果与游戏完全一致。
- 不设任何人为限制:没有时间上限、没有弹跳次数上限、没有人为速度阈值;一直模拟到物品真正静止(PhysX 睡眠)、或按游戏规则被消耗、或按游戏规则越界销毁为止。
- 同样零拷贝零烘焙;代价是必须按真实时间跑完。
落点观察窗
投掷类道具会在屏幕角落常显一个小窗,用独立相机聚焦落点,避免落点被手持道具或地形挡住而看不清。
- 视角按落点法线自适应:墙面从正面略俯、地面从斜上方俯视、天花板从斜下仰视。
- 相机到落点距离恒定;视线被挡时换角度而不是拉近拉远,配合方向滞回与目标死区,画面稳定不闪。
- 精确物理预览时小窗持续追踪幽灵,飞行途中即可观察。
- 按住位置调整修饰键(默认右
Alt):方向键移动小窗、+/-缩放;此时即使没有预测也会显示占位小窗,方便随时摆放。
配置
配置文件:BepInEx/config/com.zhuanban.peak.ultimateprediction.cfg
1-通用:总开关、预览透明度、预览时隐藏手中道具。2-视觉:轨迹线、落点标记、碰撞箱、结果幽灵、范围预测、颜色加深、范围屏幕遮罩、各颜色与脉冲速度。3-道具:每个道具的独立开关 + 发射类道具预测 + 通用投掷物预测开关。4-绳索锁链:绳索预览透明度、锁链预览颜色。5-高级:调试日志、启用精确物理预览、精确预览按键(默认鼠标右键)。6-落点观察窗:启用观察窗、窗口宽度与位置、相机距离 / 俯仰 / 视野、位置调整修饰键。
多人安全性
- 所有预测均为本地视觉,不发送任何网络数据、不修改游戏状态。
- 即时解析预测只做只读物理查询,不创建任何物理对象。
- 精确物理探针是对世界逐对忽略碰撞的本地刚体,销毁时回滚;预览对象剥离全部联网与注册组件,无内存泄漏。
已知限制
- 即时解析预测对第一次撞击最准;需要完全一致时请使用精确物理预览。
- 飞盘 / 滑翔翼的弹道不是抛物线,且投掷没有放置类效果,因此不做预测。
- 游戏内随机量无法完全预测,预览取确定性近似。
- 精确物理预览需要按真实时间跑完(约 1~2 秒),且按住期间使用按下那一刻的蓄力值与朝向。
致谢
参考了社区模组 MagicPreview、CloudAndBounceFungusPrediction、RopePreview 的思路,实现完全独立重写并大幅增强。
