欢迎光临散文网 会员登陆 & 注册

游戏《太空工程师》自动采矿船:编队采矿脚本使用说明

2023-04-12 22:00 作者:不暇自哀的秦人  | 我要投稿


一切为了生产力!

  由于我的VS的MDK更新失败,所有我重新建立了新的脚本,后续的一些更新将会发生在新脚本里。另外蓝图使用脚本的可能不是最新的脚本,新脚本需手动导入编程块。


目录

1、适用范围

2、流程说明

3、采矿区的点的示教

4、采矿船参数设置

5、采矿船按钮说明

6、母船参数设置

7、陀罗仪及远程控制块安装说明

8、运行效果视频

1、适用范围:

  只能在星球重力圈内使用。编队采矿的采矿船和母船都必须有天线,且天线的通信范围必须能覆盖对方。

  太空采矿请使用此脚本:

2、流程详解:

  此流程主要是为了给想研究脚本的“太空工程师”们理解脚本用的,同时也为了让各位“太空工程师”们,更好地去熟悉和使用矿船,以便快速理解和排除使用中遇到的一些问题。此流程为每台采矿船核心的飞行流程,编队飞行以此为基础扩展。

  使用这套设备的关键是:点位,模式和阶段。理解好这三样就可以更好地去操作这套设备。

  点位:可以把这台矿船简单理解成一台上下料的机器人,使用机器人时需要给机器人示教点,大致操作就是把机器人末端夹具移动到一个目标位置,然后点击示教盒上的按钮,机器人就会记录下当前点位的坐标信息。这台飞船可以理解成机器人的末端夹具,将飞船移到一个目标位置,点击一个按钮,飞船便将当前点位置的坐标信息,存入按钮所对应的名称的点。接下来的讲解大量会讲到点位,即以此原理为基础。

  模式(Mode):出发(depart),返回(back),停止(stop)和返回并停止(backandstop)。

  阶段(Stage):0~8。可以粗略地理解为路径。当所有的点示教完成后,飞船根据不同的点,在点与点之间建立了飞行路径。

  不同的模式和阶段,飞向的目标点不同。粗略地看,每个阶段都会有出发和返回两种模式。

可以根据飞船背后的显示屏了解飞船当前的模式和阶段
停船区流程

  采矿船在成功连接后,会转入 Stage0 阶段,该阶段会自动充电、气,并将采矿船的货物卸入母船的矿石货箱中。卸货功能需对母船的货箱进行命名——Ore and Ice Cache——用以为采矿船指定一个卸货目标。只有完成充电、气和卸货后,飞船才会重新出发。

  另外,ApproachPoint1 和 ApproachPoint2 可以设置在同一个位置,只需在同一位置分别按下那两个位置的示教点即可。采矿船单机运行时这三个点都可以在线修改,点击完对应的示教按钮后立即生效。

  此区域的示教按钮都在第二页。

  接下来介绍采矿船的采矿流程,采矿船的采矿方式是竖直向下钻,然后竖直返回。

采矿区流程图

  采矿区的所有点都是基于 MineField1,MineField2 和 MineField3 这三个点计算出来,具体如何示教这三个点暂时放后面再讲。

  采矿船在前往开钻的点(DrillPoint)之前,会到一个预备的点(DrillApproachPoint),这个点在开钻点的正上方。到达终止点(EndPoint)之后,会上升回预备点(DrillApproachPoint),并在此点执行 Stage8 ——飞船会在此悬停并从记录表从读出下一个钻点的位置,然后才再次从此出发前往下一个预备点(DrillApproachPoint),然后继续下一个钻孔循环。

  其中 Stage6 和 Stage7 只做单向移动,只发生在飞船到达了终止点(EndPoint)之后,并且只有出发(depart)模式。一但在这两个阶段转变成返回(back)或返回并停止(backandstop)模式,飞船会切换成对应的阶段。此时飞船不会执行钻孔循环,而是先飞回停船区,执行停船区的流程。

将采矿区和停船区联系起来

  Stage3 主要用于水平飞行,切换不同的位置点。


3、采矿区的点的示教:

矿区示教按钮

  采矿区域是一个四边形,只需要示教出三个顶点,程序会自己计算出其余的所有点。类似给机器人码垛划定一个范围。

4、采矿船参数设置


  打开采矿船的编程块,带箭头标注的参数是需要设置和了解的,其余的可以忽略。

在 [ShipInformation] 下:

  • ShipName——设置当前采矿船的无线电呼号。这个是与 IGC 有关的功能,用于与母船通信时区分收发信息的采矿船。编队采矿时,每台采矿船的船名不能相同。(注意如果有多艘母船,或者一艘母船上有多个地面控制台,也必须区分矿船名称,否则别的母船发出的信息也会影响当前采矿船,同时当前采矿船发出的信息也会影响别的母船)

  • AutoPilotName——指定一个远程控制块给编程块,编程块会识别与此项命名相同的远程控制器。飞船如果只有一个远程控制块并且被编程块设置为自动驾驶时,“工程师”无法通过无线方式获取到控制飞船的权限,所以可以通过放多一个远程控制块,让“工程师”来使用。为了区分这两个远程控制器,给编程块使用的就设置一个名称,等同于说指定一个远程控制器给编程块用,其余的不需要。

  • Connector——指定一个连接器给编程块,也是为了防止出现多个同类型有设备。

  • Thrust Power Correction Faction——此项目前已暂时停用,脚本里程序仍在,但已被注释,调整这个参数不会有任何作用。

在 [Mission] 下:

  • IGC——用于开启和关闭与母船的联系。Offline 为单机运行状态,Online 为编队运行状态。其中为 Offline 时,当前采矿船也不会接收母船发出的停靠点更新的坐标。

  • SpeedLimit——设置飞船的最大飞行速度,单位:m/s。程序目前使用距离比例的方式来限速。例如当设置成50时,飞船在与目标点距离超过50米时,按50m/s的限速飞行,当距离小于50时,按距离的平方根值来限速运行,当计算值小于1m/s时,按1m/s的限速飞行直到到达目标点时停止。此方法目前用在编程块的 UpdateFrequency 为 Update100 时效果良好。

  • Height——DrillApproachPoint 与 DrillPoint 之间的高度差,也就是飞 Stage4 的那段距离,单位:米。这一项只在进入和离开采矿区时使用,为防止在距离和其它的物体相碰,这一项一般设置得比较高。

  • Height2——DrillApproachPoint 与 DrillPoint 之间的高度差,也就是飞 Stage4 的那段距离,单位:米。与上一项的区别是,这一项一般用在钻孔循环中,高度一船低于上一项,以减少飞行的路程。

  • Depth——设置采矿的深度,单位:米。该脚本以10米为一层,不足10米的按10米算。例如设置为4,会挖10米;设置为14会挖20米,但是会分两层挖;设置为24米会挖30米,但是会分三层挖……

  • DrillPointNum——显示当前采矿船在挖的点位的序号。强制修改数值,采矿船会跟着改变挖矿的点位。

  • DrillPointTotal——显示采矿点位的总数量。这是一个由程序计算得出,当矿区的点设置完成后,此项会有新结果。强制修改程序可能会报错。

  • Interval——设置钻点之间的间隔,单位:米。

  • DrillSpeed——设置钻头挖矿时的进给速度,单位:m/s。


5、采矿船按钮说明:

按钮位置布局
对应位置的按钮指令

以下是对应位置的按键说明,设置是所有字母必须大写

  • 1234——这四个指令分别对应:停止(stop),出发(depart),返回(back)和返回并停止(backandstop)。其中返回并停止是指飞船回到对接点,完成充电、气和卸货后,不再出发,但该指令会在以下三种情况下失效:飞船电量低于30%,飞船气量低于30%,货物量为100%。上述三种情况下,飞船会强制为返回(back)状态。另外如果采矿船的 IGC 为 Online,按下出发(depart),采矿船会向母船申请采矿点的序号,并按母船发来的采矿点的序号前往对就的采矿点。

  • UL——解锁。该功能是解锁的预备操作,也就是不会真解锁连接器。当飞船与连接器连接后,会有以下状态:推进器全关闭,电池全部处于充电状态,气罐处于充气状态。如果此时直接按P键,飞船会直接从连接器上掉下来。因此要想解锁链接器,先按一下UL。按下后程序会执行以下动作:推进器全打开,电池改为自动状态,气罐取消充气状态。

  • OKR——一键返回。无论什么状态下,按下此按键,飞船会改为返回(back)状态,并在此基础上,将阶段改为 Stage3,也就是飞船会直接向 ApproachPoint2 飞。该功能可以配合 4 组合使用,先按 OKR 让飞船转为 Stage3,再按 4

  • D1D2D3——分别示教 DockingPoint、ApproachPoint1 和 ApproachPoint2。采矿船单机运行时这三个点都可以在线修改,点击完对应的示教按钮后立即生效。当采矿船与母船处于通信状态(IGC 为 Online)时,按下任意一按键示教,会自动关闭与母船的通信(IGC 变为 Offline),示教完成后需要按 D4 手动开启与母船的通信。

  • D4——发送示教好的 DockingPoint、ApproachPoint1 和 ApproachPoint2 这三个点的位置信息给母船,同时将 IGC 的状态改为 Online。此时飞船加入采矿编队。(此按钮按下后,母船会有两段操作,先是将接收到的坐标与母船的远程控制器的当前位置坐标进行矩阵计算,并得出一个基于母船远程控制器为原心的局部坐标系的方向向量记录在母船的编程块的自定义数据内。第二段是向全体 IGC Online 的飞船广播一次新的停泊点坐标,使用记录的方向向量与远程控制器的当前位置坐标再进行一次矩阵计算,并得出一个全局坐标,并将此坐标向外广播,此操作可能会带来一个短暂且明显的卡顿。另外,当母船发生一次位置变动,并且线速度和角速度降为0时,会再执行一次第二段操作。)

  • D5——将 IGC 的状态改为 Offline。注意,此时采矿船也不会接收母船的停泊点位的坐标的广播。

  • M1M2M3——分别示教 MineField1、MineField2 和 MineField3。其中按下 M3 会结合钻孔点间隔、采矿深度,进行钻孔点坐标计算,将所有点以 ini 格式存入本地编程块中,这些点的信息不会显示出来,并将采矿点序号设置为1(意思是准备去挖第一个点)。当采矿船与母船处于通信状态(IGC 为 Online)时,按下任意一按键示教,会自动关闭与母船的通信(IGC 变为 Offline),示教完成后需要按 D4 手动开启与母船的通信。

  • M4——根据本地记录的 MineField1、MineField2 和 MineField3 三个点,结合钻孔点间隔、采矿深度,进行钻孔点坐标计算,将所有点以 ini 格式存入本地编程块中,这些点的信息不会显示出来,并将采矿点序号设置为1(意思是准备去挖第一个点)。此操作不会中断通信,也不会进行任何示教,一般为单机时使用。

  • M5——将本地记录的 MineField1、MineField2 和 MineField3 三个点,以及钻孔点间隔、采矿深度,发送给母船,同时打开 IGC。母船在接收到当前矿船发送的矿区信息后,自己也会结合钻孔点间隔、采矿深度,进行钻孔点坐标计算,将所有点以 ini 格式存入本地编程块中。完成计算后,会向所有 IGC Online 的采矿船广播矿区信息,这些采矿船在接收信息后也会生成一份采矿点坐标集以 ini 格式存入自身编程块的当中。

  • M6——向母船申请矿区信息,在接收到矿区信息后,会执行一次 M4

6、母船参数设置:

母船的参数设置

  母船的编程块内的自定义数据也是以 ini 格式存储。该脚本提供最多10台采矿船的控制,一般建议只用其中4台编队,船越多发生碰撞的概率越大。

  每台采矿船的信息都独立建立了一个 Section 来存储,也就是每个 [Ship1~10] 开头。其中只要关注 ShipName 这一项,与采矿船的 ShipName 相呼应。


  组队采矿时,使用其中一台采矿船示教好矿区点位后,将点广播出去(M5),然后去每台采矿船上点一下 2 出发(depart)便可开始编队自动采矿的流程。一般习惯是让示教矿区的船执行一次 OKR 让矿船自己回去充一下电,而且此时飞船的阶段也不明确,也不用手动去设置飞船的阶段值。如果其它的采矿船没有开启 IGC,可以去每台矿船上手动点一下 M6 申请矿区信息,然后再点 2 出发(depart)。

界面及按钮

  按钮的操作方法可以翻看下文的视频。按钮的指令如下(指令需全部大写):

  • Up——UP

  • Down——DN

  • Back——BK

  • Enter——EN

7、陀罗仪及远程控制块安装说明:

  陀罗仪在手动使用时可以不注意方向,但实际上它是有分方向,大家可以到陀罗仪的选项里头,使用越级控制手动拉一下滑块感受一下方向,这里由于脚本已经写死,方向必须与下方图片一致。不一致会导致飞船无法修正自身姿态。

  编程块所控制的那个远程控器块必须安装在飞船正中央,飞船上下升降时会发生水平自旋,其自旋的中心在远程控制块的中心,为的是防止在矿坑中发生严重碰撞,以及确保挖的坑是以远程控制块为中心,否则可能会造成点与点之间有没挖到的体素,影向下一步的挖掘。

陀罗仪方向

8、运行效果视频:



游戏《太空工程师》自动采矿船:编队采矿脚本使用说明的评论 (共 条)

分享到微博请遵守国家法律