こんにちは。ラルトン(@raruton_blog)です。
Unityの3Dゲームを作っているときに、「手だけは別の動きをして欲しいな」などと思ったことはないでしょうか。
例えば、歩いているアニメーションをしているときに、手だけは銃を撃つアニメーションをしているなどです。
そこで本記事では、このような体の一部分だけ別の動きをさせる方法を紹介します。
この記事を読むと、体の一部分だけ特定のアニメーションをさせる方法が分かります。
3Dモデルを動かす方法については、以下の記事を参考にしてください。
![【簡単】Unityで3Dモデルを動かす(アニメーション)させる方法のアイキャッチ画像](https://raruton.com/wp-content/uploads/2023/07/how-to-animate-unity-3d-model-320x180.png)
やりたいこと
今回は走っているアニメーションと魔法を放っているようなアニメーションを使って実装してみたいと思います。
![UnityChanが走っているアニメーション](https://raruton.com/wp-content/uploads/2021/03/unity-animation-running-motion-269x300.gif)
![UnityChanが魔法を放っているアニメーション](https://raruton.com/wp-content/uploads/2021/03/unity-animation-fireball-motion-269x300.gif)
下半身は走っているアニメーション、上半身は魔法を放っているアニメーションを使って、走りながら魔法を放っている動きを作ろうと思います。
![UnityChanが走りながら魔法を放っているアニメーション](https://raruton.com/wp-content/uploads/2021/03/unity-animation-fireball-running-mixed-motion-269x300.gif)
作成手順
アバターマスクの作成
まずは、アバターマスクを作成します。
Projectウィンドウで
Create > Avatar Mask
でアバターマスクを作成します。
![Unity-アバターマスクの作成](https://raruton.com/wp-content/uploads/2021/03/unity-humanoid-animation-partially-1-e1614677026981-300x224.png)
今回は上半身だけ魔法を放っているアニメーションにしたいので、名前を”UnityChanUpper”としました。
そして、UnityChanUpperのInspectorウィンドウのHumanoidを以下の様に、動いてほしい部分だけ緑色にします。
![Unity-アバターマスクの設定](https://raruton.com/wp-content/uploads/2021/03/unity-humanoid-animation-partially-2-148x300.png)
これで、アバターマスクは完了です。
アニメーターコントローラーで新しいレイヤーを作成する
続いて、Animator Controllerを開きます。
Animator Controllerが開けたら、
左上にあるLayersを選んで、+ボタンを押して、新しいレイヤーを作成します。
名前は”Upper Layer”としました。
![Unity-アニメーターで新しいレイヤーの追加](https://raruton.com/wp-content/uploads/2021/03/unity-humanoid-animation-partially-8-1024x646.jpg)
続いて、Upper Layerの歯車マークを押して、
Weightを1に、Maskは先ほど作成したアバターマスク(UnityChanUpper)を選択します。
そして、BlendingをOverrideにします。
![Unity-アニメーターで新しいレイヤーの設定](https://raruton.com/wp-content/uploads/2021/03/unity-humanoid-animation-partially-9-1024x647.jpg)
アニメーションをセットする
最後にアニメーションを各レイヤーにセットしていきます。
まず、Base Layerには走っているアニメーションを設定します。
![Unity-ベースレイヤーのアニメーションを設定する](https://raruton.com/wp-content/uploads/2021/03/unity-humanoid-animation-partially-4.png)
続いて、Upper Layerには魔法を放っているアニメーションを設定します。
![Unityアッパーレイヤーのアニメーションを設定する](https://raruton.com/wp-content/uploads/2021/03/unity-humanoid-animation-partially-5.png)
もし、条件付きでアニメーションを遷移させたい場合は、Base LayerとUpper Layerとで、同じ条件でアニメーションを切り替わるようにすれば大丈夫です。
これで完成です!
![UnityChanが走りながら魔法を放っているアニメーション](https://raruton.com/wp-content/uploads/2021/03/unity-animation-fireball-running-mixed-motion-269x300.gif)
まとめ
いかがだったでしょうか。
今回の記事では、体の一部分だけ別のアニメーションをさせる方法について紹介しました。
今回使ったアニメーションは全て、Mixamoというサイトから持ってきました。
今回使用したアニメーション以外にも、豊富なアニメーションが無料で使用できるので、気になった方はアクセスしてみてください。
他にも、Unity Asset Stroreで無料のアニメーションがたくさんあります。どちらもうまく活用しましょう。
ここでは、使いやすいアニメーションがたくさん入っているBasic Motions FREEを掲載しておきます。それでは!
© Unity Technologies Japan/UCL
![【Unity】無料&有料GUIアセットおすすめ35選!!のアイキャッチ画像](https://raruton.com/wp-content/uploads/2021/03/unity-ui-asset-summary-new-eye-catching-320x180.jpg)