kghr IT備忘録
HOME » Unity » Entry
Unity VRサイクリングの試作 その5 ペダルとパノラマ動画の連動
2017.06/20 (Tue)
ペダルの回転に合わせて360度パノラマ動画の再生スピードが変わる、VRアプリを作成してみた。パノラマ動画の作成はUnityのアセットを使用すればサクッとできるはずだったのだが、とりあえずアプリの作成を備忘録とする。
パノラマ動画の準備
試行錯誤してみたものの、パノラマ動画の作成はできなかった。作成方法については複数のブログを参照させていただいたが、ツールを動かすのにPCのスペックが足りないようだ。
「360 Panorama Capture」を利用することで、簡単に360度のパノラマ映像を作成することができるはずなのだが、「ハイスペックなGPU必要」というところでひっかった。なんでも、「GPU capable of Shader Model 5.0」ということで、Lenovo Thinkpad X61では無理そう。
他の方法もないか試行錯誤してみたが、とりあえず他の方が作成された動画をお借りして動作を確認することにした。なお、他の方が作成された動画は著作権などのこともあるので、このブログでは先に自ら作成したサンプル(こちら)の動画を使用して先に進める。
VideoPlayerと全天球によるVR実装
360度パノラマは、球体の内側に張り付けた動画を球体の中心にあるカメラから眺めるように構成されている。
新規プロジェクトを作成したところからの手順は以下のとおり。
1.全天球モデルの配置
2.Main Cameraの方向調整
3.Video Playerの設定
4.ペダルの回転にあわせて動画再生するスクリプトの追加
1.全天球モデルの配置
全天球は内側にメッシュのある球で、from2001さんのこちらのサイトのとおり作成することができるが、warapuriさんが公開している「Sphere100.fbx」を使わせていただく。ダウンロードしたSphere100.fbxをHierarchy ビューにDrag&Dropし、以下のとおりInspector ビューで設定。
※ScaleのXがマイナスになっているのは、全天球の画像を裏から見ることでテクスチャが左右反転するのを補正するため。
・Scaleを X=-10, Y=10, Z=10 くらいにし、球の中心から見られるようにする
・Shader を Unlit/Texture にし、影が付かないようにする
2.Main Cameraの方向調整
ビデオの正面を見るために、Main CameraのInspectorでY軸のRotationに-90を設定する。
3.Video Playerの設定
Hierarchyで右クリックし、Video -> Video Playerを選択し、Video Playerを追加。このVideo PlayerのInspectorを以下のように設定
・Video Clip: 再生する360度パノラマ動画を選択(ここではパノラマでない動画を設定した)
・Loop: 繰り返し再生を設定
・Render Mode: Material Overrideを選択し、RedererにShaere100を設定
4.ペダルの回転にあわせて動画再生するスクリプトの追加
C#のスクリプトを作成し、Video PlayにAdd Componentする。前回の備忘録で使用したスクリプトをベースとしているが、若干変更してある。特に赤く囲んだ部分は360度パノラマ動画のために追加したもので、視線の先に動画の正面をセットし直すもの。ゴーグルをつけた後で正面を正したい時は、キーボードのAまたは右クリックで正面がリセットできる。
後はビルドする際に、Player SettingsのInspectorで「Virtual Reality Supported」にチェックを入れれば、VRゴーグルで見ることのできる左右2画面になり、360度見渡せるようになる。
あとがき
アプリのベースは出来たが、360度パノラマ動画を作成するのは手こずった。そして360度パノラマ動画はファイルサイズが大きくなりがちである。サイクリングのアプリという点では上下と後ろの映像は無駄になりそうだし、無理に360度にしなくても良いか。平面でも上下左右45度程度あれば十分のような気がする。
ということで、今後はロゴから360の文字がないものを用意しておこう。
スポンサーサイト