饥荒转向舵指令
饥荒中转向舵的核心指令是“SetOrientation”,配合船只实体与舵手组件使用,能精确控制船头朝向,是航海玩法里实现定点停靠、狭窄水道调头、规避海浪损坏的关键操作。在控制台输入 `c_find("boat")` 可以快速定位最近的船体实体,再通过 `inst.components.boatphysics:SetOrientation(角度)` 来设定船头方向,角度以弧度制计算,0 对应正东方向,逆时针递增。实际操船时,直接给转向舵下达指令比手动拖拽方向盘更稳定,尤其在多船编队或自动航行脚本中,这一指令几乎是必用的底层接口。
![饥荒转向舵指令[图1]](https://static.down8818.com/uploads/20261030/6ae4366b45a490.30445176.png)
要正常使用转向舵指令,先得确认船体上已经装好舵手组件。玩家在船上放置舵轮后,船体实体会挂载 `boatphysics` 与 `steeringwheel` 相关组件,此时才能响应朝向指令。若船体尚未安装舵轮,指令会静默失败,船头不会发生任何变化。因此排查问题时,优先检查舵轮是否就位、是否被破坏,再确认船体是否处于可操控状态。部分情况下船被冰封或搁浅,物理组件会拒绝执行转向,需要先解除异常状态再重发指令。
![饥荒转向舵指令[图2]](https://static.down8818.com/uploads/20261030/6ae4366b7dcb24.10293668.png)
角度参数的取值需要结合地图坐标系理解。游戏内角度以弧度为单位,正东为 0,正北为 π/2,正西为 π,正南为 3π/2 或 -π/2。想让船头朝北,就传入 1.5708 左右;朝西则传入 3.1416。实际输入时不必追求绝对精确,物理系统会在下一帧平滑插值到目标朝向,所以给一个近似值即可。若需要船头瞬间对齐某个方向,可以在指令后紧跟一次物理步进刷新,或直接修改船体的朝向缓存,避免插值造成的短暂偏差。
转向舵指令在实战中的典型用法是自动靠岸。玩家可以先用 `c_find("boat")` 拿到船体引用,再把目标码头方向换算成弧度,调用 `SetOrientation` 让船头对准码头,随后给一个向前的推进力,船就会沿直线滑向岸边。相比手动转舵,这种做法能避开海浪推挤造成的方向漂移,尤其在夜间或视野受限时更可靠。另一个场景是穿越狭窄的芦苇水道,提前把船头调正再推进,能显著降低船体刮蹭礁石的概率。
使用这类指令时要注意几个细节。船体引用必须准确,多艘船并存时 `c_find` 只返回最近的一艘,远处目标船需要先靠近再操作。角度值不要超出合理范围,虽然物理组件会做归一化处理,但极端数值可能引发短暂的方向抖动。指令执行后船头变化是渐进的,若紧接着施加推进力,最好等一两个物理帧再启动,否则推进方向可能仍按旧朝向计算。最后,转向舵指令只改变船头朝向,不提供动力,船的前进仍需依靠帆、桨或推进组件,两者配合才能完成完整的机动动作。