<2>「バーチャルキャスト」を支える2つの技術
後半は株式会社インフィニットループ 第四分室 仮想室 室長 山口直樹氏が登壇。山口氏は20年間大手ゲーム会社で様々なジャンルのゲームインフラ設計に従事し、その後インフィニットループに入社。サーバサイドエンジニアからVR事業へと転じた独特な経歴をもつ。インフィニットループはゲームやモバイルアプリ向けのサーバ構築・運用を担う北海道の企業で、これまで横須賀の戦艦三笠を体験できるというVRコンテンツ開発や、初音ミク「マジカルミライ」や東京ゲームショウなどへのコンテンツ出展などを行なってきたという。
「Virtual Cast™️(β)(以下、バーチャルキャスト)」は、インフィニットループとドワンゴが共同で開発したVRライブ配信・コミュニケーションサービス。HTC Vive、Oculus、Windows MR等に対応しており、自分の好きなキャラクターになりきって配信が行えるという内容となる。ニコニコ生放送のコメントやTwitterのハッシュタグをVR空間に落とすことでリアルタイムにユーザーとのコミュニケーションが取れるほか、他の人の配信に乱入するコラボ機能も実装されている。
「バーチャルキャストを支える技術」として最初に紹介されたのは、ドワンゴの提唱する「VRM - 3D Humanoid Avatar format for VR」。VRMは3DCGアバターに特化したプラットフォーム非依存のファイル形式で、現在オープンソースとして公開されているが、ここでは主な特徴として「座標の正規化」が挙げられた。「FBXなどは、Unityのモデルデータにメッシュやボーンのデータがある程度入っていても、座標系がバラバラで面倒ということがあります。座標系がちがうと、同じスクリプトを実行してもまったく正反対の挙動となってしまう。従来はキャラクターごとにスクリプトを組む必要がありましたが、VRMを使用して座標の正規化を行うと、同じスクリプトでまったく同じ動きをさせることが可能となります」(山口氏)。VRMのフォーマットを使うというより、正規化のためだけにVRM変換するといった技もあるという。
続いては、VRMの「動的ロードのサポート」が挙げられた。従来、FBXでモデルデータを使用する場合はデータそのものをプロジェクトにインポートしたりダウンロードアセットへの組み込みを行うなどの手間がかかっていた。一方、VRMの動的ロードはVRM Importerを用いてPrefabを自動生成することが可能なため、ワークフローの効率化が望めるようになったという。
また、ファイルの中に人格に関する許諾を同梱でき、これをプログラム内で自由に定義できる利点もある。バーチャルキャストでは、この人格権を確認してモデルの使用の制限を行なっている。
VRMフォーマットとともに、バーチャルキャストの土台を支えるのが先述したモノビットのMUNとVR Voice Chatだ。同サービスにおけるモノビットエンジンの採用理由については、「Linuxサーバを使って自前で構築できること、コストパフォーマンスに優れていること」の2点が挙げられた。
システムはAWSで構築されており、自前でMUNサーバの負荷分散、オートスケーリングを行なっている。APIサーバ・MUNサーバの2レイヤーに分割して間にElastiCacheを置き、MUNサーバから絶えずキャッシュ情報を送信。そのキャッシュデータをAPIサーバが確認し、重さなどを判断してそれぞれのサーバーへの振り分けを行うというしくみだ。
APIサーバ側では「どのサーバにどのようなムーブがあり、どのようなユーザーがいるのか」ということを把握可能。またサーバーがどれだけ増えても、クライアント側からは「ひとつの大きなサーバ」として認識されるため、アトリビュートを増やしていけば特定のユーザーを分けた部屋をつくるなどの挙動を増やすことができるのも特徴と言える。また、サーバからのレスポンスについては「MUNを使う場合は必ずLinux拡張ネットワーキングを使うべきです。追加の課金なしで高い効果を得ることができる」(山口氏)と語った。
モノビットエンジンの導入メリットに関しては、「発生した事象のサンプルを送ると翌日には返答がある」というサポートの迅速さも重要だが、より特徴的なのは「予想以上に堅牢なサーバプログラムであること」と山口氏は語る。実際、2018年4月のサービス開始以降サーバ系のトラブルが一切発生しておらず、安定稼働を保っているという。
モノビットエンジンの機能紹介だけでなく、バーチャルキャストにおけるリアルな使用感も合わせて紹介された本講演。サーバの民主化を図るモノビットエンジンの今後のアップデートとナレッジベースの充実に期待したい。
左から、登壇した山口氏と安田氏