ゲームエンジンで変わる都市空間シミュレーション
~アカデミア研究開発事例~【前編】
1 2
この記事は、国土交通省が進める「まちづくりのデジタルトランスフォーメーション」についてのウェブサイト「Project PLATEAU by MLIT」に掲載されている記事の転載です。
文教大学の川合康央研究室(情報学部情報システム学科)では、ゲームエンジンを使った都市空間シミュレーションを多数制作している。ゲームエンジンは3Dを精細に表現でき、また、時系列のリアルタイムな描画もできる。こうした性質を活かし、自動運転車両のためのシミュレーターや災害時の避難経路の人流可視化など、さまざまな研究成果が生まれている。近年は、3Dの建物モデルにPLATEAUの採用をはじめたところ、地形・建物・道路などが同時に扱えるのがとても便利だという。アカデミア発の研究開発・教育でPLATEAUを活用する同研究室の川合康央教授に、PLATEAUの魅力について話を聞いた。
歴史的建築物の再現から津波シミュレーション、ドライブシミュレーションまで、多様なシミュレーターを制作
――研究室では、どのようなものを作っていて、どのような分野で活用されているのかを教えてください。
川合:もともと私は建築系の大学院で、景観計画分野の研究をしていました。重要伝統的建造物群の保存地区や京都の祇園新橋などで、どのような空間や構成要素が日本らしさを出しているのかについて研究していました。
2002年に文教大学に来て情報分野に携わることになり、都市計画の分野でICT(Information and Communication Technology:情報通信技術)を使えないか、というのが始まりです。景観計画から始まって、防災計画や交通計画など、地方自治体の課題を解決するうち、そういった中で何かできないかということをやってきました。
――具体的に、どのようなものを作ったのでしょうか。
川合:最初に作ったのは2012年ごろで、Unityを使った景観シミュレーターです。建物は一個一個手作りで、CADソフトを使って学生に作ってもらいました。当時は地図データも手作りで、都市計画図などから無理やり起こしたものです。
もともと景観シミュレーションは、コンピューターグラフィックス(以下、CG)や模型などを使っていたのですが、Unityのようなゲームエンジンを使うことで、たとえば、外壁の色をリアルタイムで変更したり、あるいは建物の高さなども変更したりできます。
実験では、歩行者や自動車などのノイズとなる要素も実は景観として見られているとわかったので、改良して車両や歩行者なども入れてみました。ゲームエンジンなので、こうした動的な要素も再現できます。
昼間の景観から夜の景観にするなど、条件も変えられるので、これまでのCGなどを使った景観シミュレーションとは違うものを実現できました。たとえば、太陽の位置を変えるだけで朝昼晩ができますし、角度を変えれば季節も変えられます。天候を変えることもできます。
[補足] Unityは、PCやスマホのゲームを作るときに使う、基本となるゲームエンジンのソフトウェア。3Dでキャラクターや背景などを表示し、ユーザーの操作でリアルタイムに動かせる。
そうして、茅ケ崎市や藤沢市などの地元の自治体と共同研究として仕事をしていくなかで、過去の景観が作れないかという話になりました。
地元の宿場町を作ろうということになりまして、古地図と浮世絵と明治期の写真などを組み合わせて作っていきました。古地図なので、地理情報は正確ではありませんが、こちらもいろいろと合わせ、全部手作りでモデルを起こしていきました。
制作に当たっては、鎌倉時代からあるような近くのお寺に所蔵されている昔の資料を見せてもらったり、宿場町研究をされている市民の方から、「橋の形が違う」「木の形が違う」といったフィードバックをいただいたりしました。それらをもとに最終アップデートできるのは、デジタルならではです。ジオラマや模型だと、こうはできません。
こうした経験を経て、2017年に津波避難シミュレーションを作りました。東日本大震災の前と後では、自治体のハザードマップが急に変わって、たとえば、もっと内陸まで津波が来るような想定になった場所もあります。こうした変化で市民の皆さんが困惑していたので、そのあたりも踏まえて作っていきました。
このプロジェクトでは、国土交通省の基盤地図情報を使っています。基盤地図情報ダウンロードサービス(https://fgd.gsi.go.jp/download/menu.php)から「地形」「道路」「建物」という3つのレイヤーを拾ってきて、これをQGISのプラグインで三次元化しました。
地面や道路に関しては三次元化できましたが、建物に関しては、建物の高さの情報が入っていないので、「商業施設なら4階建て」「居住低層なら2階建てまで」といったように建物モデルを無理やり起こして、空中写真と組み合わせてUnityに入れました。
[補足] 基盤地図情報とは、国土地理院が提供する電子地図における位置の基準となる情報であり、道路縁や建築物の外周線などの地理空間情報の共通基盤として利用される。PLATEAUが提供する3D都市モデルも基盤地図情報の二次元データを基に作られている。
[補足] QGISは、オープンソースのGISソフトウェア(https://www.qgis.org/)。
この津波避難シミョレーションの対象地域は、観光客が多い鎌倉と逗子でした。シミュレーションでは、住民は避難場所を知っているけれども、観光客はあまり知らないということも踏まえ、在住者・来街者という2種類のエージェント(人を模したオブジェクト)を作り、また、若者と老人とで移動速度が違うということも考慮に入れ、なるべく現実の避難行動に近くなるよう可視化しました。
実際にエージェントを動かすと、海岸線に避難ビルはあるのに、15分ぐらい経過するとエージェントが皆、内陸に逃げてしまうので、その移動の際に津波が来ると危ないというような課題が見えてきました。
ビジュアライゼーションにPLATEAUのモデルを使うと、面白い
――このころは、まだPLATEAUの3D都市モデルではないのですね。
川合:はい。PLATEAUを使い始めたのは、ドライブシミュレーターからです。
この津波避難シミュレーションを見た自動車メーカーの方から、自動運転や電気自動車の開発のために実際に車を走らせると、ものすごくコストがかかるので、PCの中でシミュレーションできないかと2019年に相談をいただきました。
今までのコンピューターのなかの地図情報は、どちらの方向に曲がるかとか、どういう道路の形かという平面的なものが主な対象でした。こうした情報に対して、上りや下りの勾配などを反映させれば、電気自動車の制御などにも使えるのではないかということも含めて始めた研究です。
こちらは、国土地理院の基盤地図情報をQGISのプラグインで三次元化し、Blenderに入れて、Unreal Engineで扱う構成です。
高低差を持つ道路シミュレーターを作ったわけですが、実際に走らせてみると、機械にとってはこれでいいのかもしれないが、人間が見ると建物に全然リアリティーがない。人間が使えるドライブシミュレーターとして、もう少しなんとかできないかということで、ここからPLATEAUを使っていくことになります。
最初に、渋谷のLOD2のデータを使って建物を配置しました。これまでと同じように、地理院地図などのデータを組み合わせて、道路環境を再現しました。警視庁には、事故データがデータベース化されていたので、それを使って、実際に起きた事故に近い環境も作ってみました。
箱を置いているだけではなくて、やはり実在するテクスチャーを持った建物が、中景・遠景にあると、視覚的情報量が多くなり、実際のドライブをしている感覚に近づけたのではないかと思います。
[補足] Unreal Engineは、Unityと同じく、PCやスマホのゲームを作るときに使う、基本となるゲームエンジンのソフトウェア。
[補足] Blenderは、オープンソースの3Dグラフィックソフト。3Dモデルを作るほか、アニメーションで動かすこともできる。
[補足] 地理院地図とは、地形図、写真、標高、地形分類、災害情報など、国土地理院が捕らえた日本の国土の様子を発信するウェブ地図のこと(https://maps.gsi.go.jp/help/intro/index.html)
こうした研究を踏まえて、いまは、自転車レーンをどのようなデザインにするのかという研究をしています。こちらは人間が運転するパターンなのですが、運転するときにはやはり建物の背景がないと、感覚がつかめません。そこで実際の都市ではない仮想都市ではありますが、そこにPLATEAUのモデルを配置して、現実感を出しました。
またPLATEAUを使ったシステムとしては、定点カメラを用いた人流ビジュアライゼーションシステムもあります。
2021年になりますが、コロナ禍において人流抑制をしていこうという話がありました。このとき人流計測に使われていたのは、KDDIやソフトバンク、ドコモなどの特定の通信キャリアのデータですが、いくつかの課題がありました。ひとつはキャリアごとにユーザー層が少し違うこと。もうひとつは、位置情報を取得されることにユーザーが不安を感じることです。
こうした課題を解決するため、オープンデータを使って簡単にできないかということで考案したのが、ライブカメラを使った人流データの計測です。
渋谷などにはYouTubeに公開されているライブカメラがいくつもありますから、こうしたものを使って、OpenCVライブラリで人数を計測します。そのデータをFirebaseに入れてUnityで可視化します。
ここのビジュアライゼーションにPLATEAUのモデルを使うと、面白いんじゃないかということでやりました。
[補足] OpenCVとは、オープンソースの画像分析ライブラリ。さまざまな分析機能があるが、そのうちのひとつとして、画像から人物と思わしき領域を切り出す機能がある。
[補足] Firebaseは、Google社が提供するバックエンド(サーバー側のプログラム一式)を提供するサービス。データベース機能があり、データを蓄積したり、取り出したりする機能が簡単に作れる。
たとえば、去年のハロウィンの時期や年末年始のイベントでは、渋谷にたくさんの人が集まっていました。ただハロウィンのときは、仮装している人たちはOpenCVでは、まったく測定できないことがわかりました。当時は、OpenCVを使っていましたが、いまはYOLOもありますし、人流データをもう少し大規模に測定して可視化できないかなと考えています。YOLOなら、自転車のデータも取れます。
[補足] YOLO(Yot ONly Loog Once)とは、機械学習を用いた物体検出のライブラリ。画像中に、どのような物体が映っているのかを、その領域とともに高速に検出できる。
1 2