『Lost Cat Showa Town』では、街の中に複数のNPCを配置しています。
開発を進めている中で、男性NPCに女性NPCで使用していたアニメーションを設定したところ、顔やポーズが不自然に見える問題が発生しました。
今回は、この問題を修正するためにキャラクターに合わせたAnimator Controllerを作成した話を書きます。
男性NPCに女性NPCのアニメーションを使っていた
『Lost Cat Showa Town』では、複数のキャラクターモデルをNPCとして使用しています。
女性NPCではAoi、Satomi、Honokaなどのキャラクターを使用しています。
そして、屋台の店員として男性キャラクターのTaichiを追加しました。
当初は既存のAnimator Controllerを流用していたのですが、Taichiにも女性キャラクターで使用していたアニメーションが設定されていました。
ゲーム自体は動作するものの、実際にゲーム画面で確認すると、Taichiの顔やポーズがどこか不自然に見える状態になっていました。
Youtubeでアニメーションの違いを指摘された
『Lost Cat Showa Town』の開発動画をRedditに投稿したところ、Taichiについて「女性キャラクター向けのアニメーションを使用していることが原因ではないか」というコメントをもらいました。
そこで改めて使用しているAnimation Clipを確認してみると、男性キャラクターであるTaichiに、女性キャラクター側で使用していたアニメーションを流用していました。
同じHumanoidモデルだからといって、どのアニメーションを使用しても同じ見た目になるとは限りません。
モデルの体格やボーンの位置などが異なるため、リターゲット自体はできても、見た目が不自然になる場合があります。
Taichi専用のAnimator Controllerを作成
そこで、Taichi用として新しくAnimator Controllerを作成しました。
今回はまず必要最低限の、
Idle Walk Run
の3種類だけを用意しました。
Animator Controllerは次のようなシンプルな構成です。
My Taichi Animator Controller
Entry ↓ Idle ├─ Walk └─ Run
それぞれのStateには、Taichi Character Packに収録されている男性キャラクター向けのAnimation Clipを設定しました。
これによって、女性キャラクター用のアニメーションを使用していたときに発生していた、顔やポーズの不自然さを改善することができました。
キャラクターごとにAnimator Controllerを分ける
今回の問題を経験して、『Lost Cat Showa Town』では無理にすべてのNPCで同じAnimator Controllerを使用するのではなく、キャラクターに適したアニメーションを使用できる構成にすることにしました。
例えば、
Aoi
└ Aoi用 Animator Controller
Taichi
└ Taichi用 Animator Controller
Satomi
└ Satomi用 Animator Controller
Honoka
└ Honoka用 Animator Controller
という形です。
キャラクターごとにAnimator Controllerを作成しておけば、「このキャラクターではどのAnimation Clipを使っているのか」が分かりやすくなります。
また、あるキャラクターのAnimationを変更したことで、別のキャラクターまで意図せず変わってしまうことも防ぎやすくなります。
共通化できる部分は後から共通化する
もちろん、NPCが増えるたびにAnimator Controllerを作成すると、管理するファイルも増えていきます。
そのため、最終的には、
Female Animator Controller ├ Aoi ├ Satomi └ Honoka
Male Animator Controller └ Taichi
のように、同じAnimation構成を利用できるキャラクターについては男性用・女性用などで共通化する方法も考えられます。
ただ、『Lost Cat Showa Town』は現在も開発中です。
最初から無理に共通化して複雑にするよりも、まずは各キャラクターが正しく動作することを優先し、必要になってから共通化する方針で進めています。
Humanoidでも見た目の確認は必要
UnityのHumanoid Animationは非常に便利です。
異なるHumanoidモデルでもAnimationをリターゲットできるため、Animation Clipを再利用しやすくなっています。
しかし、
「HumanoidだからAnimationを共有できる」
ことと、
「共有したAnimationがそのキャラクターに自然に見える」
ことは別だと今回改めて感じました。
特に男性・女性で体格が異なる場合や、キャラクターモデルごとに特徴が大きく異なる場合には、実際のゲーム画面で確認することが重要です。
まとめ
今回、『Lost Cat Showa Town』では男性NPCのTaichiに女性NPC向けのAnimationを使用していたことで、顔やポーズが不自然になる問題が発生しました。
そこでTaichi用のAnimator Controllerを作成し、Taichi Character Packに含まれている男性向けのIdle・Walk・Run Animationへ変更することで改善しました。
UnityのHumanoid Animationは便利ですが、単純にすべてのキャラクターで同じAnimationを共有するのではなく、モデルに合ったAnimationを選ぶことも重要だと思います。
『Lost Cat Showa Town』では今後もNPCを追加する予定なので、キャラクターごとの見た目を確認しながらAnimator Controllerの構成も整理していきたいと思います。
フォローすると、開発ログや新作ゲームの公開が通知されます