跳转至

SCANsat

SCANsat 部件模块会加到所有 SCANsat 扫描仪上,没有、也不该有可自定义的内容。

SCANsat 底层怎么工作

在原版 KSP 里,探测器扫描天体、生成地图时,SCANsat 完全绕过数据传输。扫描仪零件上有个按钮可以生成数据,你必须把那份数据传回 Kerbin 才能拿到科学点。但那和出图本身完全无关。你可以拿探测器扫完一颗星,什么都不从那艘船上传回去,SCANsat 窗口里照样能看到地图。

查阅 SCANsat 源码后,无法让地图生成依赖数据传输,因此只能在 Kerbalism 侧变通处理。

Kerbalism 一直有 SCANsat 专用对接:3.0 之前用来在卸载船没电时关掉 SCANsat 扫描仪,电量恢复后再打开。新科研系统也是类似做法。

有一个部件模块 KerbalismScansat,在 Kerbalism 和 SCANsat 之间搭桥。它做的事情是:看这个天体扫了多少(百分比),如果百分比涨了,就生成一些数据存进去。存多少_取决于_扫描完成度的差值。然后,如果硬盘满了,就把扫描仪关掉,直到再有空位。

这是在模拟「必须先把数据传回去才能看到地图」,虽然技术上并不完全是那么回事。你要是机灵,可以一直删探头硬盘上的文件,扫描仪会高高兴兴继续扫,什么都不用传。但你删掉的那一段科学点就没了——永远没了,没法再生成那份数据。

SCANsat 按固定间隔周期性更新扫描仪。这意味着取决于当前时间加速,两次更新之间探测器可能扫过天体的一大块,然后在硬盘里生成海量数据,远超它能存下的量。Kerbalism 会关掉扫描仪,等到再有空位,再打开。这时探头视野范围内碰巧扫到的那部分,会被 SCANsat 视为已扫描,下一次很可能又涌出一大块数据。没法少扫一点,也没法用别的办法把扫描仪调慢,只能关掉再打开。