キューブマップの謎

前回のパノラマ写真はスティッチ、すなわち複数の写真をつなぎ合わせる方法で作りました(最近は一発で撮れるカメラが人気ですね)。スティッチには PTGui を使用。正距円筒図法(equirectangular)で出力した360°全周パノラマ写真を Pano2VR でブラウザ向けにオーサリングしています。

Panorama rig

スティッチの妨げとなる視点移動による視差をなくすため、回転軸をカメラの三脚穴からレンズ入射光交点(ノーダルポイント)にずらす。既製のパノラマ雲台はバカ高いので適当なステーとネジで自作


オーサリングの結果、パノラマ写真は下のような6枚の画像に変換されました。これらを各面に貼り付けた立方体を内側から見ることで、あのような全方位VRパノラマが実現します。

Panorama equirectangular

変換前の正距円筒パノラマ画像

Panorama textures

変換後の6枚。これらが立方体の各面に貼られる

これはこうしたパノラマのはしり QuickTime VR でも採用されていた典型的な手法「キューブマッピング」です。CG・ゲームにおいても空間全体を包みこむ空の表現に同様の仕組みが使われており、その立方体は「スカイボックス」などとも呼ばれます。さらに同様の仕組みが鏡面反射の映り込み素材として使われる場合もあります(環境マッピング)。

QTVRを初めて見たときはびっくりしたものですが、同時に素朴な疑問も生じました。なぜ角ばった立方体がなめらかな全方位映像に見えるのか? 直観的にも経験(プラネタリウムやZコクピット)的にも球形なら納得いくのですが。

Skybox

キューブマップ。外からは角ばって見えるが【左】、箱中央にあるカメラからは自然に見える【右下】

これは次のように考えると理解できます。

立方体の箱の内側中央に自分がいるとします。箱は完全に無色透明の物質でできており、周囲の景色は箱の外とまったく同じように見えます。景色=外からの光は、むろん箱の表面を通過してきます。通過した瞬間の光たちは箱型をなしているでしょう。でも透明な箱そのものは見えません。自分にはどこまでもふつうの景色に見えます。ではその箱型をなす瞬間の光たちが、外から通過してきたのではなく、じつは箱そのものから発せられていたとしたら? 両者を区別する手がかりはなく、まったく同じ景色に見えるはずです。

この表面から景色の光を発する箱がキューブマップです。

Skybox fig.

矩形がキューブマップ、眼が視点、矢印が光線。矩形と光線との交点(赤丸部分)がマッピング画像となる