RICOH THETA m15で撮影した動画を使ってハコスコ用のアプリを作る(その2:Unityでアプリを作る)


この投稿の続きです。前回はBlenderで全天球モデルの作成をしました。
今回は、Unityでこのモデルを使ったハコスコアプリを作りたいと思います。

全天球モデルの内側にムービーテクスチャを貼って、ジャイロに合わせてカメラを動かすだけです。

ムービーテクスチャについて

Unity5からムービーテクスチャがPersonal Editionでも利用できるようになっています。
ただし、iOS/Androidに書き出すことはできません。
Unity - マニュアル:ムービーテクスチャ

このため、今回はMobile Movie Textureというアセットを使いました。

Mobile Movie TextureAssetStoreから購入します。(2015/7/9時点で$75)
その後、プロジェクトへインポートしてください。

Mobile Movie Textureで扱うことができる動画形式はOgg Theora形式なので、
前回用意した動画を.mp4から.ogvに変換します。

$ ffmpeg2theora --soft-target -V 2000 --two-pass --first-pass pass.pass --optimize --noaudio -x 640 -y 360 sample.mp4
$ ffmpeg2theora --soft-target -V 2000 --two-pass --second-pass pass.pass --optimize --noaudio -x 640 -y 360 sample.mp4

変換した動画ファイルは、/Assets/StreamingAssets/ 配下にインポートしてください。
この場所以外に配置すると動作しません。

全天球を配置する

カメラ位置を原点に合わせます。
これは、後で原点を中心とした全天球のオブジェクトを設置するのですが、
カメラが全天球の内側中心になるようにするためです。

前回作成した全天球モデルをAssetsにインポートし、
カメラが中心になるよう設置します。
画像中の「SkySphere」という名前のオブジェクトです。

動画をインポートする

準備した.ogvファイルをインポートします。
インポート先は「/Assets/StreamingAssets/」配下である必要があります。
今回はsample.ogvというファイルをインポートしました。

全天球にムービーテクスチャを設定する

まず、SkySphereにMovieマテリアルを設定します。
Movieマテリアルは「/Assets/MobileMovieTexture/Materials/Movie」です。
SkySphereを選択して表示されたInspectorにドラッグ&ドロップすればOKです。

次に、MovieManagerを作ります。
Hierarchyで右クリックしてCreate Emptyを選択するとGameObjectが作成されるので名前をMovieManagerに変更して、「/Assets/MobileMovieTexture/」にあるMobileMovieManagerスクリプトをMovieManagerオブジェクトにセットします。

最後に、MovieTextureを作ります。
Hierarchyで右クリックしてCreate Emptyを選択するとGameObjectが作成されるので名前をMovieTextureに変更して、「/Assets/MobileMovieTexture/」にあるMobileMovieTextureスクリプトをMovieTextureオブジェクトにセットします。
InspectorでMobileMovieTextureの各項目を以下のように設定します。

  • Movieに再生したい動画ファイルを設定
  • MovieMaterialsのSizeを1に設定
  • Element0にMovieマテリアルを設定(/Assets/MobileMovieTexture/Materials/Movie)

ジャイロに合わせてカメラを動かす

この記事に詳細が書いてあるので省略します。

音声について

MobileMovieTextureは音声を取り扱うことができません。
前述の動画変換方法でもnoaudioを指定していたかと思います。
映像とは別に再生するようにしてください。

今回は、元のmp4からitunesを利用してmp3を作成し、MovieTextureオブジェクトにAudioSourceとして追加することで音声を再生するようにしました。

あとはビルドして実機に転送しハコスコで試すだけです。

参考サイト

  1. RICOH THETA m15で撮影した動画を使ってハコスコ用のアプリを作る(その1:全天球モデルを作る) - Qiita
  2. Unity - マニュアル:ムービーテクスチャ
  3. Asset Store - Mobile Movie Texture
  4. VRゲーム用にスマホジャイロセンサとMainCameraを同期させる - Qiita