VITALIFY.ASIA logo

現実世界の地図データを活用したオープンワールドの自動生成

現実の地図(DEM)データを取り込み、Unity上に自然なオープンワールド地形を自動生成するプロシージャル技術。

現実世界の地図データを活用したオープンワールドの自動生成
目次

現在弊社で鋭意開発中のJoggleは、プレイヤーがスマホの前でその場ジョギングをすることによってキャラクターを動かすという世界初のフィットネスRPGです。

このゲームでは、現実世界の地図情報をオープンワールドの地形として活用しており、山や海など、地形の起伏はすべて現実世界の地図データが元になっています。

これはどのような技術に支えられているのでしょうか?

DEM (Digital Elevation Model)

地球の地形の起伏に関する情報は一般的にDEM(数値標高モデル)と呼ばれています。

地表面を等間隔の正方形に区切り、それぞれの正方形に中心点の標高値を持たせたデータです。

例として、富士山周辺のDEMを貼ってみました。

黒い点のように見えるのが富士山頂です。

一般的な地図には描かれていない精細な地形の起伏を確認できます。

富士山周辺のDEM画像

Joggleの地形生成には、DEMが使われています。

プレイヤーの座標情報からその周囲のDEMを取得し、瞬時にその3Dモデルを生成します。

DEMは多くの地図作製機関から有償または無償で配布されており、全世界を網羅するフリーのDEMを複数の機関から入手可能です。

有償のDEMは上記のフリーのDEMよりも高い分解能と品質を誇っていますが、非常に高価である場合がほとんどです。

ゲームで活用するには、フリーもしくは安価なDEMで十分でしょう。

ちなみに、フリーのDEMは地球だけではなく火星版も存在してます。

いつかJoggleの火星版を開発することができるかも知れません。

パーリンノイズ

ただし、現実世界の地形の起伏をゲームにそのまま使用してみると、どうしても退屈になりがちです。

関東平野のようなどこまでも平らな土地では、起伏が感じられない単調な地形が延々と続くことになります。

そこでJoggleでは、現実世界の起伏に少しノイズを与えることにより、単調さを克服しました。

このようなとき、ゲーム開発ではPerlin noise(パーリンノイズ)という技法がよく用いられます。

パーリンノイズとは、どこまでも続くランダムかつ自然なノイズを簡単な計算で得ることができるアルゴリズムです。

DEMから得られる現実の地形の起伏に、細かなパーリンノイズを混ぜることで、常に刺激に富んだ地形をプレイヤーに与えています。

Perlin Noiseの例
パーリンノイズにより細かな起伏を持たせた地形
パーリンノイズを除去した例

植物の自動生成

1/10サイズの地球を採用しているとはいえ、それだけの広さのあるオープンワールドに、何十億本もの木を一本一本植えていくことは現実的ではありません。

木や岩もまた、アルゴリズムにより自動生成されています。

このようなオブジェクトを完全なランダムで並べてしまうと、いかにも人工的な風景になります。

実際の植物の生え方は均一ではなく、植物が密集している箇所とまばらな箇所が適度に繰り返されていることが普通です。

ここでもまた、パーリンノイズを活用できます。

ノイズが白く見える辺りに植物を密集させ、ノイズが黒く見える辺りには植物を植えないようにすれば、完全なランダムよりもはるかに自然な風景になります。

もちろんそんな単純な話ではありませんが、ざっくりと言えば、そのような考え方がベースになっています。

ちなみに、世界的に有名ゲームであるマインクラフトの広大な地図もパーリンノイズにより生成されています。

ワールド内の各ブロックの標高だけではなく、「バイオーム」と呼ばれるエリアの種別、鉱石の分布、村などの特定の構造物の位置、といった情報が、すべてノイズから生み出されています。

パーリンノイズにより自然な密度で配置した植物
植物を完全にランダムに配置した例

"Joggle" - Fitness アプリのダウンロードはこちらから

Joggleは、スマホだけで楽しく運動できる、新しいジョギング体験です。あなたの走るスピードや顔の向きで、3D空間を走るキャラクターを操作し、オープンワールドメタバースの世界を冒険しましょう。運動が苦手な人にもオススメで、その場ジョギングで健康的なライフスタイルを手軽に始められます。

地図データを活用したUnity開発に参加させてください!!

Vitalify Asiaでは、Unityによる先進的な技術を使用したアプリを日々開発しています。

ゲーム開発、AR/VRアプリ開発、2Dイラスト制作、3Dモデリングを得意としています。

上記以外にも幅広い分野でのアプリケーション開発が可能ですので、お気軽にお問い合わせください。

1,000社以上の事業成長を支えた圧倒的な『スピードと柔軟性』で、御社のアイデアを最短で形にします。まずは無料で壁打ちしませんか?

ブログに戻る

関連記事

3DGSを理解する 第3回:3DGSと2DGSは何が違うのか? ―「2D」の意味を正しく理解する3D

3DGSを理解する 第3回:3DGSと2DGSは何が違うのか? ―「2D」の意味を正しく理解する

3DGSと2DGSは、どちらも3次元空間のシーンを表現するGaussian Splatting技術ですが、使うGaussianの形状と重視する点が異なります。本記事では、3次元Gaussianを使う3DGSと、平面状Gaussianで表面形状の整合性を高める2DGSの違いを整理し、2D画像を表現するGaussianImageとの違いも解説します。

Toshihiko Nagaoka
3DGSを理解する 第2回:3DGSはフォトグラメトリと何が違うのか?3D

3DGSを理解する 第2回:3DGSはフォトグラメトリと何が違うのか?

3DGSとフォトグラメトリは、どちらも複数の写真から3D空間を再構成する技術です。本記事では、SfMによるカメラ位置・姿勢推定やSparse Point Cloudまでの共通点と、その後にフォトグラメトリがMVS・Dense Point Cloud・メッシュ生成へ進み、3DGSがGaussianの初期化・最適化へ進む違いを整理して解説します。

Toshihiko Nagaoka
3DGSを理解する 第1回:3DGSは従来の3D制作と何が違うのか?3D

3DGSを理解する 第1回:3DGSは従来の3D制作と何が違うのか?

3DGSは、従来のメッシュとは異なり、大量のGaussianを空間に配置して現実の見た目を再現する3D表現技術です。本記事では、メッシュとの違い、写真から3D空間を生成する仕組み、不動産・建築・文化財・映像・XRへの活用例、そして3DGSが従来の3D制作を置き換えるのかまで、初心者向けに整理して解説します。

Toshihiko Nagaoka
ぼくはデューパー、なんでもきいてね!