3テラバイト

プログラム関連備忘録サイト。主にゲーム。

Unity

Unityで動画を再生する方法

投稿日:

こんにちは、今日はUnityで動画を再生する方法についてまとめていきます。

確認環境

Unity 2018.4.15f1

この記事で使用している動画ファイル

A Road That Leads to the Beach – Free Stock Video Footage | Coverr
https://coverr.co/videos/a-road-that-leads-to-the-beach-sKTibU8Rwh

動画を再生する方法

再生する動画ファイルのインポート

UnityエディタのProjectウィンドウに再生したい動画ファイルをドラッグ&ドロップするとビデオクリップとしてインポートされます。

ビデオクリップ – Unity マニュアル
https://docs.unity3d.com/ja/2018.4/Manual/class-VideoClip.html

描画するテクスチャの生成

Assets > Create > Render Texture からRender Textureを生成します。

Sizeプロパティは動画のサイズに合わせます。

再生するオブジェクトの生成

GameObject > UI > Raw Image からRaw Imageを生成します。

InspectorからRaw Image (Script)のTextureプロパティに先ほど生成したRender Textureを指定します。

Raw Imageのサイズも動画サイズや表示したいサイズに合わせて変更、親のCanvasについても必要に応じてサイズ等を変更します。

Video Playerコンポーネントの追加

生成したRaw ImageにVideo Playerコンポーネントを追加します。

SourceプロパティはVideo Clipに設定します。
このプロパティをURLにすることでURL指定での動画再生も行えます。

Video Clipプロパティにはインポートしたビデオクリップを指定します。

Render ModeはRender Textureに、
Target Textureには生成したRender Textureを指定します。

Play On Awakeにチェックを入れるとゲームの再生時にすぐ動画が再生されます。

再生して確認する

ここまでの設定が完了したらゲームを再生して、動画が再生されるか確認します。

動画が再生されない場合

Raw ImageがCanvasの子になっているか

Rawa ImageはCanvasオブジェクトの子要素になっていないと画面に表示されません。

オブジェクトがカメラの範囲内にあるか

ターゲットプラットフォームでサポートされている形式か

Unityが対応しているファイル形式は以下で確認できますが、ビルドした際にターゲットのプラットフォームで対応されている形式かどうか確認します。

ビデオファイルの互換性 – Unity マニュアル
https://docs.unity3d.com/ja/2018.4/Manual/VideoSources-FileCompatibility.html

Supported Media Formats in Media Foundation – Win32 apps | Microsoft Docs
https://docs.microsoft.com/ja-jp/windows/win32/medfound/supported-media-formats-in-media-foundation?redirectedfrom=MSDN

Media Layer
https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/OSX_Technology_Overview/MediaLayer/MediaLayer.html

ターゲットプラットフォームで対応していない場合、Unityのビデオクリップのインポート設定でTranscodeのチェックを入れることにより、Unity側でエンコードすることで再生できる場合があります。

-Unity


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

関連記事

no image

Unity – UIのButtonにイベントを設定する方法まとめ

こんにちは、今日はUnityでUIのButtonクリック時に発生するイベントを設定する方法についてまとめていきます。 HierarchyウィンドウからCreate > UI > Buttonを選択や、 …

no image

Unity – Consoleウィンドウにログを表示する方法まとめ

こんにちは、今日はUnityでConsoleウィンドウにログを表示する方法についてまとめていきます。 確認環境 Unity 2018.4.15f1 ログの出力 ログの出力にはUnityEngine.D …

no image

Unityでスクリプトからゲームの再生や停止を行う

こんにちは、今日はUnityでスクリプトからゲームの再生や停止を行う方法についてまとめていきます。 エディタの再生、一時停止、停止ボタンの処理をスクリプトから行うことができます。これらの処理はエディタ …

no image

UnityのManaged Memoryサイズをスクリプトから取得する

こんにちは、今日はUnityのManaged Memoryサイズをスクリプトから取得する方法についてまとめていきます。 Profiler.GetMonoUsedSizeLong() Profiler. …

no image

Unityで引数に最も近い整数を返す関数Mathf.Round

確認環境 Unity 2018.4.15f1 使い方 float num = Mathf.Round(1.2f); Debug.Log(num); float型の数値を渡すと、その値に最も近い整数値を …