はじめに
UnityでAnimatorを使おうとした場合、以下の作業を行う必要があります。
メニューからAnimatorControllerを作成
-> 作成した.controllerをAnimatorコンポーネントへアタッチ
この作業がめんどくさかったので、エディター拡張で自動化してみました。
ソースコード
以下のスクリプトをプロジェクトのEditorフォルダ以下へ入れてください。
AnimatorInspector.cs
using UnityEngine;
using UnityEditor;
using UnityEditor.Animations;
[CustomEditor(typeof(Animator))]
public class AnimatorInspector : Editor
{
public override void OnInspectorGUI()
{
var animator = target as Animator;
if (animator.runtimeAnimatorController == null)
{
if (GUILayout.Button("Create"))
{
CreateAnimatorController();
}
}
this.DrawDefaultInspector();
}
/// <summary>
/// AnimatorController作成
/// </summary>
void CreateAnimatorController()
{
string fullpath = EditorUtility.SaveFilePanel("AnimatorController作成", "Assets", "New AnimatorController", "controller");
if (fullpath.Length == 0) { return; }
string path = "Assets" + fullpath.Substring(Application.dataPath.Length);
//非常に単純なAnimatorControllerを生成するEditor拡張コード
//http://qiita.com/RyotaMurohoshi/items/c1f29f9afbce910c5438
AnimatorController controller = AnimatorController.CreateAnimatorControllerAtPath(path);
// AnimatorコンポーネントにAnimatorControllerをアタッチ
var animator = target as Animator;
animator.runtimeAnimatorController = (RuntimeAnimatorController)controller;
Debug.Log("Create: " + path, controller);
}
}
結果
上記のスクリプトをプロジェクトに入れるとAnimatorコンポーネントにボタンが一つ追加されます。
Createボタンを押して保存を押せば、あとは controller作成->Animatorへのアタッチ を自動でやってくれます。楽ちんです(完

参考
非常に単純なAnimatorControllerを生成するEditor拡張コード
http://qiita.com/RyotaMurohoshi/items/c1f29f9afbce910c5438