跳转到内容

Rust 自定义地图湖泊:在 .map 里做出真正的湖

快速回答: 塑造把一片水域和大海隔开的陆地,然后在 Worldgen 面板(9)里点生成完整地图。每一块足够大的封闭水域都会变成真正的 Rust 湖泊,带自己的水面、Lake 和 Lakeside 拓扑,以及岸线。用所有图层导出 .map,湖泊在 RustEdit 和游戏里就是真正的湖。

Rust 自定义地图上的湖,不只是装了水的低地。Rust 把海画成横跨整个世界的一张平面,所以只是「低于海平面」的盆地,渲染出来是灌满海水的坑,而不是湖。要得到真正的湖,需要它自己的水体、正确的岸线图层,以及高出海面的水面。

你生成世界时,Crucible 会替你把这些全做好。

Drizzza 的视频把湖泊和 Worldgen 面板里的生物群系、拓扑放在一起讲:

你的地形和大海隔开的任何水域都会成为湖,只要它大到值得做成湖。被陆地围起来的潟湖也算。

有三种情况会特意保持为海洋:

  • 水坑。 很小的封闭水洼不是湖,也不会被当成湖。
  • 靠近海岸的水。 在游戏里,离海太近的湖,海水会直接透出来,所以紧挨海岸的水依然算海的一部分,它向大海敞开,而不是一个封闭的水池。应用和导出的 .map 对哪块是哪块的判断是一致的。
  • 一些小盆地。 偶尔会有小盆地在同一个位置仍然作为海水输出,而不是湖。这些地方通常本来就离海滩很近。

生成会把每个湖变成一个完整的东西,而不只是一个形状:

  • 一个真正的 Rust 水体,贴合湖的形状,水面只覆盖水而没有别的。这就是它在游戏里渲染成湖,而不是地形里一个缺口的原因。
  • 它自己的水面高度,高出海面,所以水在游戏里看起来干净。
  • Lake 和 Lakeside 拓扑,让 Rust 正确对待水和湖岸。这些图层在游戏里会生成什么,见 Rust 生物群系与拓扑。
  • 湖床,是石头和砾石,而不是海滩的沙。
  • 跟随真实水边的岸线,包括沙环和它周围的森林。

这一切都会写进你的 .map 文件,所以 RustEdit 打开的是一个完整的湖。

湖的边缘是生成出来的,不是描出来的。湖会长出自己的森林边缘,呈手指状带缺口,而不是水边画的一圈环,所以读起来像一片刚好延伸到岸边的林地。

有些大湖会有悬崖湖岸,有些没有。 这是故意的:同一张地图上你会得到一种混合,一个像火山口、周围一圈岩石的湖,旁边是一个平缓湖岸的湖。

湖确实有悬崖湖岸的地方,会由地图其余部分运行的同一套悬崖生成沿着它放置真实的 Rust 悬崖和岩石模型。

游戏内视图里的 Rust 自定义地图上的一个湖,岸线上有真实的 Rust 悬崖面,对岸有雪

生成湖泊在 Worldgen 面板里,位于生成悬崖下面,默认开启。

关掉后,每个湖都会还给海洋。Lake 和 Lakeside 图层变成 Ocean 和 Oceanside,不再放置水体,所以低于海平面的盆地会像其他海湾一样灌满海水。高于海平面的湖则会干涸,因为 Rust 的海平面够不到它。其他一切不变:地形、湖床、岸线和森林边缘仍然会生成,重新打开后湖会完全恢复原样。

导出自己做决定,所以这个开关只改变你预览的内容。所有图层、无悬崖和湖泊会输出湖泊。悬崖和熔岩把它们还给海洋,而只含生物群系和贴图的 Splat 版本完全不带水体。见导出 Rust .map 文件。

大到能容纳岛的湖可以长出自己的岛,大湖还可以有好几座,有时连成一串,有时各自分开。

重点是:这些是真正的岛,和地图上其他地方的岛是同一种。它们是正规的图元,你可以用岛屿控件选中、移动、缩放和重塑,而不是水里装饰性的凸起。

不属于这些岛、被困在湖里的零散陆地会被淹掉,所以水里不会有随机的零碎地形漂着。

  • 如果你预期是湖的水域变成了海,检查它是否真的封闭,以及它离海岸有多近。
  • 用盐值重新随机,可以改变湖周围长的东西,而不动你喜欢的陆地。
  • 湖中的岛就是普通的岛。想塑造湖中央的东西,就像编辑其他岛一样选中它来编辑。
  • 还想要河或瀑布?那些是在 RustEdit 里放置的,见自定义地图建图顺序。