居眠りする
配信中に休憩を取るのはよくあることです。Warudo では、顔のトラッキングがされなくなると、キャラクターはゆっくりとアイドル時のポーズと表情に戻ります。このチュートリアルでは、代わりにキャラクターを眠っているポーズと表情へ移 行させ、さりげないリアリティを加えます。
仕事中におやすみ!
このチュートリアルでは、顔トラッキングに iFacialMocap または MediaPipe を使用していることを前提としています。ほかの顔トラッキングシステムでは、顔がトラッキングされなくなったときに信号を提供しないため、動作しない可能性があります。
顔トラッキングのブループリント
顔トラッキング用ブループリントを開きましょう!オンボーディング中に選択したブループリントのオプションによっては、以下のものとは見た目が異なるかもしれませんが、基本的な考え方は同じです。それに、どれも同じくらい恐ろしい見た目です――ノードと接続がたくさんあります!

このブループリントのす べてのノードを扱うことはしませんが、いくつかの部分に分けて見ていきましょう。まず、左側に次のノードの並びが見えるはずです。

これは簡単です!以前のチュートリアルで、すでに On Disable Blueprint ノードを見ています。このノードはブループリントが無効化されたときにトリガーされ、この顔トラッキング用ブループリントは Character → Motion Capture をオフにすると無効化されます。そのため、モーションキャプチャを無効化すると、キャラクターの表情(BlendShape)は Reset Character Tracking BlendShapes ノードによりリセットされ、キャラクターのボーン(頭、目など)は Reset Overridden Character Bones ノードによりリセットされます。
では、ブループリントの右側を見てみましょう。

On Update ノードはすでにおなじみでしょう。これは Warudo の実行中、毎フレームトリガーされます。このノードの並びは、毎フレーム、キャラクターの BlendShape(Set Character Tracking BlendShapes)、ボーン(Override Character Bone Rotation Offsets)、ルート位置(Override Character Root Position)を更新したいという意味です。しかし、どの BlendShape、どのボーン、どのルート位置でしょうか?それを担うのがブループリント中央のノードです。

BlendShapeリストを切り替える
幸い、このチュートリアルの目的では、いくつかのノードだけを見れば十分です。Get iFacialMocap Receiver Data ノードを探してください(MediaPipe を使っている場合は Get MediaPipe Receiver Data ノードです)。これは顔トラッキングデータを提供する「ソース」ノードです。

現在はノード間の接続が近すぎるため、分かりやすくするために Get iFacialMocap Receiver Data ノードを次のように左下へ移動しましょう。

Get iFacialMocap Receiver Data、Empty BlendShape List、Switch BlendShape List の3つのノードが見えるまで、ブループリントをズームおよびパンしてください。まだ Switch BlendShape List ノードについて何も知らなくても、そこへの接続を確認するだけで、その働きを推測できますか?
