前回の記事「2枚の平面画像をパノラマ化してMeta Questで立体視 (その1 概要編)」の続き。右目用・左目用がセットになった画像をMeta Questの標準の画像ビューアで立体視できるように変換する方法を紹介する。

Blenderを使う方法とPythonを使う方法の2通りを紹介するが、今回はBlender編だ。
テンプレートを使う
こちらに、テンプレートとして使えるBlenderデータを用意した。ダウンロードしてすぐ使える。
zipを展開すると、中身はこうなっている。stereo_poster.blendがBlenderファイル本体。

imgディレクトリ内には、右目画像のright.pngと左目画像のleft.pngが入っている。これは私が撮ってきた仮画像なので、実際に使いたい画像にすり替える。
使い方は次の通り。
img/right.pngとimg/left.pngを好きな画像にすり替える。とにかく試すだけなら同梱の仮画像でOK。stereo_poster.blendをBlenderで開く。こんな感じにカメラとポスター、そして光源が置かれた空間が現れる。
- “Render > Render Image” を選ぶ。

レンダリング画面が開き、描画が始まる。
- ViewLayerを選ぶプルダウンがあるので、”ViewLayerLeft” を選ぶ。

- レンダリングが終わるのを待ち、レンダリング画面で “Image > Save As…” を選び、保存する。

- 今度は”ViewLayerRight” を選び、同様に保存する。
- 何らかの画像編集ソフトで、保存した2枚の画像を上下に配置した画像を作る。上が左目用、下が右目用。

- 鑑賞する。鑑賞方法については、2枚の平面画像をパノラマ化してMeta Questで立体視 (その1 概要編)に書いておいた。
このデータは、水平画角100°のけっこう広角画像に合うように作ってある。それよりも画角が小さい場合は、立体視したときに奥行きが薄く見えたり、歪んで見えたりすることがある。その場合、画像サイズを適宜縮小してほしい。
いちから自分で作成する
- まず、左目画像用のPlaneを設置し、ポスターとして使う。縦横比は元画像に合わせ、撮影時の画角と合致するような場所に設置する。サイズや位置を正確にするためには数値入力するといい。

- 設置したPlaneに画像を貼りつける。Planeを選択してMaterial設定を開き、Base ColorにImage Textureを指定し、左目画像を参照する。これを複製して画像を変更し、右目用のポスターを作成する。

- 左目用と右目用のViewLayerを作り、切り替えられるようにする。
- ViewLayerを新規作成。それぞれ “ViewLayerLeft”, “ViewLayerRight” などと名付けてわかりやすくしておく。

- 左目用と右目用とCollectionを作成し、左目用のPlaneは左目用Collectionに、右目用のPlaneは右目用のCollectionに入れる。

- 左目用ViewLayerを選んだ状態で、右目用Collectionのチェックボックスをオフにする。同様に、右目用ViewLayerを選んだ状態で、左目用Collectionのチェックボックスをオフにする。これで、ViewLayerを切り替えることでポスターの表示・非表示が切り替えられるようになった。

- ViewLayerを新規作成。それぞれ “ViewLayerLeft”, “ViewLayerRight” などと名付けてわかりやすくしておく。
- カメラを原点に設置し、ポスターの方に向ける。

- パノラマ撮影ができるようにする。
- Scene > Render Engineを開く。デフォルトではEeveeになっていると思うが、Cyclesに変更する。

- 解像度を設定。縦横比が2:1になるようにする。4096×2048ピクセル、できれば8192×4096ピクセル欲しい。

- レンズを設定。

- Scene > Render Engineを開く。デフォルトではEeveeになっていると思うが、Cyclesに変更する。
- 光源を置く。面が均等に照らされるようにするといい。弱めの太陽光を当てたが、もっといいライティングがあるかもしれない。

- あとはレンダリング。