Slide 1

Slide 1 text

株式会社Wright Flyer Live Entertainment バーチャルエンジニア 安川 貴志 さまざまなキャプチャーデータを合成して 再分配するシステム 「REALITYStudio MotionEngine」 について 株式会社Wright Flyer Live Entertainment バーチャルエンジニア 髙橋 悠

Slide 2

Slide 2 text

• REALITY Studioで開発/運用しているMocapミドルウェア(?) • 名称が長いのでRSMEと呼んでいます。 REALITY Studio Motion Engineの紹介 REALITY Studio Motion Engineとは 2 RealityStudio Motion Engine のプレビュー画面 安川 高橋

Slide 3

Slide 3 text

3 どのようなところか REALITY Studio

Slide 4

Slide 4 text

• 主にVTuberの番組の配信/収録を行っている。 • 最近バーチャルライブ制作プラットフォームの提供を始めた。 REALITY Studioはこんなところです REALITY Studio 4 REALITY Studio の Youtube https://www.youtube.com/channel/UCK72PAXy0T6v49CDgLzzOIQ Wright Flyer Live Entertainment、 バーチャルライブ制作プラットフォーム REALITY Live Stageを提供開始 https://le.wrightflyer.net/news/20200713_02.html

Slide 5

Slide 5 text

• 初期設計段階ではかなり共通度高かった。 • モデルの基本構造に共通性があり、VRM経由でのエクスポー トでREALITYアプリからスタジオへアバターを渡すことが可 能。 • 一般配信者が弊社スタジオに来て、自分のアバターをフルボ ディキャプチャで演じる事ができるイベントが開催されてい る。 • 詳細はこの2つ後のセッションで触れられと思うのでスキッ プします。 共通部分と独自部分について REALITYアプリとの関係性について 5

Slide 6

Slide 6 text

REALITY Studio Motion Engineを使った事例紹介 REALITY Studio

Slide 7

Slide 7 text

REALITY Studio Motion Engineを使った事例紹介 REALITY Studio

Slide 8

Slide 8 text

REALITY Studio Motion Engineを使った事例紹介 REALITY Studio

Slide 9

Slide 9 text

• どっとライブ の「TOKYO IDOL STADIUM 2020」 • Vチョイす ! • 謎検に挑戦 • REGALILIA お披露目ライブ presented by #ぶいおん!! MUSIC LIVE • V立REALITY学園 • WONK「EYES」SPECIAL 3DCG LIVE • KMNZ ENDLESS SUMMER • vスポ REALITY Studio Motion Engineを使った事例紹介 REALITY Studio 9

Slide 10

Slide 10 text

REALITY Studio Motion Engineを使った事例紹介 REALITY Studio https://www.youtube.com/watch?v=Mr13ugunbAE

Slide 11

Slide 11 text

11 はじまりの話 REALITY Studio Motion Engine

Slide 12

Slide 12 text

• 2019年の年末からIKinema社との連絡が急に途絶えた。 • 手持ちのIKinema LiveActionライセンスは2020/04までに なっている。 • ライセンスが切れるとスタジオで一切モーションキャプチャ ーが行えなくなる。 ミドルウェアのライセンス問題 REALITY Studio Motion Engineの開発経緯 12 ライセンスが切れる前に なんとかしなければならない!!

Slide 13

Slide 13 text

• IKinema LiveActionを解析しながら要件定義🔥 • 猶予期間が不明なので、要件定義もそこそこに実装もスター トする必要あり🔥 • 配信開始が遅れたり、放送を中止する原因になっているボー ン崩れを『はよ放送中に補正できるように』と現場から突き 上げられている🔥 • 大規模番組の保守もしながら、新規開発もするよ🔥🔥 • IKinema LiveActionのオンライン認証が突然死して、番組 配信できなくなるかも🔥🔥🔥🔥🔥 当時の燃焼度 REALITY Studio Motion Engineの開発経緯

Slide 14

Slide 14 text

OODAループを基本とし、OOD部分をリーダーの安川が担当。 ActionをGithub Projectのチケットに起こし、得意そうな人に アサイン。 レビューと動作検証は、リーダーが責任を持って行う方針。 実装部分の詳細設計は、担当者に完全に任せることにした。 戦闘級の解決方法は現場が一番詳しい。 戦略(何を作るの?)がふわっとしているので、戦術・戦闘級でとにかく勝利する REALITY Studio Motion Engineの開発経緯 ミドルウェア 解析 現場で必要だ ったか 要件定義 開発 初期 過去の要望 洗い出し 半年後に必要 な機能か 要件定義 開発 中期 実証デモ 操作の 手触り感 WYSIWYGに なっているか 改善 後期

Slide 15

Slide 15 text

機能を絞り開発スピードを優先しつつ、以下を可能にすること。 1. Mocapミドルウェア(VICON/XSens)の最小実装 2. Mocapデータのリアルタイム補正 3. Mocap/Face/Finger/Effectなどデーターの再分配 4. 複数UE4の重いセットアップ作業の撤廃 プロジェクト目標 REALITY Studio Motion Engineの開発経緯 15

Slide 16

Slide 16 text

16 開発編 REALITY Studio Motion Engine

Slide 17

Slide 17 text

• IK 処理は各Mocapシステムが提供しているPluginに任せて いる。 • モデルのスケルトンはUnity Humanoid+αとしている。 • UE4 へはUnity Humanoid部分のFKを送っている。 • 現時点ではUnity上でIK解決は行っていない。 新規開発は最小限にし、既存資源を活用する Mocapミドルウェア(VICON/XSens)の最小実装 17 Unity Humanoid Mocap Unity Plugin Animator Humanoid UE4 Plugin Animation BluePrint

Slide 18

Slide 18 text

• IKinema Live ActionはUE4エディター上でのみ編集可能。 • リグの調整はアクターごとに行う必要があり、スーツを脱着す る度、また配信本番直前にも最終調整を行う。 • UE4 エディター上で調整したリグファイルは、番組で使用す る全 UE4 にコピーする必要がある。 • 番組が大規模/複雑化し、多数のUE4を同時運用することが増 え、全体のセットアップコストが無視できなくなってきた。 今までの課題 Mocapデータのリアルタイム補正 18 過去の運用マニュアルより EYES SPECIAL 3DCG LIVEでは 全部でUEを7台同時に運用

Slide 19

Slide 19 text

• REALITY Studio Motion Engineにリグ調整機能を実装し、 リアルタイムに全UE4に反映できるようにした。 課題の解決 Mocapデータのリアルタイム補正 19 IKinema Live Action のリグ調整画面 IKinema Live Action ではエディターで編集した後、 ファイルを各 UE4 PC にコピーする必要があった。 RealityStudio Motion Engine のリグ調整画面 リアルタイムで使用する UE4 PC 全部に反映させる ことができる。

Slide 20

Slide 20 text

各エッジに設定されていたものを、ハブに設定を集中させる Mocap/Face/Finger/Effectなどデーターの再分配 UE4 UE4 UE4 Mocap Face Finger UE4 UE4 UE4 Mocap Face Finger REALITY Studio MotionEngine • データの流れを大改革

Slide 21

Slide 21 text

• 登場するキャラクター達の設定 • ステージ設定 • 各種通信データーの接続先、待ち受けポートの設定 • IKinemaRig(ボーンリターゲット)の調整 • カメラ位置データー • etc… 現場でセットアップ内容が変更になると、全UE4の設定を変更す る必要がある。 全UE4でセットアップを同期させる必要があった 複数UE4の重いセットアップ作業の撤廃 21

Slide 22

Slide 22 text

• 登場するキャラクター達の設定 • ステージ設定 • 各種通信データーの接続先、待ち受けポートの設定 • IKinemaRig(ボーンリターゲット)の調整 • カメラ位置データー • etc… 全UE4でセットアップを同期させる必要があった 複数UE4の重いセットアップ作業の撤廃 22 Mocapに関する部分はRSMEに設定作業を追い出し完了 そのうちセットアップをRSMEで管理できるようになる(希望)

Slide 23

Slide 23 text

23 開発中に出てきたあるある話 REALITY Studio Motion Engine

Slide 24

Slide 24 text

• Unreal C++/Blueprint/UMG UIよりもC#/uGUIの経験の ほうがあるため開発はし易かった。 • 複数人で開発しても現実的なレベルでマージが行えた。 (Unreal C++は問題ないがBlueprintは大変) Unityを採用したこと 開発話 24

Slide 25

Slide 25 text

• GC によるスパイクでモーションがカクつく。 • 配信時間を考慮すると最低2時間はカクつきなしで動作する 必要あり。 • GC が発生しないようにメモリ確保の頻度を抑えるように直 した(古典的対策)。 • 盲点だったのはMocapデーターに含まれる文字列情報。デー ターを受け取るたびに大量の文字列生成が発生してしまうの でバイト配列からキャッシュされた文字列を検索/取得する ようにした。 メモリ問題 開発話 25

Slide 26

Slide 26 text

• 開発中に Unity2019 の LTS が出たのでアップデートして みたものの細かい不具合やパフォーマンスの低下が発生し、 期限に間に合わなかったので断念した。そのため Incremental GCは試せていない。 メモリ問題 開発話 26

Slide 27

Slide 27 text

• 不具合やパフォーマンスの改善を求めてUnityのアップデー トを逐一適用するようにしていたらアップデートのたびに通 信がブロックされ、コードの変更がないのにデーターが届か ないという問題がおきていた。 • アップデートしたらエディターを起動する前にファイアウォ ールの設定を変更するよう気をつけている。 ファイアウォール 開発話 27

Slide 28

Slide 28 text

• 開発終盤でCOVID-19が流行し、全員テレワークになった。 • Xsens MVNは通信ネゴシエーション無しにUDPでモーショ ンデーターを送信するので、パケットをキャプチャーして自 宅で開発できた。 • VICON(Shogun)は通信ネゴシエーション部分がTCPなので、 スタジオでしか開発できない状況。緊急事態宣言が解除され るまでVICON(Shogun)の検証が行えずなかなか辛かった。 検証環境 開発話 28

Slide 29

Slide 29 text

• 開発当初、他社のミドルウェアを採用することで短期間でリ アルタイムモーションキャプチャーを実現できたが、そのミ ドルウェアが使えなくなると大変だった。 • しかしスタジオ開始当初と今では状況が異なってきている。 • 最初は2人のVTuberがトークするだけのシステムだったが、 今は8人でライブしたり複数の部屋をまたいで配信したり大 規模化。 • システムを見直す良い機会になった。 まとめ まとめ 29

Slide 30

Slide 30 text

• 開発のし易さ/速さとパフォーマンスはトレードオフ。 • モーションキャプチャーは高いパフォーマンスが求められる。 • 状況に合わせて対応するのが良い。 • 私達は時間が残されていなかったので前者を取った。 まとめ まとめ 30

Slide 31

Slide 31 text

31