Feature
arcAstroVR(Unityプログラム)とStellariumの連携図※Serious Gaming for Virtual Archaeoastronomy (https://doi.org/10.14434/sdh.v4i1.31041)より連携図引用
arcAstroVRは、3DエンジンとしてUnityを用い、外部からSkyboxテクスチャ(天空)・Terrainデータ(地形)・3D Objectデータ(遺構等)をVR空間に取り込んで再現表示するVRプログラムです。天体のシミュレーションにはプラネタリウムソフトStellariumを使用し、Georg Zotti氏らが作成したStellarium用の通信プラグイン※1 、出力スクリプト※2 、Unity用の連携アセット※3 を利用して、StellariumからSkyboxテクスチャをVR空間内に読み込み、表示しています。地形再現には、標高データから作成したTerrainファイルを外部から読み込み、表示しています。遺構再現には、3D Objectファイルを外部から読み込み、表示しています。以上により実現したarcAstroVRの特徴について、以下に列記します。
※1:Stellarium:Remote Control (Plugin) ・Authors: Florian Schaukowitsch, Georg Zotti ・License: GNU GPLv2 or later This plugin was created in the 2015 campaign of the ESA Summer of Code in Space programme.
※2:Stellarium:Skybox Tiles (Script) ・Author: Georg Zotti ・License: Public Domain
※3:Unity:Stellarim - Unity ・Author: Georg Zotti, John Fillwalk, David Rodriguez, Neil Zehr ・License: GNU General Public License v3.0 This is a collaboration between Georg Zotti (LBI ArchPro Vienna) and John Fillwalk, David Rodriguez and Neil Zehr (IDIA Lab, Ball State University) suggested by Bernard Frischer (Indiana University).
地形補正
地球は球体の3D形状ですが、国土地理院やJAXA、NASAなどの公的機関が公表している標高データの多くは、人間が扱いやすいように2次元変換がなされています。これらの地形データをVR空間に再現するには、さまざまな地形補正をする必要があります。
・Ortho補正・球体補正
Fig.1_1:オルソ化による等緯度経度図法から正射方位図法への変換
Fig.1_2:緯度に合わせた球体補正および等価地球半径による光学補正
地図によく用いられるメルカトル図法や等緯度経度図法など、緯度と経度が直角に交わる平面直角座標の図法は、南極や北極など緯度の高い地域になるほど、経度方向の縮尺は引き伸ばされています。arcAstroVRでは、地形の歪みを補正するために、地形データを正射方位図法※4 に変換し、加えて、地球の丸みに沿わせる球体補正※5 を行っています
※4:正射方位図法 観測地点の無限遠上空から投射した図法で、方位の歪みがなく、半球が表示されるのが特徴です。近似的には、衛星写真がこの図法に相当します。衛星は地球表面近くにありますが、無限遠方にまで移動させた場合の衛星写真は正射方位図法になります。
※5:球体補正 地球は真球ではなく、赤道方向に伸びている楕円体になっています。これを地球楕円体と呼び、arcAstroVRではGRS80楕円体モデルを使用して、観測地点の緯度・経度における曲率に合わせた球体補正を行なっています。
・光学補正
地球上では、大気のレンズ効果により、実際よりも遠方の景色が見えます。そのレンズ効果は、地球の半径を1.156倍にした楕円体の丸みに相当し、これを等価地球半径と呼びます。arcAstroVRでは、等価地球半径による地形補正によって、大気のレンズ効果を再現しています。
・ジオイド補正
Fig.1_3:ジオイド高と標高と楕円体高の関係
地球には重力の偏りがあり、標高原点※6 は重力の影響を受けて、GRS80楕円体から+85m〜-105mのズレを発生します。地球楕円体と標高原点との差をジオイド高といいます。正確な3D表現をするためには標高データにジオイド高を加えた楕円体高で地形再現する必要があります。arcAstroVR用地形作成プラグイン「terrain4arcAstroVR」では、一般に流通している標高データにジオイド高データを加えて地形補正を行うことができます。
※6:標高原点標高原点(標高0m)は地球の平均海水面に一致するものと定義され、ジオイド面と呼ばれます。
地形作成用QGISプラグイン「terrain4arcAstroVR」
上記の補正を行なった地形データは、無料のGISソフトウェア「QGIS 」と地形作成用QGISプラグイン「terrain4arcAstroVR 」によって作成できます。QGISに読み込ませることが可能な様々な地図情報を、緯度・経度情報の入力によって、簡単にarcAstroVR用の地形データとして出力されます。
座標系
観測地点の位置や建造物の位置などを示す座標には、さまざまなものがあります。arcAstroVRでは3種類の座標系を扱うことができます。
・WGS84座標系
緯度・経度などの角度情報で表した地理座標系の1種類です。地理座標系には、原点の位置や地球楕円体のモデルによって、いくつかの種類がありますが、arcAstroVRでは、全てのGPS装置で使われているWGS84座標系で、緯度・経度を指定することができます。
・UTM座標系
地理座標系は球体の角度情報であるため、地球上の局所的な座標表示としては、扱いにくい点があります※7 。その為、特定の基準点から、北へ何m、東へ何mといった横軸正角円筒図法の平面直角座標が公共測量ではよく利用されます。UTM座標系は平面直角座標の1種で、赤道(緯度0°)上に経度6度毎に基準点を設け、60のゾーンに分割したものです。
※7:扱いにくい点 地理座標系で2点間の距離を測る時などは、2点間を直線で結ぶのではなく、楕円体の湾曲した地表面に沿って測る必要がある
・平面直角座標系(19系)
日本独自の横軸正角円筒図法として、基準点を19箇所設けた座標系を平面直角座標系と呼びます。19系とも呼ばれます。各系の基準点位置は平成十四年国土交通省告示第九号によって定められており、リンク先のページにて確認することができます(https://www.gsi.go.jp/LAW/heimencho.html )。
座標系の切り替え
Fig.2_1:座標系切り替えダイアログ
arcAstroVRでは、座標表示の種類を上記3種類から常時切り替えることができます。また、設定ファイル内で座標を指定する場合も、上記3種類の中から一つを選択して設定※8 することができます。
※8:平面直角座標系(19系)の選択 座標系切り替えダイアログでは、平面直角座標系(19系)を「Japan PRCS」と記載しています。
VR空間再現
arcAstroVRでは、2種類の地形と複数の3Dオブジェクトを扱うことができます。それぞれの広さと精度は以下の通りです。
Fig.3_1:2種類の地形と3Dオブジェクトの重ね合わせ
Fig.3_2:100kmサイズのタイルを9つ並べて配置した広域地形
Fig.3_3:VR空間での地形。観測地(中心点)から-1000m〜9000mの高さを16bitで表現。
・広域地形
1辺300km(半径150km)の地形範囲と24.4mメッシュの解像度を持ちます。この地形には、NASAやJAXA等が公開している無料の30mメッシュ全地球起伏データの利用を想定しています。
地球の丸みによる150km先の地平降下は約1.75kmになります。これは、150km先にある1750mの山の山頂が、地平線(水平線)に見えることを意味します。地平線自体、山や地形起伏、樹木等の影響により見ることが困難であることから、広域地形の範囲は半径150kmあれば必要十分として、この範囲を扱っています。
なお、arcAstroVRの3DエンジンであるUnityの仕様上、地形データは最大4096×4096pxの16bit画像ファイルに制限されます。ここで1pxあたり24.4mのメッシュ解像度を持たせることで、地形データは1辺4096×22.4m=100kmの長さを持つことができます。広域地形は、この1辺100kmの地形データを1タイルとし、9つ並べて配置することで表現しています。また、標高値は16bit(0〜65,536までの整数値)のデータを取れますが、VR空間では-1000m〜9000mの範囲を16bitで表現することで、10000m ÷ 65536 = 15.26cm の垂直解像度を持たせてあります。
・狭域地形
0.1〜10mのメッシュ解像度を持った1タイルの地形です。有料で入手可能な高解像度陰影起伏データや独自のLiDAR計測による高解像度陰影起伏データの利用を想定しています。
前述のUnityの仕様から、地形データは4096×4096pxの16bit画像ファイルであるため、メッシュ解像度を0.1mに指定した時は410×410mの範囲を、メッシュ解像度を10mに指定した時は40960×40960mの範囲をカバーすることになります。狭域地形は広域地形の中心に配置されます。
・3Dオブジェクト
遺跡・遺構などの立体構造物を扱います。メッシュ画像データではないため、どのような形状・サイズのものでも複数扱うことができます。使用するPCの性能にもよりますが、快適に動作させるには、全3Dオブジェクトの総ポリゴン数を100万位内に抑えることが目安になります。3Dオブジェクトには一般的な3Dフォーマットであるobj形式、fbx形式、dae形式を使用することができます。
VR移動操作
ArcAstroVR内の移動操作は、キーボード+マウスまたはゲームコントローラ/VRコントローラによって行うことができます。
キーボード+マウス
アバターの移動は、マウスの左ボタンドラッグで進行方向を定めながら、「W」・「S」キーで前進・後退します。
視点(進行)方向:「マウス左ドラッグ」視点が移動します
視点切替:「tab」1人称視点と 3人称視点を切り替えられます
移動:「W」視点方向へ前進、「S」視点方向から後退、「A」左移動、「D」右移動
高速移動:「Shift」押しながら移動をすると、高速移動できます
フライトモード:「F」フライトモードに切り替わり、移動操作で飛ぶことができます。再度押すと、歩行モードに戻ります
ジャンプ / 垂直上昇:「Space」歩行モードの時はジャンプ、フライトモードの時は垂直上昇します
ズームイン / ズームアウト:「Ctrl」+マウスホイール(拡大縮小 (視野角変更)が行えます)
Fig.4_1:キーボード+マウスでの操作
ゲームコントローラ
Fig.4_2:ゲームコントローラでの操作
VRコントローラ
Fig.4_3:VRコントローラでの操作
シミュレーション操作
星空のシミュレートは、連携プラネタリウムソフト「Stellarium」により操作しますが、arcAstroVRの中からも操作が可能です。
日時操作
Fig.5_1:日時パネル
日時パネルで
TimeZone 入力
日付入力(増減ボタンの長押しで連続増減ができます)
時刻入力(スライドバーで入力もできます)
を行い、update ボタンを押すと、arcAstroVR の天空画像が更新されます。
スライドバーの両脇には、1 時間または 10 分の進む・戻るボタンがあります。進む・戻るボタンは天空画
像を自動更新するので、update ボタンを押す必要はありません。
表示操作
天空表示の切り替えは、アイコンクリックやキーボードによって操作が可能です
星座線 表示切替:アイコンまたは「C」Key
星座名 表示切替:アイコンンまたは「V」Key
星座絵 表示切替:アイコンまたは「R」Key
赤経赤緯 表示切替:アイコンまたは「E」Key
方位高度 表示切替:アイコンまたは「Z」Key
方角 表示切替:アイコンまたは「Q」Key
大気 表示切替:アイコンまたは「T」Key
考古学用補助線 表示切替:アイコンまたは「U」Key
惑星名 表示切替:アイコンまたは「P」Key
Fig.5_2:表示切り替えアイコン
データ表示/編集
画面内にはさまざまなデータ表示が行われます。情報ウィンドウからは、各データの表示/非表示を切り替えることができるほか、設定値を変更することができます。
Fig.6_1:情報ウィンドウ
アバター
Fig.6_2:標準アバター
観測者を示すキャラクターで、立っている座標は画面最上段のトップバーに表示されます。また、トップバーには、表示座標系の設定やカーソル位置の方位や高度情報などの表示も行われます。
標準では、黒い人間が表示されますが、Unity Humanモデルのデータを読み込み、任意のアバターを表示することも可能です。
マーカー
Fig.6_3:マーカー
VR空間には、任意のマーカーを設置することが可能です。情報ウィンドウには、マーカーの設置位置や観測者から見たマーカーの方位・高度・距離がされます。また、「Add」ボタンを押すと、観測者が立っている位置にマーカーを追加できるほか、「チェックボックス」からマーカーの表示/非表示コントロール、「Edit」ボタンから設定の変更を行うことができます
補助線
Fig.6_4:補助線
VR空間には、マーカーから発する補助線を引くことができます。補助線が、2つのマーカー間に引くことができるほか、マーカーを始点として任意の方向に引くことも可能です。情報ウィンドウの「Add」ボタンを押すと、補助線を追加できるほか、「チェックボックス」から補助線の表示/非表示コントロール、「Edit」ボタンから設定の変更を行うことができます
オブジェクト
遺跡・遺構などの3Dモデルです。情報ウィンドウには、モデル原点位置や回転角、サイズ、モデルの存在する自時代などの情報表示が行われるほか、「チェックボックス」から3Dモデルの表示/非表示コントロール、「Edit」ボタンから設定の変更を行うことができます
コンパスマップ
補助線の始点となるマーカーを中心としたコンパスマップを表示することができます。情報ウィンドウのAuxiliary Lineにある「Map」ボタンを押すことで表示されます。常に北が真上になるように表示され、Zoom In / Zoom Out 操作(マウス / キーボードであれば Ctrl+マウスホ イール)により、表示範囲を変えることが可能です。
Fig.6_5:コンパスマップ表示
情報コピー機能
情報ウィンドウ左下にある「CopyInfo」を押すと、情報ウィンドウに表示されている情報がコピーされ、表計算ソフトなどにそのままペーストすることができます。
Fig.6_6:表計算ソフトへの情報ペースト
環境設定
画面最上段の情報バーにある「Setting」ボタンにより、表示に関係する各種環境設定を変更することができます。
Fig.7_1:環境設定ダイアログ
言語
表示する情報の言語をEnglish / Japanese の中から選択できます。
表示座標系
表示する情報の座標系をWGS84 / UTM / Japan PRCSの中から選択できます。UTMやJapan PRCSを選択した場合は、ゾーン番号も指定する必要があります。
環境光
VR空間の光源は、太陽、月、金星の3種類に限定されています。そのため、月の出ていない深夜は地上は真っ暗になり、視認することができません。しかしながら、地上の景観を視認しながら検証したい場合もあるため、地上の明るさ(環境光)を任意に変更することが出来るようになっています。
Fig.7_2:環境光最小(左)と環境光最大(右)の見え方の違い
出力
標準PC出力以外に、HMD(Head Mount Display)出力、ドームマスター出力を行うことができます。