ゲーム・映像表現の可能性を広げる
多田 瑛貴 Teruki TADA 公立はこだて未来大学 システム情報科学部
地形学の数理モデルを取り入れた 汎用性の高いオープンな地形生成ソフトウェア
コンピュータによる地形生成は Minecraftをはじめ多くのゲームで実装されている
(写真) 上: MineCraft、下: OpenTTD
特殊なノイズ (パーリンノイズ) の 重ね合わせで生成されることが多い
地形生成の先行事例について それぞれの要件には即しているかもしれないが、物足りない
よりリアルかつ雄大な地形が生成されるのを見てみたい
写真: 江差町 市街地
写真: 江差町 鴎島
写真: 斜里岳
多くは、河川・氷河の侵食作用に起因
写真: 北海道新ひだか町静内の風景と その標高データ (出典:地理院地図)
河川・氷河の侵食作用を再現した地形生成のモデルは、既に存在
主に地形学の研究として研究されている
地形の形成過程の分析 数理モデルを用いたシミュレーション 例: badlands (https://pypi.org/project/badlands/) 写真は上記リンクより
パラメータが厳密であり、扱うのに専門知識が必要 実行環境も限定される (Python, MATLAB)
ゲーム等のメディア用途には向いていない
地形生成のためのソフトウェアの開発
かつ、それがオープンかつ汎用的であると嬉しい
https://fastlem.peruki.dev
fastlem - https://github.com/TadaTeruki/fastlem
プログラム言語: Rust WebAssembly対応、JSでも実行可能
ライブラリとして、Rustプログラム上で利用
河川・氷河の侵食作用のシュミレーション
メディア用途を想定し 地形の生成に必要なパラメータは2つに絞る
- Erodibility (侵食に対する影響の強さ) - IsOutlet (海かどうか)
数値計算のほとんどを自力実装 一部データ構造を除く
ドキュメントおよびサンプルコードの整備
Rust言語のプログラム上 高速かつ安全に実行可能
WebAssemblyに対応し Webブラウザ上でも動作する WebAssemblyの将来性を踏まえ、拡張性を実現
特殊なノイズ (パーリンノイズ) を 地形のパラメータに対して適用することで 複雑な地形の生成を実現できる
ノイズをうまく引き伸ばすことで 数理モデルでは扱いづらい断層やカルデラなども (擬似的ではあるが) 再現できる
Maplibre GL JSによる3D地図
https://prototype-web-map.fastlem.peruki.dev/
地形生成の目標は概ね達成
手続き的生成等に関する様々な制作物のサンドボックスに活用予定
手続き的に生成されたデータのみで素敵な世界を作ってみたい
上: 拡張L-systemに基づく交通網生成
下: マルコフ連鎖による地名生成
多田 瑛貴 Teruki TADA
ありがとうございました