【VR開発日記#4】部屋のテレビに動画を流す

CG制作

前回はBlenderで制作した部屋の3DモデルをUnityにインポートし、VR空間として立ち上げるところまで完了しました。

今回は、このプロトタイプ部屋の目玉機能である「150インチの大画面テレビに動画を流す機能」を実装していきます!

Unityでテレビに動画を流す手順

Unityでオブジェクトに動画を表示させるには、標準で用意されている Video Player コンポーネントを使用します。設定自体はとてもシンプルです。

TVオブジェクトにVideo Playerを追加
Hierarchy(ヒエラルキー)ウィンドウでテレビのオブジェクトを選択し、Inspectorの「コンポーネントを追加(Add Component)」から Video Player を検索して追加します。

画像
TVオブジェクトを選択し、インスペクターから「Video Player」コンポーネントを追加している様子

動画の割り当てと再生設定
Unity内に取り込んだ動画ファイルを、Video Playerの「ビデオクリップ(Video Clip)」スロットにドラッグ&ドロップで割り当てます。

あわせて、以下の項目を設定しておきます。

ソース: ビデオクリップ

ゲーム開始時に再生: チェックを入れる

ループ: チェックを入れる

画像
Video Playerの設定画面。ビデオクリップに動画をセットし、自動再生やループの設定を行いました

動画サイズがおかしい!? UV展開からのやり直し
さっそく再生テストをしてみたところ……画面に映し出された動画のサイズや縦横比が不自然に伸びてしまい、綺麗に収まりませんでした。

原因を探ってみると、Blender側でテレビ画面メッシュを作った際のUV展開の配置や比率が適切でなかったことが判明。
手っ取り早く直すためにBlenderに戻り、テレビ画面の面を16:9の比率に合わせてUV展開をやり直すことで、無事に映像が画面ピッタリに映るようになりました。

ほかの再生方式(URL・ストレージ参照)についての検討

今回は最も基本的な「Video Clip方式(動画をUnityプロジェクト内に埋め込む形)」で進めました。

AIに相談してみたところ、「Quest本体のストレージ内にある動画のURLを直接読み込む方法」や「ゲーム開始後にファイルダイアログから動画を選択する仕組み」なども実装可能とのことでした。

ただ、スクリプトの追加や権限設定などに少し時間がかかりそうだったため、「まずは確実に動くプロトタイプを完成させる」ことを優先し、これらの機能は一旦保留にして先に進むことに決めました!

次回予告

これで部屋の組み立てと、テレビでの動画再生機能のセットアップが無事に完了しました。

次回はいよいよ、Meta Quest 2の実機へアプリを転送・ビルドし、実際にHMDをかぶってこの部屋に入ってみたいと思います!次回もぜひお楽しみに!

コメント

タイトルとURLをコピーしました