![](https://www.ame-name.com/wp-content/uploads/2020/12/WS011724-1.jpg)
Blenderで複数のオブジェクトにアニメーションを付けて、Unityの一つのアニメーターコントローラーで再生してみました。
まずバットをキャラクターの子にして、それぞれに別々のアクションを作りました。
![](https://www.ame-name.com/wp-content/uploads/2020/12/throwBat1-1.gif)
子オブジェクトでないCubeも作ってアクションを付けました。
![](https://www.ame-name.com/wp-content/uploads/2020/12/WS011713-1.jpg)
Unityでインポートしてシーンに置くと、その空のゲームオブジェクトにアーマチュアやキャラクター、バットやCubeが含まれているのがわかります。
インポート設定のRigタブでRoot nodeを設定すると、ルートの空のゲームオブジェクトにAnimatorコンポーネントが追加されるので、アニメーターコントローラーを新規作成してアタッチします。
![](https://www.ame-name.com/wp-content/uploads/2020/12/WS011725-1.jpg)
アニメーターコントローラーでは、まずモーションのないステートに移って、トリガーによってモーション付きのステートにすぐに遷移するようにしました。
![](https://www.ame-name.com/wp-content/uploads/2020/12/WS011714-1.jpg)
![](https://www.ame-name.com/wp-content/uploads/2020/12/WS011715-2.jpg)
このままだとキャラクターが動くだけなので、同じ条件で他のオブジェクトのモーションのついたステートにも遷移するようにします。
そのためにAnimatorウィンドウのLayersタブをクリックして、+ボタンで新しいレイヤーを追加します。
![](https://www.ame-name.com/wp-content/uploads/2020/12/WS011716-1.jpg)
このレイヤーでBase Layerと同じようにステートを作って、バットのモーションを設定します。
ProjectウィンドウでインポートしたFBXファイルの三角(▷)マークをクリックして開くとメッシュやモーションがあります。モーションの名前は「オブジェクト名|アクション名」となっているので、他のオブジェクトでなくバットのモーションを使います。
ステートにモーションを設定して、Animationウィンドウでバットのモーションを再生してみると、シーン上でバットだけが動きます。
![](https://www.ame-name.com/wp-content/uploads/2020/12/throwBat2-1.gif)
同様にCubeのためのレイヤーも作りました。
![](https://www.ame-name.com/wp-content/uploads/2020/12/WS011719-1.jpg)
すべてのレイヤーで、目的のステートに遷移させるときの条件は全く同じにしています。しかし、スクリプトでトリガーをセットしてみるとキャラクターしか動きません。
![](https://www.ame-name.com/wp-content/uploads/2020/12/throwBat3-1.gif)
これは他のレイヤーのウェイトがデフォルトの0になっているからです。レイヤーの横の歯車マークからWeightを1にすると、すべてのオブジェクトのモーションが再生されました。
![](https://www.ame-name.com/wp-content/uploads/2020/12/WS011720-2.jpg)
![](https://www.ame-name.com/wp-content/uploads/2020/12/throwBat4-1.gif)