7.3 KiB
7.3 KiB
修正版メモ
目的
日本風地図ジェネレータを、将来のシームレス・パン生成に寄せるため、中央の1県だけに注目する描画を弱め、全域を同格の地図として読める方向へ変更した。 あわせて、論理解像度を上げ、地形生成では日本列島風の複数並行脊梁山脈と大規模な沖積低地が出やすくなるよう調整した。
変更点
1. 中央県フォーカスの解除
renderer.jsblendOutside()による県外減光を停止。- 通常表示では
prefectureBorderではなくregionalPrefectureBordersを主境界として描画。 - 中央県境の強調表示は
admin-debug/borders-debugのみに限定。 - 隣接県ディテールの
globalAlphaを0.78から1.0へ変更。 - 隣接県ラベル表示数を増加。
- 県名ラベルを
modern/roads/development/landuseでも表示。
2. 論理解像度の向上
-
mapUtils.jsMAP_W: 172 -> 258MAP_H: 122 -> 183CELL_SIZE: 6 -> 4- 表示キャンバスサイズは概ね維持しつつ、地形・河川・境界の格子感を減らす構成。
-
mapOutput.jsscaleKmPerCell: 172 / MAP_Wを追加し、スケールバーの見た目を旧スケールに近づけた。
3. 複数並行脊梁山脈
mapTerrain.jsspineCountを従来の1〜2本から2〜4本に変更。spineSpacingを追加。- 脊梁山脈の向きを海岸・列島軸に沿う方向へ寄せた。
- 本数増加に合わせて、1本ごとの幅・強度をやや抑制。
buildSpineRidges()を中心線からの並行オフセット配置に変更。
4. 大規模沖積平野
mapTerrain.js- 強い河川の下流部を抽出し、下流〜河口周辺に広めの堆積低地を追加。
depositionalLowland,deltaField,floodplain,valleyField,basinFieldを連動更新。- 標高面も局所的に低く・滑らかに補正し、単なる色塗りではなく地形として平野化しやすくした。
注意点
- 論理解像度を約2.25倍にしたため、生成時間は旧版より伸びる。
prefectureMask自体は統計・行政デバッグ用に残している。通常描画で目立たせない方針にした。- まだ完全なシームレス・パン生成ではない。今回の変更は、その前段階として「中央県主役の見た目」を解除し、地形解像度と地形構造を整えたもの。
簡易確認
Node.js で generateMap() が実行できることを確認済み。
node --input-type=module -e "import('./mapPipeline.js').then(({generateMap})=>console.log(generateMap(114514,{slim:true}).width))"
2026-05-22 地形生成パイプライン再構成
ユーザー指摘に基づき、地形生成の考え方を「既存ノイズ地形に山脈を足す」方式から、以下の段階式に寄せた。
- 全体を海面下の地形として初期化
- 複数の平行な脊梁山脈で地殻を隆起
- 海面付近にランダムな平坦面を残し、氷期の海面低下・再海進後の段丘/沖積低地の種にする
- 大域・中域・微細ノイズを後段で加算
- 河川作用を粗くシミュレートし、急峻な高流量セルでは侵食、低勾配の海岸・盆地・低地では堆積を強化
- その後、人文地理生成へ渡す
主な実装修正:
mapTerrain.js- 脊梁山脈の生成を、狭い稜線 + 広い隆起帯の二層構造に変更。
- 中央部が一枚の高原に見えないよう、山脈間の低地・盆地を明示的に残すよう修正。
- 海岸線生成を、旧来の方向性
coastPressure判定中心から、標高が海面を超えるかどうかを主とする方式へ変更。 - 海面付近に
glacialFlatLevelを導入し、ランダムな平坦面を形成。 - 河川網生成前に、流量・勾配に基づく粗い侵食/堆積パスを追加。
- 河川経路の後処理で河川が短く切れすぎる問題を緩和し、主要河川が海へ接続しやすいよう修正。
確認:
generateMap(114514, { slim: true })の実行を確認。terrainDebug.riverConnectivityRateが1になることを確認。depositionLowlandAreaが前版より広くなり、沖積低地が出やすくなった。
2026-05-22: 不連続・非中央固定の山脈生成に修正
問題
- 脊梁山脈が画面中央を通る連続した帯になりやすかった。
- 広い隆起帯が強すぎ、山頂部が平坦な高原に見えた。
- 主脊梁以外の補助山地・補助山脈が弱く、地形構造が単調だった。
修正
- 主脊梁山脈を 2〜3 系統にし、互いの間隔を広げた。
spinePositionと各山脈の横方向オフセットを強め、中央固定を緩和した。- 山脈を一本の連続線ではなく、沿線方向のノイズと波で途切れる構造にした。
- 主脊梁の broad uplift を弱め、尾根本体を細くした。
- 尾根の蛇行量・曲率・幅変化を強めた。
- 渥美半島・北上高地的な補助山地/補助山脈として
auxRangesを追加した。 - 円形山塊の数を増やし、主脊梁周辺に副次的な高地が出やすいようにした。
意図
地図上で「太い中央帯」ではなく、
- 離れた複数の山地帯
- 断続的な主稜線
- 周辺の補助山地
- 山地間の低地・海岸低地
として読めるようにする。
追加修正: 地形帯の形状を現実の山地分布に寄せる
前回版では、山脈が周期的な波線として見え、画面中央付近に太い帯状山地が出やすかった。これは、脊梁山脈の中心線を正弦波的に揺らし、細い arcSpineField を描画色に強く反映していたため。
今回の修正では以下を行った。
- 脊梁山脈の正弦波的な中心線揺れを廃止。
- 山脈の途切れは周期波ではなく、低周波ノイズによる山塊の強弱として表現。
- 主山脈は中央固定ではなく、島の横断方向に広くオフセットするよう変更。
- 中国山地・四国山地のように、2本の山地帯が大きく離れるケースを増加。
- 主山脈の長さを短めにし、画面端から端まで連続する一本線になりにくくした。
- 渥美半島・北上高地のような補助山地を、主山脈周辺の短い山塊・外帯山地として追加。
- 山頂が平らな高原に見える原因だった広域隆起成分を弱め、山地内部に侵食状の起伏を追加。
- 描画側では
arcSpineFieldの直接発色を弱め、標高・広域山地性・陰影で山地を読ませる方式に変更。 - 山地色をやや濃くし、低い緑地との明度差を広げた。
追加修正: alpine_bands
- 前版で高山帯がほぼ出なくなった問題を修正。
- 脊梁山脈・補助山地の隆起量を再調整し、浸食後にも高標高セルが残るようにした。
- 河川作用による侵食量をやや抑え、峰・稜線部分だけに「高山帯再強化」パスを追加。
- 高山帯が平らな台地にならないよう、標高の持ち上げには局所ノイズを混ぜている。
- 地形色パレットを調整し、標高と ridge field が高い地点はより茶色く表示される。