Anima2Dは、Unity上で2Dキャラクターにボーンを入れてアニメーションさせるための無料アセットです。
この記事では、基本的なセットアップ方法から人型キャラクターのアニメーション作成までを解説します。


目次
Anima2Dとは
Unity 5.5.0から無料で提供されている2Dボーンアニメーションツールです。Asset Storeからダウンロードしてインポートするだけで使えます。
基本的なセットアップ手順
1. スプライトの設定
- テクスチャを用意
- InspectorでSprite ModeをMultipleに設定
- Sprite Editorでトリミングし、Pivotの位置を調整

2. スプライトメッシュの作成
- 用意したスプライトを選択
- 右クリック → Create → Anima2D → SpriteMesh
- SpriteMeshが生成される

3. メッシュとボーンの配置
- 空のGameObjectを作成
- 生成したSpriteMeshをドラッグ&ドロップで配置
- GameObject → 2D Object → Boneでボーンを生成・配置
- ボーンを階層化し、Child(子)を指定して接続

4. メッシュの分割
- Window → Anima2D → SpriteMesh Editorを開く
- Sliceボタンを押してApplyでメッシュを自動分割
- Sliceをオフにして、頂点をドラッグして手動調整

5. バインドとウェイト調整
- SpriteMeshを選択し、Sprite Mesh Instance(Script)のBonesにボーンを登録
- SpriteMesh Editorに戻りBindボタンを押す
- Overlayにチェックを入れるとウェイトがカラー表示される
- SmoothやAutoボタン、または頂点選択してInspectorで数値調整
「Number of SpriteMesh Bind Poses and number Bones does not match」という警告は無視して問題ありません。


6. IKのセットアップ
- ボーンを回転させてメッシュが追従することを確認
- 末端のボーンを選択 → GameObject → 2D Object → IK CCD
- 生成された青緑の円を動かしてIKの動作を確認
Num Bonesは最大4まで設定でき、4つ先のボーンまでIKが影響します。


人型キャラクターのセットアップ

基本の手順は同じですが、いくつか追加のポイントがあります。

IKの種類
| IKタイプ | 用途 |
|---|---|
| IK CCD | 汎用的な用途 |
| IK Limb | 手足専用(2ボーン向け) |
足にIK Limbを使う場合は、Flipにチェックを入れてください。
描画順の制御
SpriteMeshのOrder in Layerの数値を調整して、パーツの前後関係をコントロールします。

コントローラーの設置
GameObject → 2D Object → Controlで空のGameObjectにアタッチし、ボーンを指定します。腰や首に設置すると、全身や上半身の移動をまとめて制御できます。
よくあるエラーと対処法
| エラー | 原因 | 対処法 |
|---|---|---|
| Invalid AABB a | Boundsに不正な値が入っている | SpriteMeshのBoundsを確認し、数値を0などに修正 |
| バインド後に位置がずれる | バインド処理の問題 | Unbind → Apply → 再度Bindで修正 |
| 袖など付属パーツが曲がらない | 階層構造の問題 | パーツのボーンを親ボーンの子に移動 |

便利な機能
| 機能 | 説明 |
|---|---|
| Pose Manager | ポーズを記録・復元できる。初期ポーズは必ず記録しておく |
| Spring Manager | 揺れもの表現に使用 |
| Skinned Mesh Combiner | メッシュを結合してドローコールを削減 |
| Onion Skin | 前後のフレームを半透明表示してアニメーション作成を補助 |
| Bake Animation | IKアニメーションをベイクして処理負荷を軽減 |
ユニティちゃんサンプルの調整
サンプルのユニティちゃんは、そのままだと袖がIKに追従しません。以下の調整が必要です。

- ボーン階層を展開
- Right Forearm ClothesをRight Forearmの子に移動
- Left Forearm ClothesをLeft Forearmの子に移動


まとめ
- Anima2DはUnity 5.5.0以降で無料で使える
- SpriteMesh作成 → ボーン配置 → バインド → IK設定の流れ
- 人型はIK Limbを使い、足はFlipをオンにする
- 最終的にBake Animationで処理負荷を軽減する
参考:
