Repository navigation
Releases
Releases · Thatgfsj/subnautica-snmap
SNMap v2.7.1
SNMap v2.7 — 内置图标 + 扫描室物品点 + 抖动/闪烁修复
SNMap v2.7 — 深海迷航小地图 + 独立大地图窗口 (win64)
解压到任意位置(放桌面就行),启动游戏后双击 SNInjector.exe 即可使用。
不需要放进游戏目录,也不依赖 BepInEx 等任何模组框架。
⚠️ 从 v2.6 升级:请把包内文件全部替换一遍(模块与大地图窗口之间升级了协议,只换其中一个会显示"协议不匹配")。
包里有什么
| 文件 | 说明 |
|---|---|
SNInjector.exe |
注入器:自动找 Subnautica 进程并注入;已注入则热重载 |
SNMapBoot.dll |
引导层:由注入器写入游戏进程,负责加载模块并拉起地图窗口 |
SNMapManaged.v200.dll |
游戏内模块:坐标 HUD + 圆形小地图 + 扫描室物品点 |
SNMapWindow.exe |
独立大地图窗口(默认最大化) |
config.ini |
配置:热键 / 字号 / 小地图档位 / 生物默认名单 |
icons/ |
474 个游戏内图标(物品、矿石、生物头像),从游戏资源离线抽取后内置 |
maps/ |
12 个地图图层(KT411 2024 中文标注图、失落之河、熔岩堡、海皇监狱等) |
README.txt / LICENSE |
详细说明 / MIT 许可 |
快速开始
- 启动游戏(Steam 版,64 位)
- 双击
SNInjector.exe→ 检测到游戏进程后自动注入,成功后注入器自行关闭 - 游戏内按键:
- F7 左上角圆形小地图档位循环:200m → 300m → 500m → 1000m → 关
- F9 打开/隐藏独立大地图窗口(注入后窗口会自动启动并隐藏待命,F9 才显示)
- 大地图窗口顶部有 设置 按钮:小地图大小 / 显示敌对生物(总开关)/ 显示扫描室扫描的物品 /
全部敌对生物逐个勾选,改完立刻生效,不用重新注入。
本版重点(v2.7)
1. 扫描室物品点(新功能)
游戏里扫描室扫出来的东西不是 Ping(PingType 枚举里根本没有资源类型),所以以前无论怎么改都不会显示。
v2.7 直接读扫描室的真实数据(MapRoomFunctionality + ResourceTrackerDatabase),现在:
- 每个扫描室只显示它当前正在扫描的那一个物品(
GetActiveTechType()),带游戏内的物品图标; - 多个扫描室各扫各的,一个扫石英、一个扫卵,就分别显示各自那一种,互不影响;
- 房间空闲(没在扫描)或离你 800m 以上不显示;
- 顺带把开销降下来:以前一次要遍历 16 种类型 × 2.7 万个节点,现在只走当前这一种(实测 198 个节点)。
2. 内置图标(新功能)
从游戏资源里离线抽出 474 个真·UI 图标(物品、矿石、生物头像),直接内置进包里:
- 小地图 / 大地图上的生物显示为头像(死神利维坦、潜行者、骨鲨、蟹鱿…);
- 扫描室物品显示为游戏里对应的物品图标(石灰岩块、石英、钛…);
- 游戏里没有 UI 头像的生物(例如幽灵利维坦)改画黑色描边的红色感叹号,不再是含义不明的红三角;
- 找不到图标的点自动退回彩色点,不会因为缺图出问题。
3. 敌对生物相关修复
- 修掉大地图敌对生物"一直闪烁":状态文件每帧重建,而生物坐标原来只在每 1 秒的扫描时才写入,
中间那些帧是"数量>0、坐标全是 (0,0)",窗口就在真实位置和世界原点之间来回跳。现在扫描结果持久保存、
每帧原样写回,且位置每帧实时读取。 - 小地图也会显示敌对生物(以前只发给大地图)。
- 修掉标记"一直抖动":小地图原点每帧跟着玩家的轻微晃动(在水里被水流推)连续微调,
而贴图最终会被吸附到整数像素,标记就在相邻两像素间来回跳。现在原点吸附到整屏幕像素、
UV 跟着重算、标记屏幕坐标显式取整,水里晃动时整幅图稳如静止。 - 标记坐标降到 1 位小数写入,避免大地图被无意义的末位抖动反复触发重绘。
4. 其它
- 状态文件改为先写临时文件再原子替换,窗口以
FileShare.Delete打开,消除读写撕裂。 - 小地图"关"档、大地图【退出】按钮、F9 打不开大地图(v2.6 rev2 已修)等问题均已包含。
说明
- 仅用于单人游戏与学习交流(MIT License)。
- 地图图层来自 subnauticawiki.com(碧蓝之星汉化组)与 KT411 等
社区作品;图标由游戏资源离线抽取。版权归各自原作者所有,本包仅作便利用途,作者可要求撤下。 - 运行时生成的文件(可随时删):
SNMapMini_<层号>.jpg(给游戏内小地图用的缩小预览,
大地图窗口会自动导出)、SNMapState.bin、SNMapSettings.ini、SNMap.log、SNMapWindow.log。
其中预览在下一次注入时才会被游戏内模块用上。 - 地图与图标现在也随仓库提供:https://github.com/Thatgfsj/subnautica-snmap