Google APIを使って順位表示を配信に載せてみた話
こんにちは。komatsuです。
clusterのベータ版で外部通信機能が実装されたとのことなので便乗してみることにします。
VRマラソンでの順位表示
今年の3月のことなので随分時間が空いてしまいましたが、てつじんさん主催の『KATlocoSでフルマラソン大会』にて、レース中の順位表示をリアルタイムで配信画面に載せるということにチャレンジしました。
結論から言うとやりたいことの半分は出来た、というところです。
VRChat上に作られた東京マラソンコース(こたのわさん作・実寸大)で9名のランナーが走るという、前代未聞のeSportsです。
野球やモータースポーツを現地で観戦したことがある人ならわかると思いますが、スポーツを中継するというのはけっこう難しいです。不確定要素の多いゲームの進行を俯瞰して、物事を整理して伝えなければなりません。
特にレースが進むにしたがって走者がばらけるマラソンでは、今誰がどこを走っているのか、順位はどうなっているのかというのが見えないといけません。
今回の順位表示を自動化できないかと考えました。
仕組み
イメージとしてはこうです。
①チェックポイントを通過したタイムなどをもとに、何かをどうにかして数値化
②Google sheetsにアクセスし、順位を適用
③配信側でGoogle sheetsからデータを取得して順位表示に適用
①いかんせん、komatsu自身がUnityの何たるかを解かっておらずここのところがうまくいきませんでした。こたのわさん、ご尽力いただきありがとうございました。
最終的には①→②の部分は人力です。
②→③の部分は以下の記事を参考に、vMixにデータを取得することができました。
Google sheetsの順序を手作業で入れ替えるという状況でしたが、配信担当と進行管理を手分けできたということでもありますので、何かしらの意味はあったんじゃないかと思います。
OBSでもできそう
毎度のことですが、OBSで出来ないことをこれ見よがしに紹介しても意味はないと思っているので、これで出来そう!という引用をいかに上げておきます。
これとか
こちらとか
これらを参考にしていただければ同じようなことができるのではないでしょうか。
今回、clusterベータ版で外部通信機能が実装されたということで、このアイディアが完結できるんじゃないだろうかと思い記事にしました。