Perl日記

日々の知ったことのメモなどです。Perlは最近やってないです。

Unity から YouTube で 360度ライブ配信をしたときに調べてやったまとめ

f:id:rightgo09:20190530084156p:plain
ねこ型オブジェクト

YouTubeライブ配信をするために

360度ライブ配信に関するYouTube のヘルプページ

  • https://support.google.com/youtube/answer/6396222?hl=ja
  • 「現在、YouTube でサポートされている 360° 動画は正距円筒図法によるものだけです」
  • 「360° ライブでは 2160p または 1440p の解像度が推奨されます。」
  • 「最適な動画品質を提供するために 16:9 のアスペクト比を選択します。詳しくは、アスペクト比についての記事をご覧ください。」
  • 手持ちのモニタでは 1920x1080 が限界だったので、フルスクリーンでアプリ起動して、1080p で送った
  • 四方八方の映像を送るので、解像度的にはたぶんこれくらいが限界かもしれない
    • それでもカメラに近寄るとジャギジャギしてしまっていた
    • 4K とかで送れるならそれがベストなのに越したことはない

f:id:rightgo09:20190530083306p:plain
ジャギジャギしている

正距円筒図法 = Equirectangular

  • Unity 2018 のバージョンから RenderTexture.ConvertToEquirect が使えるようになったらしい(よくわかってない)
    • なのでまずは気合で Unity 2018 までバージョンアップします(しました)
Recorder を使う
Facebook のライブラリを使う
  • GitHub - facebook/360-Capture-SDK
  • Unity から直接 YouTube ライブ配信に必要な設定(ストリームキーとか)もできる、なんかすごそうなやつ
  • OBS などを挟まないので、「ちょっと待ってね」シーンとかに切り替えできないのと、後述の資料でちょっと不安な感じだったので、今回はやめておいた
Unity の機能を直接使う

実際に 360度ライブ配信をやってみて、気になったところ

  • HMD 内でレンダリングされている世界と、Equirectangular で出力した映像に、ズレがあった
    • 具体的にはトラッキングしている 3D モデルが腰の位置で高さが固定されてしまって、頭は下に下がらないし、足を曲げても宙に浮いてしまっていた
      • ライブ配信時のコメントで、「浮いてる」とあって、「浮いてないです」と答えてしまったけど、あとでアーカイブ見たら浮いてた(悲)
    • 同じ原因で、メガネも HMD の位置に追随するようにしていたので、自分にはちゃんと見えていても YouTube では縦横無尽に移動するメガネとなってしまった
  • 私の見えている世界が、世界のすべてではなかった……!


f:id:rightgo09:20190530082138p:plain
ねこ型オブジェクトを撫でていたのに、ライブ配信では浮いてしまっていたスクショ

そのほか

  • なんか新しい演出を入れたいなと思って、パーティクルを入れてみた
    • Particle Collection SKJ 2016_Free samples - Asset Store
    • magic_ring ってやつ
    • サイズが大きかったので Scaling Mode を Hierarchy にして普通にサイズ調整して、Play() と Stop() しかやりかた分かんなかったけど
    • Unity のパーティクルシステムは Shuriken っていうの、初めて知った
  • 360 度の世界を見せるのに何かできないかなと考えて、赤いキューブを回転させて、その上にねこを置いた

【生存報告】 YouTube で 360度ライブ配信してみた

いつもの月末社内 LT 会で、YouTube の 360度ライブ配信をやってみた。

360度動画とか360度ライブとは

f:id:rightgo09:20190529092938p:plain

↑こういう映像が
↓こういう風に視聴できる(クライアントの対応が必要)

f:id:rightgo09:20190529093041p:plain
視点を動かすこともできる。
f:id:rightgo09:20190529093124p:plain


箇条書きまとめ

  • 何か新しいことやってみたいな、と思って YouTube で 360度ライブ配信やることにした
  • 360 度どころか、ライブ配信自体が初めてだったので、めちゃくちゃ緊張した
    • 限定公開で URL 知っているひとしか見られないようにしていたとはいえ
    • 2019 年で一番緊張した
    • 緊張しすぎて、文字を読んで理解するのもなんか危うかった
  • 一部ちょっと思ってたのと違う感じになったけど、おおむねよくできた、と思う
  • 配信は自宅からで、オフィスとは通信を切った状態でやったので、オフィス側の様子の録画を頼んで正解だった
    • あとでアーカイブ再生とその録画を同時に再生して楽しんだ
    • 配信中はめちゃくちゃ疎外感があった

スクリーンショットとか

Unity の画面
f:id:rightgo09:20190528085114p:plain

ちゃんと足が地面に着いて、しゃがめている画面
f:id:rightgo09:20190528085254p:plain

一人称視点のみ見える画面(左手が Chrome のコメントチェック用で、右手が Sublime Text で台本用)
f:id:rightgo09:20190528085435p:plain

Equirectangular で出力
f:id:rightgo09:20190528085746p:plain

ナウシカごっこしている 3D モデル( VRoid で作ってみてたやつをせっかくなので置いてみた)
f:id:rightgo09:20190528085818p:plain

【生存報告】またまた VR で LT した

平成最後の金曜日、社内の LT 会でまた VR で LT した。
今回は Unity で自作したものを使った。
前に作ったやつを、ほぼ1年ぶりに作り直したので、いろいろ苦労と工夫した。

箇条書きまとめ

  • モーションアクタとオペレータで作業を分担できるようにした
    • 事前に台本とカンペウィンドウを用意していたので、アクタ側はとりあえずそれを読めばいいようにしておいた(VR 空間内から見られるようにした)
    • 最終的にわちゃわちゃしてしまったので全然アカンかったけど
  • SteamVR Plugin がメジャバージョンアップで v2 となり、制御の方法が変わっていて把握するのに時間がかかった
  • Oculus Lipsync は、最初の実験ではうまくいっていたように見えたけど、NETDUETTO の仮想オーディオデバイスに紐づかず、ここは最終的に諦めてしまった
    • Unity 2017.4.17f1 を使っていたのだけど、バージョンをあげれば解決するらしい
    • 動かなかったわけではなくて、ゆかりねっとのマイクの方(既定のデバイス)につながってしまって、音声認識中の様子がリップシンクに表れてしまったという意味
  • みんな英語でやる感じだったので、 ゆかりねっとコネクター を使わせてもらって、同時に翻訳字幕も出した(FANBOX 支援した)
    • 英語を話すのではなく、無理やり技術で解決するパワー系
  • 最後の肝心な部分で、パソコンがハングアップして、何も動かなくなってしまって、LT もパソコンも強制終了となってしまったのが悔しい
    • 時事ネタオチだったので2回目はないな
    • Zoom で録画していた分は、パソコンの電源入れて、録れてた分の録画ファイルをダブルクリックしたら、自動的にコンバートが始まって mp4 にしてくれた。ありがとう Zoom

スクショまとめ

f:id:rightgo09:20190428095911p:plain
f:id:rightgo09:20190428092215p:plain
f:id:rightgo09:20190428092235p:plain
f:id:rightgo09:20190428092302p:plain
f:id:rightgo09:20190428092314p:plain
f:id:rightgo09:20190428092347p:plain
f:id:rightgo09:20190428092421p:plain
f:id:rightgo09:20190428092442p:plain
f:id:rightgo09:20190428092515p:plain
f:id:rightgo09:20190428092543p:plain
f:id:rightgo09:20190428092601p:plain
f:id:rightgo09:20190428092620p:plain
f:id:rightgo09:20190428092641p:plain
f:id:rightgo09:20190428092706p:plain
f:id:rightgo09:20190428092723p:plain
ここでパソコン止まった。「ほな、いただきます」までやってほしかった。無念