この記事でのバージョン
Unity 2019.4.14f1
はじめに
今回は自然な目の動きやまばたきを実装するRealistic Eye Movementsというアセットの紹介です!
Realistic Eye Movements | Animation Tools | Unity Asset Store |
イメージとしては以下のような感じで、簡単な設定で結構自然な物が実装出来ます。
なお、記事中では以下のアセットを使っています。
Village Environment Pack | 3D Historic | Unity Asset Store |
使い方
まばたきさせると言ってもボーンを使ったりシェイプを使ったりといくつか方法があります。
Realistic Eye Movementsはその色々なタイプに対応してますが、
今回はBlendShapeを使っているモデルへの使い方を紹介します。
まずAnimatorが付いてるのと同じオブジェクトに
LookTargetControllerとEyeAndHeadAnimatorというコンポーネントを追加します。
次にEyeAndHeadAnimatorのSetupにあるEye controlをMecanim Eye Bones、
Eyelid controlをBlendshapesにします。
さらにモデルの目が開いた状態(デフォルト)で、
Eyes open, looking staightのSaveを押して保存します。
同じように目を閉じた状態の保存も行います。
同様に上を向いた状態と、
下を向いた状態の保存も行います。
なお、上と下はシェイプではなく目のボーンを回転させています。
そしてそのボーンはSelectのEyesを押して選択する事が可能です。
なんとこれだけで自然なまばたきと眼球の動きが追加されます。
ちなみに動きの細かな設定はInspectorから行えます。
特定の物を見て欲しい時はLookTargetControllerのLookAtPoiDirectlyを使います。
//_lookTargetControllerはLookTargetController //transformを見るようになる(Start等で1回実行すればOK) _lookTargetController.LookAtPoiDirectly(transform);
余談ですが、LookTargetControllerは特定の物を見る時に顔しか動かさないので、
以前紹介したHead Look Controllerというアセットと併用する事により、
肩も使って追いかけるようにも出来ます。
参考