Save 37% off PRO during our Black Friday Sale! »

VTuber収録システムの
 汎用化と自動化の歩み

VTuber収録システムの
 汎用化と自動化の歩み

このスライドはBCU30に登壇した時のスライドです。
https://bcu30.jp/2019/talk/iwasaki-kenta/
概要
バーチャルYoutuber (以下VTuber)のモーキャプ収録システムは主にUnityで開発・保守され、収録機能とキャラモデルのアップデートどちらにも対応する必要があります。
本発表では、システムの汎用化と作業の自動化により、エンジニアの開発・保守のスピードが劇的に高まった事例を紹介します。

B83abec8cbad9e58b92d84b0d509b73e?s=128

Kenta Iwasaki

July 06, 2019
Tweet

Transcript

  1. VTuber収録システムの
 汎⽤化と⾃動化の歩み 株式会社CyberV クライアントシステムDiv. Unityエンジニア 岩﨑 謙汰 @iwaken Battle Conference

    Under Room / /
  2. Kenta Iwasaki (イワケン) • Unityエンジニア at CyberV, Inc. • VTuberエンジニア兼TD

    (テクニカルディレクター) • . ~ . 
 VTuber収録システム開発‧保守リーダー
 同時期に最⼤10⼈以上のVTuberの運⽤をサポート • . ~ . 
 アズマリムさんのMV「⼈類みなセンパイ!」
 制作のテックリード • . ~ 
 新規VRサービスのUnityエンジニア @iwaken
  3. VTuberとは? (Wikipediaより) • バーチャルYouTuberは、
 YouTuberとして動画配信‧投稿を⾏う
 コンピュータグラフィックスのキャラクター
 • YouTube以外のサービスを利⽤する際などに
 YouTubeという特定のサービス名を使⽤することを避けるため、
 単に「VTuber」または「バーチャルライバー」と呼称することがある。

    キズナアイさん
  4. 今⽇のトークで伝えたいこと • VTuberエンジニアは問題の⾒極めと巻き込み⼒が⼤事 • 指⽰が正しいとは限らない、本当に解くべき問題を⾒極めよ • 様々な利害関係者を巻き込みながら、⼀つのゴールに向かっていく • VTuberエンジニアのミッション
 求められているクオリティに対して


    無事故、低コスト、少ない⼯数で
 コンテンツをリリースする最⼤限のサポートをする。
  5. VTuber収録システムとは? • モーションキャプチャ技術等を⽤いて3Dキャラモデルに
 ⼈間的な操作、動き、表情を反映させ、映像素材をつくるアプリケーション。
 弊社のシステムではUnityによる開発を採⽤。(2018-12⽉までスパーククリエイティブ社と共同開発) モーキャプ⽤スーツ コントロール画⾯ 映像出⼒画⾯ VTuber収録システム ©

    UTJ/UCL
  6. 問題の⾒極めから解決まで 現状把握 巻き込み‧実装 評価‧改善 解決策(仮説) 2018年12⽉~2019年3⽉の課題設定 4⽉までに、内製エンジニアOnlyで、10⼈前後のVTuberの
 開発&運⽤をサポートできる状態にする

  7. 現状把握 現状把握 巻き込み‧実装 評価‧改善 解決策(仮説) 2018年12⽉~2019年3⽉の課題設定 4⽉までに、内製エンジニアOnlyで、10⼈前後のVTuberの
 開発&運⽤をサポートできる状態にする

  8. 2018年12⽉の岩﨑の仕事状況 VTuberプランナー約8名 キャラクターの要望 システムの要望 コンテンツ制作 その他⾊々 VTuberエンジニアチーム 社員2⼈ インターン⽣1⼈ 依頼

    Chara_A担当プランナー Chara_B担当プランナー Chara_K担当プランナー リソースは潤沢でないので ⼈海戦術は不可能 Dリッチな映像(MV)を 作りたい機運の⾼まり
  9. モデルセットアップのフロー 収録機能 ‧モーキャプ連携 ‧カメラ切り替え ‧背景切り替え ‧表情切り替え ‧⼝パク VTuber収録システム キャラモデル ‧セットアップ済み

    キャラPrefab 収録システム⽤に以下の
 コンポーネントを追加&調整 ‧物理制御 ‧Shader ‧表情設定 ‧リップシンク設定 ‧視線設定 キャラモデルのセットアップ Maya上の作業 ‧モデリング ‧テクスチャ ‧スキニング ‧フェイシャル キャラモデルfbxの制作 Dデザイナーの仕事 Unityエンジニアの仕事 2~5営業⽇ fbx データ Prefab © UTJ/UCL 機械的な作業が
 多く潜んでいる 確認漏れによる リテイクが多い
  10. キャラごとに収録システムのレポジトリを作っていた • キャラモデルデータのsetup, updateはこのレポジトリ上で⾏う • コンポーネントの種類やバージョンがバラバラ • fbxの仕様がバラバラ • 収録機能の実装を全キャラクターのリポジトリに反映するのが⾯倒

    当時のレポジトリ構成と仕様の問題点 Chara_Aレポジトリ Chara_Aデータ 収録機能ver . Chara_Bレポジトリ Chara_Bデータ 収録機能ver . Chara_Kレポジトリ Chara_Kデータ 収録機能ver . ‧‧‧ Chara_A⽤収録システム Chara_B⽤収録システム Chara_K⽤収録システム キャラによって 収録機能が違う
  11. 解決策 (仮説) 現状把握 巻き込み‧実装 評価‧改善 解決策(仮説) 2018年12⽉~2019年3⽉の課題設定 4⽉までに、内製エンジニアOnlyで、10⼈前後のVTuberの
 開発&運⽤をサポートできる状態にする

  12. 解決策の⽅針 ⽅針 • モデルセットアップの⾃動化 • 機械的な作業は⾃動化する • 確認漏れが起きない仕組みにする • エンジニア以外も作業できる環境にする

    • 収録システムの汎⽤化 • キャラモデルデータと疎結合にアップデートできるようにする • 1つのプルリクで全キャラ分のシステムに反映される仕組みにする
  13. 具体的な解決案と⾒積もり • レポジトリを2つに絞る • セットアップ時のコンポーネントの統⼀ • キャラモデルのセットアップの⾃動化 • セットアップの⾃動チェック

  14. 具体的な解決案と⾒積もり • レポジトリを2つに絞る (2営業⽇) • セットアップ時のコンポーネントの統⼀ (3営業⽇) • キャラモデルのセットアップの⾃動化 (3営業⽇)

    • セットアップの⾃動チェック (2営業⽇) 10営業⽇ぐらいあれば⾏けそう
  15. • Model_Base: キャラモデルのセットアップ専⽤ • VTuber_Base: セットアップ済みキャラモデルをimportすることで
 即収録システムになる。キャラ毎にブランチを作る (カスタマイズの余地) レポジトリを2つに絞る Model_Base

    Chara_Aデータ Chara_Bデータ
 Chara_Kデータ セットアップ⾃動化機能 Import VTuber_Base Chara_A 収録共通機能 Chara_Aデータ develop 収録共通機能 Chara_B 収録共通機能 Chara_Bデータ Chara_K 収録共通機能 Chara_Kデータ Merge ←チーム開発で機能追加 Merge Merge
  16. コンポーネントの統⼀ • 揺れもの物理 → UnitychanSpringBone[ ] , VRMSpringBone[ ] など

    •実績あり。コピー機能がある • Shader → UnitychanToonShader[ ] , MToon[ ] など • 同じAssetの場合、metaファイルのGUIDも⼀致させる •プロジェクト間でPrefab移動した際に、参照外れが起きないようにするため。 → レポジトリを2つに絞ることで、
 コンポーネントのバージョン管理もしやすい [1] Copyright (c) 2018 Unity Technologies [2] Copyright (c) 2018 DWANGO Co., Ltd. for UniVRM,Copyright (c) 2018 ousttrue for UniGLTF, UniHumanoid, Copyright (c) 2018 Masataka SUMI for MToon [3] © UTJ/UCL
  17. キャラモデルセットアップの⾃動化 • 正規表現を⽤いてセットアップの⾃動化 •fbxのブレンドシェイプ名の命名規則を統⼀ 例: 001を含むと’A’のブレンドシェイプ 例: 101以降は同じ番号が同じ表情 •揺れものの補助ボーン名には’shake’という
 ⽂字列を⼊れる

    ⼀括でSpringBoneコンポーネントを付与できる • Dデザイナーさんに協⼒をいただく • ⾮エンジニアでも作業できるUI
  18. セットアップの⾃動チェック • Nullチェック, 表情⽬線チェック機能 • Editor拡張で⾮エンジニアも
 実践できるように

  19. 巻き込み‧実装 現状把握 巻き込み‧実装 評価‧改善 解決策(仮説) 2018年12⽉~2019年3⽉の課題設定 4⽉までに、内製エンジニアOnlyで、10⼈前後のVTuberの
 開発&運⽤をサポートできる状態にする

  20. 巻き込み‧実装 • 必要な社内の⼈材を巻き込む • CyberV社⻑に「収録システムの汎⽤化‧⾃動化プロジェクトに集中したいため、
 社内の3D映像制作の企画を抑えめにしていただきたいです」と許可を取る • 各プランナーにお願いと理由を説明。 • Dデザイナーを巻き込み、3Dモデルの仕様作成と最適化作業を依頼。

    • 空き時間に少しずつ実装 & アウトプット発信 • ⼩出しにアウトプットを共有することで、周りからも安⼼される。
  21. 巻き込み‧実装 • 必要な社内の⼈材を巻き込む • CyberV社⻑に「収録システムの汎⽤化‧⾃動化プロジェクトに集中したいため、
 社内の3D映像制作の企画を抑えめにしていただきたいです」と許可を取る • 各プランナーにお願いと理由を説明。 • Dデザイナーを巻き込み、3Dモデルの仕様作成と最適化作業を依頼。

    • 空き時間に少しずつ実装 & アウトプット発信 • ⼩出しにアウトプットを共有することで、周りからも安⼼される。 今、会社としてエンジニアが集中
 すべきことは何かとプレゼンした
  22. 評価‧改善 現状把握 巻き込み‧実装 評価‧改善 解決策(仮説) 2018年12⽉~2019年3⽉の課題設定 4⽉までに、内製エンジニアOnlyで、10⼈前後のVTuberの
 開発&運⽤をサポートできる状態にする

  23. セットアップ: 2営業⽇→10分 • セットアップの⾃動化に2営業⽇かかっていた作業が10分(ほぼ0営業⽇)へ • セットアップの⾃動チェック機能により、
 ⼿動作業部分の⾒落としが少なくなった • コンポーネントのバージョン管理が楽になり、保守の時間が減った •

    ⾮エンジニアもセットアップができるようになった
 
 → ⼯数削減!エンジニアのパフォーマンス向上!
  24. 5⽉から引き継いだ後輩エンジニア意⾒ • レポジトリが2つに絞られたので、
 issue管理やプルリクレビューができるようになった • 共通財産として、システムを進化させられるようになった • チェックの⾃動化めちゃくちゃ助かっている • マージでコンフリクトが起きるのが課題。そこもいずれ取り組みたい


    
 → 現在、岩﨑はVTuber収録システムの管理を全て後輩に託し、
  新しいVRサービスを開発中
  25. まとめ • VTuberエンジニアは問題の⾒極めと巻き込み⼒が⼤事 • 指⽰が正しいとは限らない、本当に解くべき問題を⾒極めよ • 様々な利害関係者を巻き込みながら、⼀つのゴールに向かっていく • VTuberエンジニアのミッション
 求められているクオリティに対して


    無事故、低コスト、少ない⼯数で
 コンテンツをリリースする最⼤限のサポートをする。