[Unity]キャラクターのフェイスターゲットを作ってみよう
こんにちは。プログラマーのI.Hです。
今回はUnityのAnimation Riggingを利用して
キャラクターのフェイスターゲットを作成する方法について
説明したいと思います。
この機能を使用するためには
Animation Riggingプラグインをインポートする必要があります。
まずUnityのメニューの
Window -> PackageManager
を選択します。
Package Managerが開けたら
Packages を Unity Registryに設定します。
リストから
Animation Riggingを探して選択後
Installを押してインストールします。
これでプラグインのインポートは完了となります。
それでは、
サンプルモデルのユニティちゃんに適用してみましょう。
まず、ユニティちゃんのルートを選択し、
Animation Rigging -> Bone Renderer Setup
を選択してボーンを見えるようにしましょう。
その結果がこの画像です。
ボーンが青く表示されるようになりました。
(色は変えることができます。)
その次はRigを設定します。
ユニティちゃんのルートを選択し、
Animation Rigging -> Rig Setup
を選択すると、Rigグループが追加されます。
追加されたRigグループの下に
Multi-Aim Constraint コンポネントを追加しましょう。
これがフェイスターゲットの役割をするコンポネントです。
それでは、顔の方向の印になる
ターゲットオブジェクトを
先ほど作ったMulti-Aim Constraintの下に追加しましょう。
実際にゲームに導入する際は、オブジェクトなどを利用することになります。
ここでは見やすくするためにスフィアを利用します。
それでは、フェイスターゲットの設定を行います。
- – Constrained Object : 顔を入れます。
- – Aim Axis、Up Axis、World Up Type : モデル、ワルドの方向に合わせて設定します。
- – Source Objects : フェイスターゲットの基準になるオブジェクトを入れます。右の方のウェイト も忘れずに!
- – Settings : フェイスターゲットの動きの設定を行います。角度のの制限、動く方向の制限などが設定できます。
この設定を終わらせれば完了です。
それでは実際の挙動を確認してみましょう。
ターゲットのスフィアの位置に合わせて
ユニティちゃんの顔が動いてることが確認できます。
以上で
Animation Rigging プラグインを利用して
キャラクターのフェイスターゲットを作成する方法についての説明でした。
アニメーションとの組み合わせすることもできるので
簡単にフェイスターゲッティングを作る際はぜひ使ってみるのはいかがでしょうか。