Unity2Dで動画を流してみる

ゲームの中で動画を使ってみたい人向けの記事です。
私も2Dゲームのチュートリアルを動画で作ってみようと思い実装してみました。
そういう人向けの記事になっています。

必要なものを用意する

では早速やってみましょう。
Unityの新規2Dプロジェクトを作成し作業をしていきます。
縦型のスマホゲームを想定して作ってみます。
画面サイズは1080×1920にします。

まずは動画ファイルをプロジェクトにインポートします。
対応している動画フォーマットは公式のリンクを掲載しておきます。

今回私はmp4の動画を用意しました。
その動画も1080×1920のサイズです。

ProjectのAssetsにMovieというフォルダを作成し、そこに動画を入れます。

その動画ファイルをそのままにヒエラルキーにドラッグアンドドロップしても動画自体は再生されます。

試しにプレイしてみます。

上記は音が含まれておりませんが、実際には音が流れています。

これはこれで良いのですが、動画の大きさなどはこの状態では変化させられませんでした。
そこでUIのRawImageに動画を貼り付けて色々やってみたいと思います。

RawImageに表示させてみる

Hierarchy上でRawImageを作成します。
Hierarchyで右クリック→UI→RawImage。
名前はVideoImageとしておきます。
続いてVideoImageにVideoPlayerコンポーネントを追加します。
VideoPlayerコンポーネントのVideoClipに先程の動画をアタッチします。
インスペクターはこんな感じになっています。

このまま再生しても音は流れますが、動画は見れません。
そこでProject上で右クリックしRenderTextureを作成します。

作成したRenderTextureのインスペクターを見るとSizeが256×256となっていますので、動画のサイズに合わせます。

続いてVideoImageのRawImageコンポーネントとVideoPlayerコンポーネントのTextureに今作ったRenderTextureをアタッチします。

試しにこの状態で再生させてみましょう。

Gameシーンの真ん中にある正方形がVideoImageです。
インスペクターを見て頂ければわかると思いますが、widthとHeightが100ですので、これを調整すればサイズの変更ができそうです。

試しに画面サイズいっぱいに広げてみましょう。
width:1080 Height:1920にしてみます。

画面いっぱいに動画が表示されました。

更に実験で半分のサイズにしてみます。
width:540 Height:960

ちゃんと半分のサイズになり動画がRawImageに表示されています。

再生ボタンを付けてみる

先程VideoImageに追加したVideoPlayerコンポーネントでは動画に対して色々操作ができるようです。
最後に再生ボタン、一時停止ボタン、停止ボタンを作って動画を操作してみたいと思います。

Canvasの下にボタンを3つ作成します。
それぞれPlayButton、PauseButton、StopButtonとしました。
次に空のオブジェクトを作成し、VideoControllerというものを作ります。
このような状態になっています。

続いてAssetsにScriptsフォルダを作成し、その中にVideoControllerという名前のC#スクリプトを作成し、HierarchyにあるVideoControllerにコンポーネントとして追加します。
ソースコードはこのような感じにしました。

Hierarchy上のVideoControllerを選択し、インスペクターにそれぞれ必要なものをアタッチしていきます。
このような感じになりました。

起動していきなり動画が再生されないようにVideoImageにあるVideoPlayerコンポーネントのPlay On Awakeのチェックを外しておきます。

それでは期待した通り動くかチェックしてみましょう。

少しわかりにくいですが、再生、一時停止、再開、終了、最初から再生という感じで動画が操作されました。

このようにUnityで簡単に動画を操作することができます。
今回は2Dで動画を入れてみましたが、もちろん3Dでもできます。
色々と試してみて下さい。

この記事への感想・コメントをどうぞ

購読
通知する
guest
0 コメント
Inline Feedbacks
View all comments

Unityの学習方法

Udemy

Udemyの動画講座にもUnity関連のオススメの動画がたくさんあります。

その中でも私が特に気に入っている動画を紹介します。

テックアカデミー

途中で挫折しないためにメンター(相談者)が週2回、マンツーマンであなたの質問・相談に答えてくれます。 ゲーム開発・プログラミング未経験の人でも安心してゲーム開発に取り組めます。 受講終了後、自分のオリジナルゲームでコンテストに応募することができます。

デジハリONLINE

【基礎編】【実践編】とカリキュラムが分かれていて、それぞれに課題があり、ご自身の理解度を把握できます。 内容も充実していて最終的にはハイクオリティの3Dゲームが作れるようになります。 サイト内にカリキュラム詳細のPDFが公開されていますので、一度見てみるのも良いでしょう。 サポート体制は、回数無制限のSlackによるテキスト質問予約制のZoomによる個別質問があります。

Unity本【kindle unlimited】

私も利用しているAmazonが提供する電子書籍読み放題のサービスです。

月額980円で約200万冊以上が読み放題でとてもお得です。

また30日無料体験もできるのが魅力です。当然Unityに関する書籍もたくさん揃っています。

またC#関連の書籍や、プログラミングのものも多数あります。

プログラミング関連の書籍は値段が結構しますので、それらが無料で読めるのはかなりお得なサービスです。

30日無料体験もありますので気に入らなければその期間に解約すれば料金は発生しません

通常のUnity本

kindle unlimitedは全部のUnity関連書籍が読めるわけではありません。

通常に購入しなければ読めない本もありますので、その中から私が参考になった書籍を紹介します。

関連記事

最後までご覧頂いてありがとうございました。

Unityゲーム制作講座 多数公開

作りたかったジャンルの講座でスキルUP♪

もっと早く教えてほしかった!

Unity C#プログラミング入門

2Dローグライトゲーム開発

Unity ヴァンパイアサバイバーズ風 講座

目指せ 脱初心者!

ワンランク上の実践向けシューティング講座

プログラミング未経験でもOK

初学者向け ブロック崩しで学ぶUnityゲーム開発

作って覚える 7つの2Dパズル

段階的にUnityゲーム開発をレベルアップ