まずは「YouTubeの360度動画を生成する」を参照してください。このページに、Xi-TRACEを使った360度動画の生成方法と、YouTubeへのアップロード方法の解説があります。今回はこれに「3D」を追加して、360度3DのVR(Virtual Reality)動画を作成してみたいと思います。
まず、YouTubeの「バーチャルリアリティ動画のアップロード」ページを見てみます。
「アスペクト比が1:1」「上下に配置される正距円筒図法の形式」ですね。ステレオ3Dではない、単なる360度動画の場合は、アスペクト比が2:1でした。この画像を左目用、右目用の2枚用意して、上下に並べたら、結果としてアスペクト比が1:1になるんですね。
アスペクト比2:1の正距円筒図法までは、「3D」のつかない360度動画の時に実現済みです。と、いう事で、「YouTubeの360度動画を生成する」からの追加事項は、Xi-TRACEでstereo3d命令を実行することだけ、みたいです。
stereo3d <type>, <distance> ;
stereo3d命令に関しては、以前「ステレオ3D」というページで解説済みです。ご参照ください。今回は、「上下に配置」ですので、<type>には、「TOPBOTTOM」または「BOTTOMTOP」のいずれかを指定すれば良いことになります。さてどっち?という事ですが、YouTube動画の詳細設定ページに「3D動画:Top to Bottom: Left on Top」というチェックボックス+選択肢がありますので、ステレオ3D動画を上下に重ねる時は、上に左目用、下に右目用、を期待しているようです。Xi-TRACEでこれに相当する画像を生成するのは、「TOPBOTTOM」ですので、以下となります。
stereo3d TOPBOTTOM, <distance> ;
<distance>には、左目と右目の視点間距離の1/2を指定するんでしたね。
今回は、サッカーボールが楕円軌道上をグルグル周っているところを楕円軌道の一方の焦点に視点を置いて、360度3Dで動画生成してみました。
データ中、サッカーボールの半径を変数Rとおいています。サッカーボールの直径は22cmだそうなので、データ上の数値(R)と実際のサッカーボールの比は、R:22cm/2となります。人間の左目と右目の間隔を測ってみて、ざっと6cm。stereo3d命令に渡す<distance>は、この1/2ですので、以下のように求められます。
R:22cm/2=<distance>:6cm/2
<distance>=3/11×R
VRゴーグルで見ると、サッカーボール(22cm)が頭の周り(すぐ傍)を楕円軌道を描きながら回っているように見えるハズ(計算上は)。
一つだけ注意事項が……。360度3D VR動画の生成では、viewenv命令+stereo3d命令を使っていますが、この組み合わせに対応したのはXi-TRACE rel.R10以降のバージョンです。それより古いと対応していないので、正しい3D画像が生成されません。エラーチェックが入っていなかったのでエラーにならず画像も生成されますが、生成された3D画像は正しくないので最新版をご使用ください。
YouTubeのページによると、動画にメタデータを追加しないとならないようです。以前、「YouTubeの360度動画を生成する」でやったのと、ほぼほぼ同じですので参照してください。
今回一つだけ違うのは、YouTubeの「360 Video Metadata」というソフトウェアを使ってメタデータを動画に付加する時、「spherical」に加えてもう一つ、「stereoscopic 3D」にチェックを入れることです。
メタデータを付加した.mp4ファイルをYouTubeにアップロードして、処理が完了するのを待てば終了です。
完成したデータと動画です。
サッカーボールは以前「サッカーボール」で作ったデータの使いまわしです。
Xi-TRACEデータ:ball_orbit.xitr
作者のPC環境だと、ステレオ3Dは「アナグリフ表示」にしかできませんでした……。お勧めは、スマホ+Cardboardでの鑑賞です。Googleが提唱する、スマホ+VRゴーグルで安価にVRを体験できる規格ですね。型紙が公開されているので、厚紙+レンズなどで自作することもできますし、通販で検索しても1,000円くらいで購入可能なゴーグルが見つかるので、お手軽に入手できると思います。
スマホを使って、VR対応の動画をYouTubeで再生すると、以下の様なアイコンが表示されています。
このアイコンを押さないと、Cardboardで鑑賞可能な表示になりませんので、お忘れなく。
手順としては、「動画を選択」→「Cardboardアイコンを押す」→「一時停止」→「スマホをCardboard(VRゴーグル)にセット」→「ゴーグルを装着」→「再生再開」でしょうか。
スマホにジャイロセンサが搭載されていれば、Cardboardでヘッドマウントすると、頭を動かすことでジャイロセンサが反応し、ちゃんと向いた方向を表示してくれるので、まさにその世界に没入したようなVRが体験できます。