>   >  【チュートリアル】Grayちゃんになれる! UE4×Oculusでカンタンアバター
【チュートリアル】Grayちゃんになれる! UE4×Oculusでカンタンアバター

【チュートリアル】Grayちゃんになれる! UE4×Oculusでカンタンアバター

STEP5 MotionControllerPawnの設定



  • まず、SkeletalMeshコンポーネントをVROriginの下に追加し、さらにプラグイン追加で使えるようになった「LipSyncMorphTarget」「LipSyncMicInput」コンポーネントも追加します



  • LipSyncMorphTargetコンポーネントのVisemesを変更します。この配列の10~14番を「あ」「え」「い」「お」「う」のMorphの名称にします



  • 画像はGrayちゃんの場合のものです。この値はSkeletal Meshをダブルクリックすることで開くEditorで確認できます



  • カメラをモデルの頭の位置に調整します。Grayちゃんの場合、カメラの位置を(0,0,140)、SkeletalMeshの回転を(0,0,-90)にしました。Levelに配置するときは、MotionControllerPawnのZの値は床の高さと一致させ、Rotationは(0,0,0)にします。でないとHMDを着けたときに違和感が生じます

STEP6 VR内に鏡を設置

ちゃんとリップシンクのしくみができているかテストをしたいのですが、このままだと自分の姿を見ることができません。そこで、鏡のようなものを用意します


Scene Capture 2D とRender Targetを用意し、PlaneにRender Targetを貼り付けてGrayちゃんの正面に配置します。こうすることで実行時に自分の姿を確認できます。実行して喋ってみると口元が動いてるのが確認できると思います


Render Targetの設定から解像度を変更できます。ただし、欲張って解像度を上げすぎるとEditorごとクラッシュしてしまうので気をつけましょう

STEP7 頭と手足を動かす



Grayちゃん用AnimBPを作成し、右手・左手・頭の3点をFABRIKで調整します。これでMotionControllerPawnからコントローラの位置をAnimBPに送れば手と頭を操作できます



MotionControllerPawn側で位置を計算します(RHandはLHandとほぼ同内容、ひとつめのRotator from Axis and AngleのAngleの値を90にするだけなので図は省略)。モデルによっては値の調整が必要な場合もあります。計算結果をEventTickで毎フレーム更新してあげれば動くようになります(下記記事参考)
※UE4でVR用のIKを実装してみる話
qiita.com/HImaJin_Tw/items/2883aace0e10bb77065a


手・頭が捻れてしまいますが、実行時には問題なく動きます

STEP8 表情を変える



今回はHMDを着用する関係で、カメラで表情を取得するのではなくボタンやスティックでフェイシャルを操作します。いくつかの表情をプリセットを用意しておき、切り替える仕様にしましょう

Grayちゃんにはすでに表情が用意されているため、パラメータを入力してピンを繋ぐだけです。これまでの工程で一番簡単でした


自動まばたきも組んでみます。入力を伴わないので、AnimBPのEventGraphに入れてあります。下記の記事が参考になりますのでぜひご一読ください
※UE4とOculusで~いつもと違うコトをしよう
qiita.com/junyash/items/bcda9128e3e7853fb46c

STEP9 録画用画面の表示


キャラクターまわりの作業は済みましたが、このまま録画してもHMDで見える映像がそのまま収録されてしまい、非常に見づらい動画になってしまいます。Spectator Screen機能を用いて疑似鏡に描画されたものを出力するようにします。ここではお手軽にLevel BPへ追加します【A】




これでUE4の録画機能や外部のツールを用いてキャプチャできるようになりました。ただこのままでは色味が異なってしまいます。下記のURLを参考に、Capture Source【B】とGamma【C】の2箇所を調整することでEditorでの色味に近づくはずです【D】(左が調整前、右が調整後。このあたりは、Capture Source【B】に「Final Color(HDR)」のような設定項目が用意されると嬉しいですね)。VR空間内の疑似鏡は白っぽくなってしまいますが、動きの確認ができればいいので問題ないでしょう。これでプレイ画面を録画すれば動画素材として使えますので、編集・公開して楽しみましょう。お疲れさまでした
※UE4 ANSWERHUB - Spectator Screen draws texture darker
answers.unrealengine.com/questions/739097/spectator-screendraws-texture-darker.html

まとめ

こうした内容であれば比較的簡単にVTuber体験ができることがおわかりいただけたと思います。もちろん機能的には最低限なので、IKやスケール調整、リップシンクの遅延軽減と精度向上や、表情や感情の付け方、別のカメラへの切り替え......などなど、手を加える余地はたくさんあります。もちろん、IKinema Orionのようなミドルウェア等を使えばより高い精度のトラッキングが可能になったりします。プロジェクトの予算や規模に応じて導入を検討すると良いですね。

今やゆうに1,000人を超えるVTuberたち。先駆者がたくさんいるということは参考にできる技術がたくさんあるという意味でもあります。東雲めぐちゃんの表情の豊かさや画づくり、アズマリムちゃんの安定した足まわりのトラッキングなどなど技術者目線で楽しめる部分も多く、ついつい見入ってしまいます。UE4を使っていると公言しているVTuberさんはまだ見当たらないので、今なら先駆者になれるかも? 今回のプロジェクトはGitHubにて公開しています。ご活用いただければと思います。

github.com/shop-0761/VTuberSample



  • 月刊CGWORLD + digital video vol.237(2018年5月号)
    第1特集:わいわいバーチャルYouTuber
    第2特集:デジタル作画最前線

    定価:1,512円(税込)
    判型:A4ワイド
    総ページ数:144
    発売日:2018年4月10日

特集