UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境
 2018年10月14日,神奈川県・パシフィコ横浜で「UNREAL FEST EAST 2018」が開催された。
 その中で,UE4の最新機能を紹介する,自称UE4エバンジェリスト系VTuber水瀬ツバキことEpic Games Japanサポートエンジニアの岡田和也氏による講演が行われた。なお講演の冒頭部はツバキちゃんによる進行だったのだが,当日の音声の調子が悪く,途中から岡田氏による講演となった。

水瀬ツバキな岡田和也氏
 最近なにかと流行しているらしいVTuberをUE4の基本機能を使いこなすことでうまく実装してやろうというのが講演内容だ。(VRChatはともかく)VTuberが日本以外で流行しているという話はほぼ聞かないというか,日本でもそこまではやっているのかというと少し疑問はあるのだが,あちこちの情報からして毎日のようにVTuberが生まれており,日本でViveトラッカーが7個ずつ売れて品薄になっている状況が台湾HTCを少し困惑させていたのは事実らしい。少なくとも日本の一部では流行しているようだ。

「ライバー」ってLiver? 肝臓? 生配信じゃないときはバーチャルシューロッカーとかに呼び名が変わるのだろうか
UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

 GDC2018で公開された「Siren」に代表されるデジタルヒューマンはUE4での将来的なターゲットともなっている。また,SIGGRAPH 2018のReal Time Live!で最優秀賞を受賞したリアルタイムモーションキャプチャデモ「BEBYLON:BATTLE ROYALE」もUE4を使っているとのこと。これらの動きに伴って,UE4でのモーションキャプチャ,フェイシャルキャプチャなどへのサポートが非常に充実してきているらしい。
 ちなみに,Sirenさんなどは海外でのVTuberの事例として挙げられていた。

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

 SirenとVTuberでは,目指しているところはかなり違うように思われるとはいえ,やっていることの規模は違っても基本的なところはだいたい同じであり,バーチャルヒューマンをサポートするための各種機能の拡充はVTuber用としても非常に有益なものとなっている。今回は,そういった機能をうまく使ってUE4でVTuberを「可愛く」実現しようというのが趣旨となっている。

 なお,講演では個人で同様なことを行う手法としてはFaceRigとLive2Dを用いるものも挙げられていたが,そちらについてはこちらの記事が参考になるだろう。

4Gamer:こんな俺でもWebカメラがあれば美少女になれる! BRZRKが贈る「FaceRig」+「Live2D」利用ガイド


UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境
 最初に紹介されたのはそういったVTuberのうちUE4を使って実装されたものについてだ。世界初のVTuber専用ライブ配信プラットフォームを謳う「REALITY」では,いくつかの理由を挙げていたが,「UE4とモーションキャプチャの相性がよい」ことを強調していた。どうやら同システムが使用しているソフトウェア「ORION」がUE4に対応しているからという理由が大きそうだ。
 ORIONは体の各部にViveトラッカーを取り付けて身体全体の動きを取ってやろうというシステムだ。ちょっと同人ぽい発想ではあるが,開発しているIKENIMAは,IK(インバースキネマティクス)ミドルウェアの大手で有名ゲーム会社がこぞって採用するようなテクノロジーを持っており,簡易モーションキャプチャシステムといった体のORIONの評価も高い。ちなみに,IKINEMAはUnreal Engine対応製品を多く扱っているが,ORION自体はUnityでも使えるモノではある。
 日本でよく使われている(らしい)「バーチャルキャスト」が,Viveトラッカー最大7個を使う(両足/両肘/両膝/腹)のに対し,ORIONでは3個か5個のViveトラッカーを使用する。言い換えるとバーチャルキャストがすべての主要な関節でデータを取るのに対し,ORIONでは同社のノウハウで関節の推定を行うわけだ。

 なお,今回(少なくとも前半で)想定されているVTuberというのは,キズナアイとかミライアカリのような全身を動かす(というか全身を表示する)タイプではなく,上半身だけのものである。分かりやすく言えば,ゲーム実況の画面端に女の子が出てきてしゃべるタイプのストリーミング配信が可能になるシステムのことだと思っておくといいだろう。

 ということで,今回想定されている環境は,VRヘッドセットとハンドコントローラを使ったシステムとなる。PC用でVRヘッドセット+ハンドコントローラを持つ機種,すなわち,Rift,Vive,そしてWindows MRデバイスが対象となっている。

 これらのデバイスでは,頭の位置と向き,手の位置と向きが取得できるので,とりあえず頭と両手を表示するのは簡単だ(指の動きはともかく)。UE4ではそれらのVRヘッドセットをサポートしているので,BluePrintでアニメーション部分に適用してやるだけで手と頭は動くようになる。

上半身の制御で使用されるボーン。頭と手先以外の部分のデータは取れない
UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境
 それ以外の関節部分の動きをどう制御したらよいのかについて,岡田氏はIKを利用すると説明していた。先ほどのORIONと同じやり方だ。
 人体などを動かす際に,個別に関節を動かして最終的なモーションを付ける方法がフォワードキネマティクス(FK)であり,逆に最終的なモーションを先に指定してそこから関節の位置と角度を割り出していくのがインバースキネマティクス(IK)となる。
 今回は頭と手の位置と角度だけ獲得できるので,肩や肘の動きを割り出してアニメーションさせていくことになる。

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境 UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

 UE4ではIKを実装するための仕組みも備えており,次のようなものが使えるという。

FABRIK
 複数の関節群の両端の位置と角度から途中のものを推定していく

TWO BONE IK
 3つの関節の両端の位置が分かっているときに真ん中の関節を推定する

SPLINE
 一連の関節群を曲線に沿って滑らかに補間する

LEG IK
 脚専用

HAND IK Retargeting
 体型が違う場合の手の補正用

 今回は肘の動きと身体の軸となる背骨の動きについて,それぞれに適したIKが使われており,肘の動きではTWO BONE IKが使いやすいという。これは計算する関節が一つなので処理が速いということと,外的制御を加えやすいことが理由だそうだ。肩の位置などは比較的簡単に推定できるという前提なのだろう。
 講演ではFABRIKとTWO BONE IKの双方で実装した動画を比較していたが,TWO BONE IKのほうでは制御点(Joint Target Location)を加えて,肘の位置を内側になるようにコントロールされていた。岡田氏は可愛い女の子を表現するうえで「脇を締める」ことがとても重要であることを力説した。

向かって左側(右手側)は単純にFABRIKを使って肘の位置を出しているのに対し,向かって右側(左手側)は脇腹あたりに制御点を置いて,肘の位置を引っ張ってきている
UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

 前提として補足しておくと,IKでは必ずしも条件を満たす解が1つとは限らない。どの解を使うか,人体特有の制限を加えて自然な動きを出すノウハウが,IKINEMAのORIONやAutodeskのHumanIKなどのIKシステムでの特徴でもある。今回使っているシステムはそういうものを使っていないので,制御点を加えて多少の誘導をしてやろうというわけだ。ここで使われているJoint Target Locationは,関節をその方向に引っ張る役目をしていると考えておけばいいだろう。

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境 UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

 頭から腰にかけての背骨などの制御では,FABRIKを使うのが自然だったとのこと。TWO BONE IKでは多数の関節を扱うのは大変で,SPLINEだと上半身に使うと捻ったときに自然な感じになるといった話も出ていたのだが,基本的に制御が大変すぎるようだ。素直にFABRIKがよいらしい。

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境 UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

 VRヘッドセットからの頭と両手の情報をアニメーションに入れて,肘と上半身の関節を補間してやる。これだけですでにかなりVTuberらしいことの大枠はできてしまうと岡田氏は語る。BluePrintではだいたい以下のようになるとのこと。

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

 これですでに身体の動きの基本的な部分はできているのだが,今回は「可愛く」というのがもう一つのテーマでもあるため,より可愛くなるように改良が加えられた。導入されたのは身体の捻り要素だ。

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境 UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

 日本舞踊の資料が持ち出されて,女らしさは身体の捻りによって表現されるといったことが示された。男性はものを見るときに首だけを動かすのに対して,女性の場合は肩のあたりまで動かすのだそうだ。実際にそれを導入することになった。ここで使われたのはSPLINE IKだ。

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境 UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

 頭の向きによって,肩と上半身に少し捻りを加える。これでより可愛くというか,上半身の表情が豊かになった感じになる。ちょっとした工夫を重ねることで「可愛さは作れる」と岡田氏は強調していた。

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境


表情はどうやって変えるのか


UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境
UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境
 続いて,これまで置いておかれた「顔」部分の処理に移っていった。

 この手のVTuberの多くは,表情を手動で切り替えることが多い。カメラを使ってアクターの表情を反映するようなものもないではないが,最近増えているVRヘッドセット+ハンドコントローラという簡易的なシステムではそういうことは難しい。VRヘッドセットを着けていると,カメラでは表情が見えないからだ。
 ということで,コントローラで表情を切り替えるわけだが,これにはMorphターゲットを使用するのがよいとのこと。Morphターゲットは,メッシュ自体をモーフィングで変形させていく手法で,Morphターゲットに対応したデータであれば,スライダーで目や口の開き具合を変えたり,それらをブレンドしつつ微妙な表情を作ったりもできる。

 BluePrint上でMorphターゲットを扱うには,アニメーションエディタ上で動作を確認しやすいModify Curveノードがおすすめとのこと。あとは,いろんな表情になるデータを用意しておいて,コントローラの入力に応じてその表情に移り変わるようにするわけだ。

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境
UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境
 「手の表情」ともいえる指の動きを実装するにはいくつかの方法があるという。お勧めされていたのは,表情とだいたい同様な考え方だが,メッシュの変更ではなくアニメーションでの対応となる。Poseアセットを使って指の状態をいくつか用意しておき,それを切り替えていくのだ。
 Poseアセットは1フレームだけのアニメーションファイルだそうで,姿勢だけを指定するものとなる。ターゲットとなる動きを指定して現在の状態から遷移していく。ちゃんとしたモーションではないのだろうが,この方法でかなりよい結果が得られるとのこと。アニメーションのブレンドでやると,制御が大変になるのだが,Poseアセットであれば非常にシンプルに実現できるという。
 また,アニメーションエディタで一時停止しているポーズをそのままPoseアセットとして出力してやることもでき,自分でアセットを簡単に作れることもお勧めの理由として挙げていた。


リップシンクの導入


UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境
 次に音声とアバターの口の動きを合わせるリップシンクについての話に移った。
 一般的に,リップシンクには2つの手法がある。音声をフォルマント解析し,母音子音を判定して口の形を割り当てるような手法と,カメラで口の動きを撮影してそれをアバターに反映させる方法の2種類だ。
 VTuberでは,Oculus VRが提供しているOVRLipSyncが多用されているようで,ここでもそれを利用していた。これは音声から口の動きを作ってくれるライブラリである。使い方も簡単でクオリティもよいようだ。気になる遅延については,OBSでのオフセットは「100で十分」とのことだった。

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境


OBSで配信するためのクロマキー合成


頭とか手の位置は?
 → 直接取れるので,アニメーションに入れましょう
肘とかの動きは?
 → TWO BONE IKを使いましょう
胴体の動きは?
 → FABRIKを使いましょう
表情は?
 Morphターゲットで切り替えましょう
指の動きは?
 Poseアセットで切り替えましょう
リップシンクは?
 OVRLipSyncを使いましょう

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境
 ということで,用意されたものを利用していくだけで一通りVTuberらしきものの処理が完成してしまっている。

 あとはこれをどのように配信するのかだ。
 今回の講演では,配信で定番ツールのOBS(Open Broadcaster Software)が前提とされている。それに対してどのような出力を行えばよいのかなどが岡田氏から解説された。

 VR用の映像を普通にディスプレイに出力すると,それはプレイヤー側からの視点のものとなる。自分の手だけ見えていてもしかたないので,第3人称視点での映像を作るためカメラを追加し,その映像をテクスチャとしてOBSに渡してやるといった処理が行われる。UE4で第3人称視点を実現するのがVR Spectator Screenだ。
 このとき,キャラクター以外の要素を写さなくするオプションも用意されており,Show Only Actorsを使えばキャラクターだけ抜き出せる。至れり尽くせりだ。

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境 UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境
 グリーンバック合成など,ゲーム画面などとクロマキー合成を行うには,背景色を淡色で塗りつぶさなくてはならない。これには,単に後ろに緑の板を置く,キャラクター以外の部分を緑にするといった2通りの手法があるのだが,今回使われているのは後者の手法だ。Z値が一定以上だと緑にするという指定が行われている。


シーケンスレコーダーは凄かった


 これでクロマキー合成もできるようになり,いつでもVTuberデビューができるようになった。
 しかし,岡田氏はUE4を使ってさらなる提案をしている。UE4のシーケンスレコーダーを使用して,VTuberでの活動を丸ごとリプレイデータにして保存し,編集を加えたうえでそこから動画ファイルを生成するという手法が紹介された。
 シーケンスレコーダーは,ゲーム動画配信のために作られた機能で,ゲームのリプレイデータを録画しておき,カメラ位置を変えたりエフェクトを加えながらのリプレイ再生や動画出力ができるというツールだ。リプレイデータに対して,ムービーオーサリングソフトのような感じでさまざまな編集を加えることができる。

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

 これを使えば,配信映像にあとからエフェクトを加えたり,4K@60fpsといったリアルタイムにはレンダリングできないような解像度で動画ファイルを作成することもできる。オフライン処理なので,負荷によるコマ落ちなどの心配もないのだ。ライブ配信でない場合なら考慮してよい手法だろう。
 また,1コマずつ画像ファイルとしても出力できるので,AfterEffectなどでさらなる加工を行うこともできる。シーケンスレコーダーを使って映像をアセット化しておけば,VR配信などのさらなる可能性も広がるという。
 簡易VTuberシステムかと思いきや,下手をするとハイエンドな出力もできそうなのだ。

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境 UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境


番外編:個人レベルでどこまでできるのか?


 ここまでの内容で,UE4の機能を使えばVTuberが簡単に実現できることが示されたのだが,あまりに簡単にできてしまったそうで,残り時間では岡田氏が個人的に私財を投入し,個人でできるところの限界まで突き詰めるとどこまでいけるのかが示された。なんでも書籍の印税が入ったので勢いでやってしまったらしい。

 スライドでは投入された機材などが挙げられていたが,映っているのは,

Rift,Vive Pro,Viveトラッカー8個,LeapMotionコントローラ,iPhone X,Hi5 VR Glove,ORION,ウェブキャスティングミキサー ヤマハAG03,ボイストランスフォーマー ローランドVT-3

となる。

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

 これらの機材を使って試みられたのは,

フェイシャルキャプチャ
指のモーションキャプチャ
全身のモーションキャプチャ

だという(声の変換もやってそうだが)。


●フェイシャルキャプチャ
UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境
UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境
 フェイシャルキャプチャは,カメラで撮影したプレイヤーの顔の表情をキャラクターに反映させるためのものだ。お高いソフトが必要ではないかと思う人もいるかもしれないが,ソフトは必要ない。
 その代わり必要になるのがApple製のフェイシャルキャプチャデバイス「iPhone X」だ。日本でもかなり導入台数の多いキャプチャデバイスなので,すでに導入している人は無料でフェイシャルキャプチャ機能を追加できる。
 実際のところ,iPhone XのFacial Shift機能をフェイシャルキャプチャに利用するというのは,前述のSIGGRAPH 2018で受賞したBEBYLONや市販ツールでいうとiCloneのLIVE FACEなどでも使われているアイデアだが,実際のところ使いモノになるレベルで精度があるらしい。
 デバイスの入手性が高いというのもメリットだが,なによりよいのはLiveLinkに対応していることだ。LiveLinkは,MayaやMotion Builderなどのツールや各種デバイスからアニメーションデータを直接送信してリアルタイムにアニメーションを確認できる機能で,iPhone XからWi-Fi経由で送られたデータをそのまま利用できる。UE4からBluePrintのノード1個で非常に簡単に使えるのだ。Epic Games LauncherからダウンロードできるFace AR Sampleを導入すると,すぐに試すことができるとのこと。

 ただし,アニメ絵の場合はあまりリアルな情報を送るのも考えもので,滑らか・リアルすぎるとよくないようだ。動く範囲やフレームレートなど,情報が少ないほうがよいこともあるという。また,微妙な目の開き具合などは調整して閉じる処理にしたほうが可愛くなることなどが示された。デモを見ている限りだと口もきっちり閉じておいたほうがいいように感じられた。

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

●指のトラッキング
UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境
 指の動きを反映するには,なんらかの専用デバイスが必要だ。講演で紹介されていたのはLeapMotionコントローラとHi5 VR Gloveの2種類だ。
 LeapMotionコントローラは手の動きを取得するデバイスとして有名で,The MILLのデモでも使われていたが,センサーの検知範囲に手を置いておくことが前提なので腕を動かすVTuberでは少し使いにくいところもあるだろう。
 結局,岡田氏が導入したのは,Hi5 VR Gloveだった。低価格なモーションキャプチャデバイスで知られるNoitomの製品だが,同社の従来製品でも一応指の動きは取れるのでこれが最安というわけではない。個人で手が届くギリギリのレベルといったところだろうか。もちろんUE4をサポートしているので,BluePrintで扱えるのだが,LiveLinkには対応していないので岡田氏はそこを残念がっていた。
 指の動きが再現されることで,キャラクターの動きにはかなり表情が加わってくるようだ。また,指の動きが簡単に取れるようになれば,手のアニメーションデータを手軽に作れるようにもなり,VTuber以外での活用もできる。
 今年のOculus ConnectでMichel Aburash氏は「指の動きまで対応するのは4年後」と語っていたので,こういったデバイスが一般化するにはもう少し時間がかかりそうだが,開発用機材としては少し早めに手ごろなものも出回るようになるかもしれない。もう数年の我慢か。

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

●全身のトラッキング
UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境
 そして全身のトラッキングでは,前述のORIONが使われている。
 ORIONでは,Steam VRのポジショントラッキングシステムを使用し,6個ないし8個のトラッカーで身体全体の動きを計測する。この場合のトラッカーには,Viveヘッドセット自体と両手のViveコントローラも含まれるので,Viveトラッカーを3個ないし5個導入することになる。装着箇所は,両足の先,胴体(腰)と両肘だ。膝の動きはIKINEMAのソフトウェア技術で算出される。簡易型の方式では両肘の位置も同様に算出される。

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境 UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境
 なお,岡田氏が8個のViveトラッカーを買ってしまったのは,機材検証用とのこと。5個使って残り3個あれば,簡易型の全身キャプチャシステムをもう1セット作れる。小物用として使うのもアリだろう。
 ORIONはUE4との親和性も高く,LiveLinkにも対応済みで,BluePrintの1ノードで扱える。値段も手ごろ,精度も上々とのことで,かなりお気に入りのようだった。

 これにiPhone Xでのフェイシャルキャプチャなどを加えたフル装備の姿も公開された。

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

 VRヘッドセットをかぶっているので,フェイシャルキャプチャがあまり意味を成してない気はするが,これは(いまさらな気はするが)顔出しを少なくするためにかぶっていたとのことだった。実際にはVRヘッドセットを使わずにフェイシャルキャプチャを行っているそうだ。Viveトラッカーをつけた帽子をかぶれば,顔全体のキャプチャと同時にORIONでのモーションキャプチャも可能になるのだ。
 また,iPhone Xを固定してあるカメラリグも海外から購入したものとのこと。「ハンズフリーカメラリグ」などで検索すれば日本のAmazonでもいくつかは似たようなものは出てくるので参考までに。

UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境
 これで全身の動きに顔の表情まで加えたキャプチャシステムが完成している。私財を投じて立派な人柱になった岡田氏に感謝しつつ,その成果を活用すると,iPhone XとViveをすでに導入済みという前提で考えて,VR GloveにORIONとViveトラッカー……追加で30万円弱の投資が必要になるのだろうか(指を諦めると半額になる)。講演で使われたプロジェクトは公開されているので,気になる人は参考にしてみるとよいだろう。少なくとも上半身だけで表情切り替え式なら,VRヘッドセットだけ。VRヘッドセットさえあれば「実質無料」で実現可能だ。
 なお,デモで使われたツバキちゃんはマーケットプレイスで販売予定とのことなので,そちらも注目しておこう。

ARなどのUE4のほかの機能と併用することでさらに可能性は広がる。Virtual Cameraはスマートフォンを使ってARのカメラワークを指定できるツールだ
UE4なら「実質無料」でVTuberになれる! 最新機能で実現するモーションキャプチャ環境

GitHub:講演で使われたプロジェクト

講演の全スライドはこちら

UNREAL FEST公式サイト