夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

Unity Humanoidキャラクターに呼吸をさせる。

本日はUnityの表現調査枠です。

Unityでは人型キャラクターモデルを扱う規格としてUnityHumanoidアバターと呼ばれる仕組みがあります。

docs.unity3d.com

 この仕組みによってHumanoidアバター同士であればアニメーションの使いまわしができます。

f:id:Holomoto-Sumire:20200621175419j:plain

 これによって多くのアニメーションがUnityAssetStoreを中心に有料、無料で配布されています。

 有名なものでいうとUnity-Chan Candy Rock Starなどがあります。

unity-chan.com

 今回はこのUnityHumanoidキャラクターをより生き生きさせるために呼吸のアニメーションを実装します。

 今回はこちらの記事で公開されているスクリプトを用いました。

mebiustos.hatenablog.com

〇BreathControllerを使用する。

 上記ブログ内で公開されているBreathControllerをダウンロードして.Zipファイルを解凍、Unity内に配置しました。

 f:id:Holomoto-Sumire:20200621180531j:plain

 次に呼吸を行う対象となるHumanoidoアバターのキャラクターをscene内に配置します。今回はVRoidStudioで作成、Blenderで調整したオリジナルのキャラクターを用いました。

 f:id:Holomoto-Sumire:20200621180704j:plain

 HumanoidキャラクターにBreathControllerフォルダ内の[BreathController]をアタッチします。 BreathControllerはAnimatorがアタッチされている必要があります。

f:id:Holomoto-Sumire:20200621181055j:plain

 ここでは『AnimationControllerが無い』という注意が出ています。

 Blenderを用いてAnimationClipを作成し、AnimationControllerを作成、追加しました。

 Blenderを用いたHumanoidAnimationの作り方に関しては過去の記事を参考にしてください。

redhologerbera.hatenablog.com

 この状態で実行すると作成したアニメーションに加えキャラクターの胸が周期的に動いていることが確認できます。

f:id:Holomoto-Sumire:20200621184148g:plain

f:id:Holomoto-Sumire:20200621184350g:plain

下のGif画像はBreathControllerが適応されていない状態です。

f:id:Holomoto-Sumire:20200621184029g:plain

BreathControllerを使用すると自然に胸が動きます。

これでUnityHumanoidキャラクターに呼吸をさせることができました。