ガイド使い方読了時間:8分
Unityで3Dモデルを自動リギング: Humanoid対応、アニメーションクリップ付き
Projectウィンドウでモデルを選んで「Rig」を押すと、約1分後にリギング済みFBXが隣に現れます。Humanoid設定済みで、すべてのアニメーションがクリップになっています。
AFK AI
Signed in as you@example.comSign out
Model
Hero.fbx
Body typehuman
All animationsRig only
FacingAuto
Adding the animations...
- Hero.fbx
- Hero_rigged.fbxHumanoid
- └Idle_ALoop Time ✓
- └WalkLoop Time ✓
- └Jump_Startonce
- └Sword_Attackonce
- └…
- └Hero_riggedAvatarAvatar
Unityでキャラクターを動かす定番の方法は、Mixamoを経由することです。FBXをエクスポートしてアップロードし、あご、手首、ひじ、ひざにマーカーを置き、アニメーションを1つずつダウンロードしてから、すべてのファイルをHumanoidに設定し、クリップごとにLoop Timeにチェックを入れます。しかも、使えるのは人型だけです。
AFK AIパッケージなら、これをUnityエディター内のウィンドウから行えます。Projectウィンドウでモデルを選び、Rigを押すだけ。約1分後にはHero.fbxの隣にHero_rigged.fbxが置かれています。Humanoidとしてセットアップ済みで、各アニメーションはクリップになり、歩きや待機のクリップはループ設定済みです。
MixamoとUnity版AFK AIの比較
Mixamoは無料で、人型向けのアニメーションライブラリも充実しています。AFK AIなら行ったり来たりの手間が省け、動物や小物もリギングでき、人型なら最大593種類のアニメーションが1つのファイルにまとまって届きます。無料アカウントでは無料のアニメーションのみ、プランに加入するとすべてのアニメーションを利用できます。
| Mixamo | Unity版AFK AI | |
|---|---|---|
| 使う場所 | Webサイト:アップロード、リギング、ダウンロード | Unityエディター内のウィンドウ |
| 作業内容 | あご、手首、ひじ、ひざ、股にマーカーを置く | ボディタイプを選んで「Rig」をクリック |
| 対応する体 | 人型のみ | 人型と、ほかの14種類のボディタイプ |
| アニメーション | 1つずつダウンロード | ボディタイプのすべてのアニメーションを1つのFBXに |
| Unityでの設定 | 手作業:Humanoidに設定し、クリップごとにLoop Timeをオン | 設定済み:Humanoid、アニメーションごとに1クリップ、ループもオン |
| ログイン | Adobeアカウント | afk.aiアカウント(Googleでログイン) |
パッケージのインストール
- Unityプラグインのページからパッケージをダウンロードします。
.tgzファイル1つです。Unityはこのファイルからパッケージを読み込むので、プロジェクトの外の、ずっと置いておける場所に保存します。 - UnityでWindow > Package Managerを開き、左上の+をクリックしてAdd package from tarball...を選びます。
- ダウンロードした
.tgzファイルを選びます。解凍はしないでください。 - Window > AFK AIを開きます。ウィンドウは好きな場所にドッキングできます。
Unity 2021.3以降(Unity 6を含む)で動作し、Built-in、URP、HDRPのどのパイプラインでも使えます。プラグインが関わるのはモデルのインポートだけだからです。コードはすべてエディター専用なので、ゲームには一切含まれません。
ログイン
- AFK AIウィンドウでSign inをクリックします。ブラウザでafk.aiのログインページが開くので、Googleでログインします。
- ブラウザに「You're signed in」と表示されます。タブを閉じてUnityに戻ると、ウィンドウにメールアドレスと今月の残りリギング回数が表示されます。
ブラウザからUnityに戻れない場合(一部のセキュリティソフトがブロックすることがあります)は、afk.aiに代わりにログインコードが表示されます。AFK AIウィンドウでI have a sign-in codeを開いてコードを貼り付け、Use codeをクリックします。
ログイン情報は、このパソコンのユーザーごとのUnity自体の設定に保存され、プロジェクトには保存されません。プロジェクトを共有したりコミットしたりしても、ログイン情報が共有されることはありません。
モデルをリギングする
- Projectウィンドウでモデルを選択します。50MBまでの
.fbx、.glb、.gltfファイルです。シーンに配置したモデルでもかまいません。その場合、プラグインは元のファイルを送信します。UnityはglTFインポーターが入っていないと.glbファイルをモデルとして表示しませんが、プラグインはどちらの場合でも送信できます。 - AFK AIウィンドウでBody typeを設定します。人や二足歩行のものならHuman、それ以外は該当する動物やクリーチャーを選びます。
- All animationsはオンのままにします。スケルトンだけが必要ならRig onlyを選びます。FacingはAutoのままにします。
- Rigをクリックします。ウィンドウに進行状況が表示されます。アップロード、待機、リギング、アニメーションの追加、ダウンロードの順です。その間も作業を続けられ、ウィンドウを閉じても処理は止まりません。
完了すると、Hero.fbxの隣にHero_rigged.fbxが保存され、Projectウィンドウで選択・ハイライトされます。元のファイルは変更されません。
Unityに追加されるもの
- Humanoid:人は専用のAvatar(
Hero_riggedAvatar)付きのHumanoidリグとして読み込まれるので、ほかのHumanoidキャラクターと双方向にアニメーションを共有できます。指も含め、UnityがボーンをHumanoidのスロットに自動で割り当てます。 - Generic:キツネからドラゴンまで、それ以外のボディタイプはすべてGenericリグとして読み込まれます。
- クリップ:アニメーションごとに1つのクリップになり、afk.aiと同じ名前が付きます。Idle_A、Walk、Jog、Sprint、Jump_Start、Sword_Attackなどです。
- ループ:繰り返すことが名前からわかるクリップ(idle、walk、run、fly、swimなど)はLoop Timeがオンになっています。Jump_Start、Sword_Attack、Death_Aのような一度きりのクリップは1回だけ再生されます。
- ルートモーション:名前が_RMで終わるもの(Roll_RM、Dodge_left_RMなど)は、アニメーション自体でキャラクターが前に進みます。それ以外はその場で再生されます。
UnityがスケルトンをHumanoidのボーンに対応付けられない場合、プラグインはモデルを代わりにGenericとして設定し、その理由を表示します。アニメーションはそのまま再生できますが、ほかのHumanoidキャラクターとは共有できません。

root └ pelvis └ spine_01 └ spine_02 └ spine_03 └ neck_01 └ head └ clavicle_l └ upperarm_l └ lowerarm_l └ hand_l └ thumb_01_l thumb_02_l thumb_03_l └ index_01_l index_02_l index_03_l └ middle_01_l middle_02_l middle_03_l └ ring_01_l ring_02_l ring_03_l └ pinky_01_l pinky_02_l pinky_03_l └ clavicle_r ... (右側も同じ) └ thigh_l └ calf_l └ foot_l └ ball_l └ thigh_r ... (右側も同じ)Animatorのセットアップ
キャラクターの速度に応じて待機、歩き、ジョギング、全力疾走と切り替わるブレンドツリーと、ボタンで出す剣の攻撃を作ります。
Hero_rigged.fbxをシーンにドラッグします。Avatar付きのAnimatorがすでに付いています。Character Controllerを追加し、AnimatorのApply Root Motionをオフにします(移動はスクリプトで行います)。- ProjectウィンドウでCreate > Animator Controllerを選び(Unity 6ではCreate > Animation > Animator Controller)、
Heroという名前を付けて、AnimatorのController欄にドラッグします。 - コントローラーを開きます(Window > Animation > Animator)。Parametersで、
Speedという名前のFloatと、Attackという名前のTriggerを追加します。 - グラフを右クリックしてCreate State > From New Blend Treeを選びます。ダブルクリックしてパラメーターを
Speedに設定し、Hero_rigged.fbxのIdle_A、Walk、Jog、Sprintの4つをモーションとして追加します(Projectウィンドウでファイルの矢印をクリックするとクリップが表示されます)。Automate Thresholdsをオフにし、しきい値をキャラクターの移動速度に合わせて設定します。たとえば0、1.5、3.5、6です。 - Base Layerに戻り、Sword_Attackクリップをドラッグします。ブレンドツリーからこのクリップへのトランジションを作り、条件を
Attackにして、すぐに始まるようHas Exit Timeをオフにします。ブレンドツリーに戻るトランジションはHas Exit Timeをオンにします。 - 次のスクリプトをキャラクターに追加します。
using UnityEngine;
// Moves the character and tells its Animator how fast it's going.
[RequireComponent(typeof(Animator), typeof(CharacterController))]
public class HeroAnimation : MonoBehaviour
{
static readonly int Speed = Animator.StringToHash("Speed");
static readonly int Attack = Animator.StringToHash("Attack");
[SerializeField] float runSpeed = 6f;
Animator animator;
CharacterController controller;
void Awake()
{
animator = GetComponent<Animator>();
controller = GetComponent<CharacterController>();
}
void Update()
{
// The Input Manager's axes. With only the Input System package, read your Move action here instead.
var input = new Vector3(Input.GetAxis("Horizontal"), 0f, Input.GetAxis("Vertical"));
var move = Vector3.ClampMagnitude(input, 1f) * runSpeed;
controller.SimpleMove(move);
if (move.sqrMagnitude > 0.01f) transform.rotation = Quaternion.LookRotation(move);
animator.SetFloat(Speed, move.magnitude, 0.1f, Time.deltaTime); // eased, so the blend doesn't snap
if (Input.GetButtonDown("Fire1")) animator.SetTrigger(Attack);
}
}
Playを押すと、スティックや矢印キーでキャラクターが待機、歩き、ジョギング、全力疾走し、クリックで剣を振ります。
ほかのキャラクターとアニメーションを共有
リギングされた人はHumanoidなので、リターゲットはUnityが行います。Asset Storeや手持ちのライブラリにあるHumanoidクリップなら、どれでもそのまま再生できます。逆に、このキャラクターのクリップも、手持ちのどのHumanoidキャラクターでも再生できます。Hero_rigged.fbxのSprintクリップを別のキャラクターのAnimator Controllerにドラッグすれば、そのキャラクターが走り出します。
動物やクリーチャーはGenericなので、クリップはそれぞれのスケルトンでのみ再生できます。ただし、AFK AIで同じボディタイプとしてリギングしたモデルはボーン名もアニメーション名も共通なので、1匹のキツネ用のAnimator Controllerで、ほかにリギングしたキツネもすべて動かせます。
動物、クリーチャー、小物
「Rig」を押す前に、ウィンドウでボディタイプを選びます。犬、猫、オオカミならFox、ひづめのある動物ならHorse、ほかにBird、Dragon、恐竜ならKaiju、Spider、Insect、Snake、Fish、Kangaroo、Frog、Turtle、Ghost、弾む・回る・揺れる小物ならObjectです。それぞれに体に合わせたスケルトンと、そのスケルトン用のアニメーションが付き、Genericリグとして、クリップとループの設定も同じように済んだ状態で読み込まれます。各ボディタイプに付くアニメーションは動物のリギングガイドで紹介しています。
- ドラゴン
- 四足歩行
- ひづめのある動物
- 恐竜
- クモ
- 魚
リギング回数のカウント
AFK AIが受け付けたRigのクリックは、1回ごとに今月のリギング回数を1回分使います。afk.ai/rigやほかのAFK AIプラグインでのリギングと同じです。失敗したリギングはカウントされません。Stop waitingはUnityでの待機を止めるだけで、リギングは続行され、回数にもカウントされます。接続が切れた場合は、Try againで同じリギングを再開でき、二重にカウントされることはありません。回数を使い切ると、ウィンドウにSee plansが表示され、afk.aiのプランを開けます。
うまくいかないとき
- ログイン後、ブラウザがページに戻れない
- I have a sign-in codeを使います。
- AFK AIに接続できない
- 接続を確認してからTry againをクリックします。同じリギングが再開されます。
- モデルが大きすぎる
- AFK AIが受け付けるのは50MBまでのモデルです。ポリゴン数を減らしたり、テクスチャを小さくしたりして、軽いモデルをエクスポートします。
- 「keeps its data in separate files」と表示される
.binが隣にある.gltfです。代わりに.glbをエクスポートします。- ループすべきでないクリップがループする
Hero_rigged.fbxを選択し、InspectorのAnimationタブを開いてクリップを選び、Loop Timeを変更してApplyをクリックします。- Rigを押しても何も起こらない
- 先にProjectウィンドウで
.fbx、.glb、.gltfのいずれかを選択します。足りないものはウィンドウに表示されます。
よくある質問
Mixamoはまだ必要ですか?
いいえ。プラグインがモデルのリギングとアニメーションの追加を一度に行い、Humanoidとしてセットアップします。Mixamoのアニメーションを使うこともできます。任意のHumanoidキャラクター用にダウンロードしてHumanoidに設定すれば、このキャラクターでも再生できます。
AFK AIパッケージはゲームのビルドに含まれますか?
いいえ。コードはすべてエディター専用のアセンブリに入っています。プロジェクトに残るのは、通常のモデルアセットであるリギング済みFBXです。
Unity 6で使えますか?
はい。Unity 2021.3以降のすべてのバージョンで使えます。Unity 6も含まれます。
Unityで.glbや.gltfのモデルをリギングできますか?
はい。UnityにglTFインポーターがなく、モデルとして表示されない場合でも、プラグインはファイルをそのまま送信します。戻ってくるのはFBXなので、Unityでは追加のパッケージなしでインポートできます。.gltfはすべてのデータを埋め込んだものに限ります。そうでない場合は.glbをエクスポートします。
VRChatのアバターにも使えますか?
はい。リギングされた人はすべての指を含むHumanoidで、VRChatに必要な条件を満たしています。残りのセットアップはVRChatガイドで解説しています。
キャラクターが違う方向を向いている場合は?
Facingをモデルが回転している角度(90°、180°、270°)に設定して、もう一度リギングします。ほとんどのモデルはAutoで正しく判定されます。
フォルダー内のモデルをスクリプトでまとめてリギングできますか?
プラグインでリギングできるのは一度に1つのモデルです。まとめて処理したい場合やビルドパイプラインに組み込む場合は、コマンドラインや自作のコードからリギングAPIを使います。
Unreal、Godot、Blender用のプラグインもありますか?
はい。Unreal Engine、Godot、Blenderにはそれぞれ専用のガイドがあり、AFK AIプラグインの概要では9つのアプリすべてを紹介しています。
モデルをリギングして動かす
ブラウザ上でモデルをアップロードすると、AIがリギングし、数百種類のアニメーションをその場で再生できます。どのエンジンでも使えるGLBファイルにまとめてダウンロードできます。
ほかのガイド
使い方
Blenderでキャラクターを自動リギング:無料のAFK AIアドオン
モデルを選んで「Rig」を押すと、約1分後にアニメーション付きのリギング済みコピーが隣に現れます。Blender 4.2以降に対応。
使い方
Unreal Engine 5でキャラクターを自動リギング:スタティックメッシュからアニメーション付きスケルタルメッシュへ
メッシュを右クリックして「Rig with AFK AI」を選ぶと、約1分後にスケルトン、物理アセット、アニメーション付きのスケルタルメッシュが同じフォルダーに現れます。
比較
9つの3Dアプリとゲームエンジンに対応した自動リギングプラグイン:Blender、Maya、Unity、Unrealほか
9つのアプリそれぞれにAFK AIのプラグインがあります。モデルを選んで「Rig」を押せば、約1分後にはリギングとアニメーションが済んだ状態でシーンやプロジェクトに戻ってきます。