野に居るべし

ほぼメモ帳

unityでmp4の映像をオブジェクトに張り付ける、音も出す

Unity側で映像を使えるってことは知っていたけど、やったことなかったからやってみました。

 

せっかくなんでAviutlで作った映像を入れてみようと、UnityのProjectビューにドラッグ&ドロップで簡単に入れることができました。

 

その要領でCubeオブジェクトに映像をドラッグ&ドロップ

 

そしてPlayで実行してみました。

 

 

f:id:rukae:20170812215020p:plain

 

動画を再生することができました。

 

ただ、音がでない。何かをいじらないといけないのかなと思いつつ調べてみました。

 

スクリプトで音を出そうとしてる記事をいくつかみつけて、でもめんどくさいなあと思ったので自分なりに探してみました。

 

これがあってるのかは分からないけど、紹介します。

 

今の状態ではcubeオブジェクトに動画をドラッグ&ドロップしたときに、自動的にvideoplayerコンポーネントが適応されました。

 

そして、入れた動画ファイルがvideoclipに設定されていることが分かります。

 

videoplayerコンポーネントの中を見てみると、Audiio Output Mode が Audio Sourceになっていて、その下にTrack 0 というチェックがされていて、その下のAudio Source のパラメータには何も設定されていませんでした。

 

ここかなと思って、少し考えました。

 

まず、mp3の音源を持ってきて、その中に入れようと思ったら、入れられませんでした。

 

詳しくはないのですが、AudioSourceのパラメータはあるのに、AudioSourceコンポーネント自体はまだこのCubeオブジェクトには入っていないんじゃないかと思って、CubeにAucioSourceコンポーネントを追加しました。

 

すると、Cubeの中のvideoplayerコンポーネントの中にあるAudioSourceパラメータにcube自身を設定することができるようになりました。

 

そしてplayを押して実行すると、無事音がなりました。

 

なんかうれしかったです。

 

ぐちゃぐちゃなのでシンプルにまとめときます。

 

動画を表示したいオブジェクトに動画と、AudioSourceを追加。

 

動画を入れて追加されたvideoplayerの中のAudioSourceに動画を入れているオブジェクトを設定。

 

これで動画の中の音が再生できます。

 

多分やり方はちがうんだろうけど、再生できたから気にしません。