はじめに

ここでは私も少し開発に参加させてもらったCities: Skylines(以下CS)向けのHeightmap GeneratorであるOnline heightmap generator for Cities: Skylinesの利用方法を解説します。Heightmap Generatorを使って実在の地形で街作りにチャレンジしましょう!

各部について

サイトを開くと以下のような表示となってます。

画面表示

地図上には出力する地形データのエリアがグリッドで表示してあり、左側には各種設定や地図スタイルの変更、各データのダウンロード等のアイコンがあります。グリッドはCSの9x9タイルを表示しており一片の長さの初期値はCSの縮尺通りの17.28kmとなってます(これは後述の設定で変更可能です) 以下は各アイコンの機能です。

各種設定

Settings
取得する標高データについての詳細設定が可能です。
Map style
地図の表示スタイルを変更できます。
Lng / Lat
指定した経緯度へ移動。現在の正確な経緯度の取得もできます。

ダウンロード

RAW
RAWファイルのダウンロード
PNG
PNGファイルのダウンロード。フォーマットは16bit Grayscale PNGとなります。
Map Style
現在設定している地図スタイルで、指定エリアの地図画像をダウンロードします。
Zip
PNGファイルと現在の経緯度情報をダウンロード
Road
道路データのOSMファイルをダウンロード。このファイルはOpenStreetMap Import等のMODで利用できます。なお、出力に少し時間がかかります。

表示

等高線
等高線表示
水域強調
水域の強調表示。川などが見辛い時に。

ズーム

ズームイン
ズームイン
ズームアウト
ズームアウト

ヘルプ・デバッグ

ヘルプ
サイトのリポジトリへのリンク
Terrain-RGB
グリッドのエリアをカバーしている標高データを「Terrain-RGB」形式でダウンロードできます。

各パネルについて

各種設定はパネルでの操作が可能です。

Settings

Settings

上部には検索ボックスと現在のエリアの中心地点の経緯度、エリア内の最低最高高度の表示があり、以下は各操作の内容です。

Map size:
取得したいエリアの大きさを設定できます。一辺の長さが17.28km(CSデフォルト)から69.12km(4倍)の範囲で設定可能です。
Base level:
CS内で標高0mにしたい地図上の標高を設定できます。例えばBase levelを100mとした場合、CS内においては標高データ100m以下の箇所がすべて0mとなるようにデータが出力されます。隣の電卓ボタンをクリックすると自動でMin. heightに合わせます。
Height scale:
高さの縮尺を設定できます。実際の高さよりも強調したい場合や、CSでの高さ制限(約1,023.98m)の中にそれ以上の標高を収めてしまいたい時等に使用します。隣の電卓ボタンは現在のエリアをCSの高さ制限一杯まで使う(つまりMax. height≒1,023.98m)になるようにスケールを計算します。
Reference height scale:
エリアの大きさをデフォルト値以外にした際、Height scaleを何%にすると高さと水平距離の比が同じになるかを表示します。地図の縮尺そのものにはこだわらず自由にエリアを設定したいが縦横の比は合わせておきたい時等に参考にします。
Water depth:
海や河川等の水域の水深を0mから40mの間で設定できます。
Waterside slope:
Water depthを0m以上にした場合は当然陸地と水域の境界に傾斜が現れますが、その傾斜の水平距離を設定します。16m(2セル分)から64m(8セル分)の間で設定できます。
Blur waterside:
CSの仕様上、地形データは16mメッシュとなりますが、1セルは8m四方であり、特にWater depthを大きい値にすると水際がギザギザになる(ジャギーが現れる)傾向にあります。そこで、このBlur watersideで水際を滑らかにし見た目を整えることができます。このようにWaterside slopeとBlur watersideで水際の調整を行うことができます。

※Water depthとWaterside slopeの数値はCSでの距離(1セル = 8m)となり、地図上のエリアの縮尺とは連動しません。

Draw streams:
地図上において一定の幅以下の河川は「Streams(小川)」の分類となってます。その小川の描画を行うかどうか設定できます。
Draw marker:
標高データの左上にマーカーを描画します。
Draw grid:
タイルの境界線を描画します。

※上の2つはほぼ出番が無いですね。以前のバージョンからの遺物です。デバッグ用途かと思います。

Map style

Map style

地図の表示方法(スタイル)を変更します。出力される標高データに変化はないですが「Download map image」で取得できる地図画像はここで設定したスタイルとなります。

Lng / Lat

Lng / Lat

入力した経緯度を中心としたエリアをセットすることができます。なお、詳細設定パネルでの経緯度の表示は省略表示となってますが、ここで正確な経緯度を表示することもできます。

標高データの出力仕様

詳細設定パネルにおける各設定値の関係は以下の図のようになります。

Cross section

特にWater depthは水域を"掘り下げる"のではなく陸地を"盛り上げて"生成されるため他の数値に影響を及ぼします。ですので、例えば実際の標高とCS内での標高を合わせたい場合はWater depthの分だけBase levelを下げておく必要があります。もちろんCSでは0m未満の表現はできませんので、そこは留意しないといけません。

おわりに

本ツールは地形データをそのままダウンロードするだけでなくゲームで使いやすいものにするために様々な機能が盛り込まれおり、さらにはCSだけでなくUnity等や他の3dソフトでも利用可能です。また、新機能を盛り込んだベータ版もあります。まだ不具合がありますが、こちらもなかなか面白そうです。