Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

Kenta Iwasaki (イワケン) • Unityエンジニア at CyberV, Inc. • VTuberエンジニア兼TD (テクニカルディレクター) • . ~ . 
 VTuber収録システム開発‧保守リーダー
 同時期に最⼤10⼈以上のVTuberの運⽤をサポート • . ~ . 
 アズマリムさんのMV「⼈類みなセンパイ!」
 制作のテックリード • . ~ 
 新規VRサービスのUnityエンジニア @iwaken

Slide 3

Slide 3 text

VTuberとは? (Wikipediaより) • バーチャルYouTuberは、
 YouTuberとして動画配信‧投稿を⾏う
 コンピュータグラフィックスのキャラクター
 • YouTube以外のサービスを利⽤する際などに
 YouTubeという特定のサービス名を使⽤することを避けるため、
 単に「VTuber」または「バーチャルライバー」と呼称することがある。 キズナアイさん

Slide 4

Slide 4 text

今⽇のトークで伝えたいこと • VTuberエンジニアは問題の⾒極めと巻き込み⼒が⼤事 • 指⽰が正しいとは限らない、本当に解くべき問題を⾒極めよ • 様々な利害関係者を巻き込みながら、⼀つのゴールに向かっていく • VTuberエンジニアのミッション
 求められているクオリティに対して
 無事故、低コスト、少ない⼯数で
 コンテンツをリリースする最⼤限のサポートをする。

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

2018年12⽉の岩﨑の仕事状況 VTuberプランナー約8名 キャラクターの要望 システムの要望 コンテンツ制作 その他⾊々 VTuberエンジニアチーム 社員2⼈ インターン⽣1⼈ 依頼 Chara_A担当プランナー Chara_B担当プランナー Chara_K担当プランナー リソースは潤沢でないので ⼈海戦術は不可能 Dリッチな映像(MV)を 作りたい機運の⾼まり

Slide 9

Slide 9 text

モデルセットアップのフロー 収録機能 ‧モーキャプ連携 ‧カメラ切り替え ‧背景切り替え ‧表情切り替え ‧⼝パク VTuber収録システム キャラモデル ‧セットアップ済み キャラPrefab 収録システム⽤に以下の
 コンポーネントを追加&調整 ‧物理制御 ‧Shader ‧表情設定 ‧リップシンク設定 ‧視線設定 キャラモデルのセットアップ Maya上の作業 ‧モデリング ‧テクスチャ ‧スキニング ‧フェイシャル キャラモデルfbxの制作 Dデザイナーの仕事 Unityエンジニアの仕事 2~5営業⽇ fbx データ Prefab © UTJ/UCL 機械的な作業が
 多く潜んでいる 確認漏れによる リテイクが多い

Slide 10

Slide 10 text

キャラごとに収録システムのレポジトリを作っていた • キャラモデルデータのsetup, updateはこのレポジトリ上で⾏う • コンポーネントの種類やバージョンがバラバラ • fbxの仕様がバラバラ • 収録機能の実装を全キャラクターのリポジトリに反映するのが⾯倒 当時のレポジトリ構成と仕様の問題点 Chara_Aレポジトリ Chara_Aデータ 収録機能ver . Chara_Bレポジトリ Chara_Bデータ 収録機能ver . Chara_Kレポジトリ Chara_Kデータ 収録機能ver . ‧‧‧ Chara_A⽤収録システム Chara_B⽤収録システム Chara_K⽤収録システム キャラによって 収録機能が違う

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

解決策の⽅針 ⽅針 • モデルセットアップの⾃動化 • 機械的な作業は⾃動化する • 確認漏れが起きない仕組みにする • エンジニア以外も作業できる環境にする • 収録システムの汎⽤化 • キャラモデルデータと疎結合にアップデートできるようにする • 1つのプルリクで全キャラ分のシステムに反映される仕組みにする

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

具体的な解決案と⾒積もり • レポジトリを2つに絞る (2営業⽇) • セットアップ時のコンポーネントの統⼀ (3営業⽇) • キャラモデルのセットアップの⾃動化 (3営業⽇) • セットアップの⾃動チェック (2営業⽇) 10営業⽇ぐらいあれば⾏けそう

Slide 15

Slide 15 text

• 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

Slide 16

Slide 16 text

コンポーネントの統⼀ • 揺れもの物理 → 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

Slide 17

Slide 17 text

キャラモデルセットアップの⾃動化 • 正規表現を⽤いてセットアップの⾃動化 •fbxのブレンドシェイプ名の命名規則を統⼀ 例: 001を含むと’A’のブレンドシェイプ 例: 101以降は同じ番号が同じ表情 •揺れものの補助ボーン名には’shake’という
 ⽂字列を⼊れる ⼀括でSpringBoneコンポーネントを付与できる • Dデザイナーさんに協⼒をいただく • ⾮エンジニアでも作業できるUI

Slide 18

Slide 18 text

セットアップの⾃動チェック • Nullチェック, 表情⽬線チェック機能 • Editor拡張で⾮エンジニアも
 実践できるように

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

セットアップ: 2営業⽇→10分 • セットアップの⾃動化に2営業⽇かかっていた作業が10分(ほぼ0営業⽇)へ • セットアップの⾃動チェック機能により、
 ⼿動作業部分の⾒落としが少なくなった • コンポーネントのバージョン管理が楽になり、保守の時間が減った • ⾮エンジニアもセットアップができるようになった
 
 → ⼯数削減!エンジニアのパフォーマンス向上!

Slide 24

Slide 24 text

5⽉から引き継いだ後輩エンジニア意⾒ • レポジトリが2つに絞られたので、
 issue管理やプルリクレビューができるようになった • 共通財産として、システムを進化させられるようになった • チェックの⾃動化めちゃくちゃ助かっている • マージでコンフリクトが起きるのが課題。そこもいずれ取り組みたい
 
 → 現在、岩﨑はVTuber収録システムの管理を全て後輩に託し、
  新しいVRサービスを開発中

Slide 25

Slide 25 text

まとめ • VTuberエンジニアは問題の⾒極めと巻き込み⼒が⼤事 • 指⽰が正しいとは限らない、本当に解くべき問題を⾒極めよ • 様々な利害関係者を巻き込みながら、⼀つのゴールに向かっていく • VTuberエンジニアのミッション
 求められているクオリティに対して
 無事故、低コスト、少ない⼯数で
 コンテンツをリリースする最⼤限のサポートをする。