j020-1-Interview

ゲームエンジンで変わる都市空間シミュレーション ~アカデミア研究開発事例~【前編】

文教大学の川合康央研究室(情報学部情報システム学科)では、ゲームエンジンを使った都市空間シミュレーションを多数制作している。ゲームエンジンは3Dを精細に表現でき、また、時系列のリアルタイムな描画もできる。こうした性質を活かし、自動運転車両のためのシミュレーターや災害時の避難経路の人流可視化など、さまざまな研究成果が生まれている。近年は、3Dの建物モデルにPLATEAUの採用をはじめたところ、地形・建物・道路などが同時に扱えるのがとても便利だという。アカデミア発の研究開発・教育でPLATEAUを活用する同研究室の川合康央教授に、PLATEAUの魅力について話を聞いた。
(前編 / 全3編)

写真:
森 裕一朗
文・編集:
大澤 文孝
編集:
北島 幹雄 (ASCII STARTUP)
Share
  • 川合 康央
    川合 康央
    文教大学 情報学部 情報システム学科 教授 学科長

歴史的建築物の再現から津波シミュレーション、ドライブシミュレーションまで、多様なシミュレーターを制作

――研究室では、どのようなものを作っていて、どのような分野で活用されているのかを教えてください。

川合

もともと私は建築系の大学院で、景観計画分野の研究をしていました。重要伝統的建造物群の保存地区や京都の祇園新橋などで、どのような空間や構成要素が日本らしさを出しているのかについて研究していました。

2002年に文教大学に来て情報分野に携わることになり、都市計画の分野でICT(Information and Communication Technology:情報通信技術)を使えないか、というのが始まりです。景観計画から始まって、防災計画や交通計画など、地方自治体の課題を解決するうち、そういった中で何かできないかということをやってきました。

――具体的に、どのようなものを作ったのでしょうか。

川合

最初に作ったのは2012年ごろで、Unityを使った景観シミュレーターです。建物は一個一個手作りで、CADソフトを使って学生に作ってもらいました。当時は地図データも手作りで、都市計画図などから無理やり起こしたものです。

もともと景観シミュレーションは、コンピューターグラフィックス(以下、CG)や模型などを使っていたのですが、Unityのようなゲームエンジンを使うことで、たとえば、外壁の色をリアルタイムで変更したり、あるいは建物の高さなども変更したりできます。 実験では、歩行者や自動車などのノイズとなる要素も実は景観として見られているとわかったので、改良して車両や歩行者なども入れてみました。ゲームエンジンなので、こうした動的な要素も再現できます。

昼間の景観から夜の景観にするなど、条件も変えられるので、これまでのCGなどを使った景観シミュレーションとは違うものを実現できました。たとえば、太陽の位置を変えるだけで朝昼晩ができますし、角度を変えれば季節も変えられます。天候を変えることもできます。

Unityとは

PCやスマホのゲームを作るときに使う、基本となるゲームエンジンのソフトウェア。3Dでキャラクターや背景などを表示し、ユーザーの操作でリアルタイムに動かせる。

画像提供:川合 康央 氏

川合

そうして、茅ケ崎市や藤沢市などの地元の自治体と共同研究として仕事をしていくなかで、過去の景観が作れないかという話になりました。

地元の宿場町を作ろうということになりまして、古地図と浮世絵と明治期の写真などを組み合わせて作っていきました。古地図なので、地理情報は正確ではありませんが、こちらもいろいろと合わせ、全部手作りでモデルを起こしていきました。

制作に当たっては、鎌倉時代からあるような近くのお寺に所蔵されている昔の資料を見せてもらったり、宿場町研究をされている市民の方から、「橋の形が違う」「木の形が違う」といったフィードバックをいただいたりしました。それらをもとに最終アップデートできるのは、デジタルならではです。ジオラマや模型だと、こうはできません。

画像提供:川合 康央 氏

川合

こうした経験を経て、2017年に津波避難シミュレーションを作りました。東日本大震災の前と後では、自治体のハザードマップが急に変わって、たとえば、もっと内陸まで津波が来るような想定になった場所もあります。こうした変化で市民の皆さんが困惑していたので、そのあたりも踏まえて作っていきました。

このプロジェクトでは、国土交通省の基盤地図情報を使っています。基盤地図情報ダウンロードサービスから「地形」「道路」「建物」という3つのレイヤーを拾ってきて、これをQGISのプラグインで三次元しました。

地面や道路に関しては三次元化できましたが、建物に関しては、建物の高さの情報が入っていないので、「商業施設なら4階建て」「居住低層なら2階建てまで」といったように建物モデルを無理やり起こして、空中写真と組み合わせてUnityに入れました。

基盤地図情報

国土地理院が提供する電子地図における位置の基準となる情報であり、道路縁や建築物の外周線などの地理空間情報の共通基盤として利用される。PLATEAUが提供する3D都市モデルも基盤地図情報の二次元データを基に作られている。

QGIS

オープンソースのGISソフトウェア。

画像提供:川合 康央 氏

川合

この津波避難シミョレーションの対象地域は、観光客が多い鎌倉と逗子でした。シミュレーションでは、住民は避難場所を知っているけれども、観光客はあまり知らないということも踏まえ、在住者・来街者という2種類のエージェント(人を模したオブジェクト)を作り、また、若者と老人とで移動速度が違うということも考慮に入れ、なるべく現実の避難行動に近くなるよう可視化しました。

実際にエージェントを動かすと、海岸線に避難ビルはあるのに、15分ぐらい経過するとエージェントが皆、内陸に逃げてしまうので、その移動の際に津波が来ると危ないというような課題が見えてきました。

画像提供:川合 康央 氏

ビジュアライゼーションにPLATEAUのモデルを使うと、面白い

――このころは、まだPLATEAUの3D都市モデルではないのですね。

川合

はい。PLATEAUを使い始めたのは、ドライブシミュレーターからです。 この津波避難シミュレーションを見た自動車メーカーの方から、自動運転や電気自動車の開発のために実際に車を走らせると、ものすごくコストがかかるので、PCの中でシミュレーションできないかと2019年に相談をいただきました。

今までのコンピューターのなかの地図情報は、どちらの方向に曲がるかとか、どういう道路の形かという平面的なものが主な対象でした。こうした情報に対して、上りや下りの勾配などを反映させれば、電気自動車の制御などにも使えるのではないかということも含めて始めた研究です。

こちらは、国土地理院の基盤地図情報をQGISのプラグインで三次元化し、Blenderに入れて、Unreal Engineで扱う構成です。

高低差を持つ道路シミュレーターを作ったわけですが、実際に走らせてみると、機械にとってはこれでいいのかもしれないが、人間が見ると建物に全然リアリティーがない。人間が使えるドライブシミュレーターとして、もう少しなんとかできないかということで、ここからPLATEAUを使っていくことになります。

画像提供:川合 康央 氏

川合

最初に、渋谷のLOD2のデータを使って建物を配置しました。これまでと同じように、地理院地図などのデータを組み合わせて、道路環境を再現しました。警視庁には、事故データがデータベース化されていたので、それを使って、実際に起きた事故に近い環境も作ってみました。

箱を置いているだけではなくて、やはり実在するテクスチャーを持った建物が、中景・遠景にあると、視覚的情報量が多くなり、実際のドライブをしている感覚に近づけたのではないかと思います。

Unreal Engine

Unityと同じく、PCやスマホのゲームを作るときに使う、基本となるゲームエンジンのソフトウェア。

Blender

オープンソースの3Dグラフィックソフト。3Dモデルを作るほか、アニメーションで動かすこともできる。

地理院地図

地形図、写真、標高、地形分類、災害情報など、国土地理院が捕らえた日本の国土の様子を発信するウェブ地図のこと。

川合

こうした研究を踏まえて、いまは、自転車レーンをどのようなデザインにするのかという研究をしています。こちらは人間が運転するパターンなのですが、運転するときにはやはり建物の背景がないと、感覚がつかめません。そこで実際の都市ではない仮想都市ではありますが、そこにPLATEAUのモデルを配置して、現実感を出しました。

またPLATEAUを使ったシステムとしては、定点カメラを用いた人流ビジュアライゼーションシステムもあります。

2021年になりますが、コロナ禍において人流抑制をしていこうという話がありました。このとき人流計測に使われていたのは、KDDIやソフトバンク、ドコモなどの特定の通信キャリアのデータですが、いくつかの課題がありました。ひとつはキャリアごとにユーザー層が少し違うこと。もうひとつは、位置情報を取得されることにユーザーが不安を感じることです。

こうした課題を解決するため、オープンデータを使って簡単にできないかということで考案したのが、ライブカメラを使った人流データの計測です。

渋谷などにはYouTubeに公開されているライブカメラがいくつもありますから、こうしたものを使って、OpenCVライブラリで人数を計測します。そのデータをFirebaseに入れてUnityで可視化します。 ここのビジュアライゼーションにPLATEAUのモデルを使うと、面白いんじゃないかということでやりました。

OpenCV

オープンソースの画像分析ライブラリ。さまざまな分析機能があるが、そのうちのひとつとして、画像から人物と思わしき領域を切り出す機能がある。

Firebase

Google社が提供するバックエンド(サーバー側のプログラム一式)を提供するサービス。データベース機能があり、データを蓄積したり、取り出したりする機能が簡単に作れる。

画像提供:川合 康央 氏

川合

たとえば、去年のハロウィンの時期や年末年始のイベントでは、渋谷にたくさんの人が集まっていました。ただハロウィンのときは、仮装している人たちはOpenCVでは、まったく測定できないことがわかりました。当時は、OpenCVを使っていましたが、いまはYOLOもありますし、人流データをもう少し大規模に測定して可視化できないかなと考えています。YOLOなら、自転車のデータも取れます。

YOLO(You Only Look Once)

機械学習を用いた物体検出のライブラリ。画像中に、どのような物体が映っているのかを、その領域とともに高速に検出できる。

ゲームエンジンならリアルだし、シミュレートもしやすい

――研究においてゲームエンジンを使うメリットを教えてください。

川合

ひとつめは、視点の自由な移動、立ち止まってみるなど、さまざまなインタラクションができることです。これまでのCGやCADによるシミュレーションでは、あらかじめレンダリングしたものを映像で見せていくしかありませんでした。

もうひとつは、自分が動くだけでなく、エージェントに勝手に動いてもらえることです。上述した津波のシミュレーションがそうですが、これにはUnityのナビメッシュという機能を使っています。条件をランダムにすると不規則な動きをするので、そのあたりが、とても面白い。

レンダリングの設定も、凝れば凝るだけ非常にきれいな絵が作れるので、そのあたりもすごく可能性というか、面白さを感じます。

レンダリング

3Dモデルをカメラの視点や配置した光源の位置などに基づいて、色の反射などを計算しながら、実際に見える画像として作っていく処理のこと。

ナビメッシュ

面に対して動ける範囲を設定する機能。詳細は中編で説明する。

――逆に、デメリットや弱いところはありますか。

川合

重たいところでしょうか。最近の学生は、みんなノートパソコンを持つんです。昔はデスクトップでゲーミングPCというのが主流でしたが、最近はもうスマートに、スターバックスでMacBookみたいな感じになってきているのですが、「外だとUnity動かないぞ」みたいな感じで。ある程度マシンパワーが求められるのは難しいところかもしれません。

――こうしたシミュレーションは、どの程度のスペックで動くのでしょうか。

川合

普段使っているのが、Corei7のPCです。メモリーは32GB。グラフィックボードはRTX2080という少し前の型ではありますが、それぐらいのノートパソコンであれば、一応、動かせます。メモリーとグラフィックボードは、もちろん高性能なほうがよいです。

PLATEAUを扱ううえで大変なのは、データがとても大きいので、その大きいデータを利用するための保存領域がすぐになくなってしまうことです。よく学生が動かない、開かないと言っている原因の多くが、ディスクストレージがいっぱいになっているケースです。「要らないデータを削除しないと動かない。Cドライブの残り容量を見てごらん」と指導すると、解決することが多いです。

大学では、仮想サーバーのようなところに課題や研究で使っているデータをアップしているのですが、うちの研究室で使っているデータが大きすぎるため、もう少し整理して、使わないデータ消すようにしばしば学内で注意されます。メモリーやグラフィックボードだけでなく、ストレージの領域を考えておかないといけません。

――描画だけでなく、シミュレーションの部分も、通常のPCで計算するのでしょうか。

川合

そうです。たとえば津波避難シミュレーションだと、50回とか100回とか同じ条件で回して平均を取るのですが、そういった場合は、パソコン教室を借り切って、60台で一気に計算することもあります。

教卓から遠隔コントロールもできるようにしてあるので、一気に動かして、CSVデータで吐き出せます。もう少し凝れば、パソコン同士を並列につなげて、スパコンのように使うこともできるみたいですが、そこまではやっていません。

PLATEAUは地形・建物・道路を全部扱える、簡単で信頼できるデータセット

――先ほど、PLATEAUをビルなどのリアルなところで使っているとお聞きしましたが、具体的に、どの部分か教えてください。

川合

今進めているプロジェクトですと、建物モデルのところです。

最初のころは、国土地理院の基盤地図情報やOpenStreetMapなどを組み合わせたり、テクスチャーデータとして、Googleのストリートビューをスクリーンショットしたものを加工したり、いろいろやっていました。

いまではPLATEAUで全部、地形も建物も道路も同時に扱えるので、とても便利です。地理院地図を使っていた時代から考えると、その同じメッシュで、同じ座標系でポンと作れるというのは画期的です。 これまでいろいろなデータを組み合わせてきましたが、やはり精度の面からピッタリ合わないんですよ。それで、無理やり端っこの4点を合わせていくのですが、どうもうまくいかない。建物が宙に浮いたり道路が地面に沈んだりと難しかったのですが、比較的きれいにいくのがPLATEAUです。

もちろん細かい部分は、多分計測時のデータが違うのだろうと思うので、地形データが少し凸凹することがありますが、これまでやってきたものに比べると格段に扱いやすいです。

OpenStreetMap

皆でオープンデータの地理情報を作るプロジェクト。オープンソースのベースマップが提供されていて、地図として利用するだけでなく、地図上のどこに何があるのかをユーザーが登録して、皆で共有できる。

メッシュ

正式には「地域メッシュ」と呼ばれるもので、国土を緯度・経度により方形の小地域区画に細分したもの。総務省が定めたもので、国勢調査をはじめとする、さまざまな統計の区切りとして使われている。PLATEAUでは、提供される地図が、約10km四方の「2次メッシュ」や約1km四方の「3次メッシュ」のデータを中心に提供されている。

座標系

地図上の位置を示すときの座標の扱い方のこと。地球を球体として扱うのか、一部の平面として扱うのか、原点をどこにするのかなど、いくつかのやり方があり、違う座標系同士のものを重ねようとしても、ピッタリ合わない。

関連記事

4点を合わせる手法の難しさについては、中編を参照

――以前はどのように3Dデータを入手していましたか。

川合

最初は手づくりです。1年かけて、「毎週1棟は作るように」というように、学生にひたすら作らせていました。昔はForm・ZというCADのソフトを使っていましたが、最近はBlenderに移ってきて、さらに、Houdiniというソフトを使ってプロシージャルモデリングで作る学生もいます。たとえば、道路の自転車レーンなどは、一個一個テクスチャーを置いていくと巨大なマップになって大変なので、1か所だけ作って、これを100回繰り返すといった処理を指定する作り方です。建物を配置するときも、建物モデルをいくつか登録しておいて、ランダムに100個並べるといった、そういうモデルを好む学生が増えています。

3Dデータは買うとなると非常に高価です。だから都市を作ろうとなると、手作りではもう限界があります。OpenStreetMapには、一部に3Dデータがあるのですが、著名な場所以外は整備されていませんし、データとして、いい加減なところもあり、信頼できるデータセットがなく、難しい状況でした。 そうしたなか、PLATEAUの3D都市モデルの登場で、急にいろいろとできることが増えたのは画期的なことです。

Houdini

数式と処理を組み合わせてモデリングする3Dソフトウェア。プログラムによって3Dモデルを生成できるため、同じ形状や、それを少しだけ変えたものを繰り返したものなどが作りやすい。