LoginSignup
2
1

More than 1 year has passed since last update.

Unity出力の全天球ステレオ動画をYouTubeへ360度ステレオ動画としてアップロードする方法

Last updated at Posted at 2022-11-11

全天球映画 オワリズム弁慶 幻夢大演舞 -(un)ExtraVERSE-

去年から、「オワリズム弁慶」というバンドのVR音楽映画製作のクラウドファンディングに技術協力をしており、そこで得られた知見について記事を書いていきたいと思います。

この記事のポイント

  • UnityRecorderで出力される全天球動画は正常に録画できないことがある
  • YouTube360度ステレオ動画をアップロードするには、特殊なメタ情報の付与が必要となる

この2点について解説していきたいと思います。
今回の手法では以下のような動画がUnityから出力が可能で、全天球のステレオ動画としてYouTubeで視聴可能です。

UnityRecorderのインストール

image.png

Unityで動画を作成する際は、簡単にはUnityRecorderという公式のパッケージを利用します。

①WindowからPackageManagerを選択します。

image.png

②左上のPackagesの部分を「Unity Registry」へ変更します。

image.png

③右上のテキストボックスに"Recorder"と入力すると、左のカラムに「Unity Recorder」が表示されるので、選択し、 「install」ボタンをクリックします。

image.png

Unityで360度動画を作成する

UnityRecorderは機能が豊富で、360度動画の作成機能もあります。しかし、この360度動画作成の機能が正常に機能しない問題があります。

image.png

これはもともとの解説記事の画像を引用しますが、

UnityRecorderの360度撮影機能での出力
image.png

解説記事の手法を用いた方法での出力
image.png

© Unity Technologies Japan/UCL

となります。このようにPlayModeで見ている絵と、出力動画が異なる問題が発生します。
上記の記事のソースコードを一部切り出し、UnityPackage化したものを使います。

① 下記のリンクから「UnityVRVideoRecordingTest.unitypackage」をダウンロードしてください。
https://github.com/kotauchisunsun/UnityVRVideoRecordingTest/releases/tag/v0.0.1

image.png

② Unityのツールバーから「Assets」を選び、「Import Package」「Custom Package」を選択し、先ほどの「UnityVRVideoRecordingTest.unitypackage」を選択してください。

image.png

③ ProjectのWindowでRenderTextureを作成します。縦と横のサイズは同じ(正方形)を指定してください。
ここで指定したRenderTextureの解像度が、動画の出力の解像度になります。

image.png

④ 動画を録画するCameraにCubemap To Other Projectionのコンポーネントを付与し、RenderTargetに③で作成したRenderTextureを指定してください。Projection Typeは「Equirectangular_360」で「Render In Stereo」にチェックが入っていると基本的には動作します。

image.png

⑤ Unityのツールバーから「Window」「General」「Recorder」「Recorder Window」を選択し、UnityRecorderを起動します。
image.png

⑥ 「Add Recorder」をクリックし、「Movie」を選択します。
image.png

⑦ Sourceに「RenderTextureAsset」を指定し、「Render Texture」に③で作成したRenderTextureを指定してください。
image.png

⑧ 録画は、「START RECORDING」を押してください。動画には右目左目の動画が上下に分割した動画が出力されます。
image.png

360度メタ情報の付与

YouTubeに360度動画をアップロードしても360度動画として認識されません。そのためのメタ情報の付与をする必要があります。

YouTubeの公式の解説はありますが、分かりにくいので説明します。

① Spatial Media Metadata Injectorをダウンロードします。
https://github.com/google/spatial-media/releases/tag/v2.1

② Spatial media Metadata Injectorを起動し、Openから動画ファイルを指定します。
image.png

③ 「My video is spherical(360)」と「My video is stereoscopic 3D(top/bottom layout)」のチェックを入れ、「Inject metadata」のボタンをクリックし、メタ情報が付与された動画を保存します。
image.png

メタ情報が付与された動画をYouTubeへアップロードし、ステレオ動画として認識されると、右下のUIの歯車マークに「3D」の表示が出ます。
image.png

また、全天球動画として認識されると左上のUIに、視点を動かすためのUIが表示されます。

image.png

参考:YouTube動画が勝手にYouTubeショート動画になる

YouTubeとして動画を表示したい場合、61秒以上の動画にしてください。

技術検証をしてて気づいたのですが、短尺の動画は勝手にYouTubeショートの方になってしまいます。
調べてみた結果、60秒以下の動画は勝手にショート動画としてアップロードされ、なおかつYouTube動画へ変更するのが不可能のようなので、回避したい場合は、動画自体を61秒以上にする必要があるそうです。

感想

 今回、色々とUnityに関する映像のノウハウについて調べることが多かったのですが、なかなか大変でした。UnityRecorderで全天球の出力機能はあるものの綺麗に映像が出ないという技術的な問題が発生しました。次に問題となったのは、動画のチェックです。各個人がHMDをかぶって動画を確認するにしても、都度、HMDをUSBでつなぎ、動画をPCから転送し、確認する。というのは、なかなか面倒なものです。そうすると、YouTubeで限定公開でアップロードして、それを共有して動画を確認する方が色々と便利じゃない?という発想になりました。しかし、YouTubeで見るにもひと手間必要だったりします。
 あんまりUnityの360動画周りの知見は世の中に出てこないな。という予感はあって、それはなんでだろう?という疑問はありました。実際、このような動画の制作を行ってみると、技術的な問題もありますが、品質チェックなどレビューなどの運用にも課題があるため、あまり多くの作品がでてこないなだろうなぁ。と思いました。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1