コンテンツにスキップ

Rust ハイトマップとは?16ビットのグレースケール

結論: Rust のハイトマップは正方形のグレースケール画像で、各ピクセルの明るさがその場所の地面の高さです。黒がワールドの底、中間のグレーが海面、白が地面の最高点です。RustEdit がそれを、プレイヤーが歩く 3D の地形に変換します。

A Rust heightmap seen from above in shades of grey: Drizzza's free volcanic map before it becomes terrainThe same volcanic Rust map raised into 3D terrain, with grass, desert, snow, beaches and sea
Crucible Volcanic 3800、Crucible Heightmap で作った Drizzza の無料マップです。再生ボタンを押すか、スライダーをドラッグすると、ハイトマップが持ち上がって完成したマップになります。マップをドラッグすると回転します。形が見やすいように、ここでは灰色を明るくしています。

Rust の地面は 1000 メートルの高さにわたっていて、海面はちょうど真ん中にあります。ハイトマップは、その範囲に灰色を均等に割り当てています。

灰色ゲーム内の高さ
黒海面の 500 m 下、ワールドの底
中間のグレー海面
白海面の 500 m 上、Rust が許す最も高い地面

つまり、海底は暗く、ビーチは中間のグレーのすぐ上、山頂は最も明るいピクセルになります。実際の島は範囲の一部しか使わないので、マップ全体のハイトマップは、まわりの海が少し暗い、やわらかい灰色に見えます。

カスタム Rust マップ Crucible Volcanic 3800 の本物の 16 ビットグレースケールのハイトマップ。やわらかい灰色で、海は陸より少し暗い

Crucible Heightmap の 2D ビューは、形が読み取りやすいように灰色を引き伸ばしていて、高い場所が明るく、海が暗く見えます。書き出されるハイトマップは、本来の灰色のままです。

Crucible Heightmap の島の 2D ハイトマップビュー。高い場所が明るく、海が暗く見えるように灰色を引き伸ばしている

Rust のハイトマップは 16 ビットのグレースケールで、灰色が 65,536 段階あります。1000 メートルにわたって割り当てると、灰色 1 段階あたり約 1.5 cm の高さになるので、斜面はなめらかに出ます。

ふつうの写真のような 8 ビットの画像だと、灰色は 256 段階しかありません。すると 1 段階が約 4 メートルの高さになり、斜面はゲーム内で目に見える段々になります。ふつうの画像エディターで描いて 8 ビットで保存したハイトマップが段差だらけに見えるのはそのためで、Crucible Heightmap が常に 16 ビットで書き出す理由でもあります。

ハイトマップは正方形のグリッドで、サイズはマップサイズに従い、一辺が 513、1025、2049、4097 ピクセルのどれかです。1 ピクセルは地面の 1〜2 メートル分にあたります。正確な段階は Rust ハイトマップ解像度に、どのマップサイズにするかは Rust マップサイズにあります。

ハイトマップに入っていないもの

Section titled “ハイトマップに入っていないもの”

ハイトマップは高さだけで、ほかには何も入っていません。Rust マップのそのほかのものは、.map ファイルの中のそれぞれ別のレイヤーにあります。

  • 地面のテクスチャ: 草、土、砂、岩、雪、森の地面
  • バイオーム: temperate、arid、tundra、arctic、jungle
  • 木、鉱石、ルート、プレイヤーのスポーンの位置を Rust に伝えるトポロジーのレイヤー(Rust のバイオームとトポロジーを見てください)
  • 水、モニュメント、道路、プレハブ

そのため、.raw や .png のハイトマップで持ち込めるのは地形だけです。Crucible Heightmap のメインの書き出しが、高さと一緒に地面のテクスチャ、バイオーム、トポロジー、湖、崖も運ぶ、マップ丸ごとの Rust .map ファイルなのは、そういうわけです。

RustEdit でのハイトマップの使われ方

Section titled “RustEdit でのハイトマップの使われ方”

RustEdit で .map を開くと、そのハイトマップが地形として読み込まれ、ほかのすべてのレイヤーがその上に乗ります。

ハイトマップだけから始めるなら、RustEdit の Create New Map ダイアログを開き、マップサイズとそれに合うハイトマップ解像度を設定して、16 ビットの .raw ファイルを選びます。RustEdit がそれを持ち上げて地形にするので、そこからモニュメント、道路、そのほかを加えていきます。手順は Rust カスタムマップの作り方にあります。

RustEdit の Create New Map ダイアログ。Heightmap の欄と、ハイトマップを Rust マップに適用するインポートの流れが表示されている

自然に見える 16 ビットのハイトマップを手描きするのは大変な作業です。Crucible Heightmap は Rust マップ生成ツールで、Rust らしい地形を作り、スライダーとブラシで形を整えられ、すぐ開ける .map、.raw、.png として書き出せます。