前回の記事「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に変更する。
- 光源を置く。面が均等に照らされるようにするといい。弱めの太陽光を当てたが、もっといいライティングがあるかもしれない。
- あとはレンダリング。