Unityで動画を分割することはできますか?【メンターが回答】
「Unityで動画を分割することはできますか?」そんなUnity初心者から寄せられた質問に、TechAcademyの現役エンジニアのメンターが回答しました。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
※TechAcademyに実際に寄せられた質問に現役エンジニアのメンターが回答しました
田島メンター!iPhoneで撮影した動画を4×4分割して同時に16枚再生したいのですが、Unityでできますか?
詳しく状況を教えてもらっていいかな?
質問
iPhoneで撮影した動画を4×4に分割し、iPhoneアプリで任意の16個のGame Objectに個別に貼り付けて、同時に個別の16枚再生を実現させる方法を知りたいです。
前提・実現したいこと
Unity標準のサービスにこのような機能があるのか、別途アセット機能を購入しないと不可能なのか、ネイティブで制作しないといけないのかがわかりません。
発生している問題
カメラを個別に16個用意し4×4分割できたように見えるが、カメラの画角の問題で4×4を元の1枚画像の位置に配置した場合、各画像の境界線が目立ってしまいます。
自分で試したこと
カメラを個別に16個用意し、疑似的に4×4分割の個別での動画再生を行いました。
メンターからの回答
動画を分割する機能は Unity にはありません。
ネイティブで作っても、そのものの機能はないのでかなり原始的なところから自分で作り上げる必要があります。
現実的な案としては、事前に動画編集ソフトで動画を分割しておくことです。例えば iMovie ではトリミングという機能を使って動画を分割できます。
参考:[Mac] iMovieで動画内の一部分をクロップして書き出す保存方法
ただしこのやり方でも、以下のような問題があります。
問題点1
iMovie では分割をドラッグで指定できますが、数値で指定することができません。ある程度(2分の1)はスナップしてくれますが、それが正確な1分の1なのかはわかりません。また、16分割するには4分割したものを読み込んで、さらに4分割するというステップを踏む必要があります。
問題点2
複数の VideoPlayer で同時に再生した場合、各動画を同期して再生するわけではないので、どうしてもズレが発生します。この問題を Unity で解決することはできないので、このようなズレを完璧になくしたいのであれば、複数の動画を同期しながら再生するようなプログラムをかなり原始的なところからネイティブで自分で作り上げる必要ががあります。
以上を踏まえた上でご検討ください。
TechAcademyでは現役Unityエンジニアのメンターが質問にすぐ回答します。
まずは無料体験でメンターに相談してみましょう。