How to Add Your Own Tools to Unity’s Editor | Activetuts+
http://active.tutsplus.com/tutorials/workflow/how-to-add-your-own-tools-to-unitys-editor/
Unity 3.5で動作しない部分
ここに記載されている通りに試した所、Unity 3.5だと GridUpdate(SceneView sceneview) の以下の EditorUtility を使っている部分でWarningが発生して上手く動作しませんでした。
GameObject obj; Object prefab = EditorUtility.GetPrefabParent(Selection.activeObject); if (prefab) { obj = (GameObject)EditorUtility.InstantiatePrefab(prefab); obj.transform.position = new Vector3(0.0f, 0.0f, 0.0f); }
こちらは以下の様に PrefabUtility に置き換えると正しく動作しました。
Object prefab = PrefabUtility.GetPrefabParent(Selection.activeObject); if (prefab) { obj = (GameObject)PrefabUtility.InstantiatePrefab(prefab); obj.transform.position = new Vector3(0.0f, 0.0f, 0.0f); }
マウスカーソルの座標
マウスカーソルの座標はこの様なプログラムで取得可能。Y座標は下方向がプラス。
void GridUpdate(SceneView sceneview) { Event e = Event.current; Debug.Log (string.Format("{0:F}, {1:F}", e.mousePosition.x, e.mousePosition.y)); }
関連情報
Unityのエディタ拡張について丁寧に解説されているスライド「Extending the Unity Editor」 - 強火で進め
http://d.hatena.ne.jp/nakamura001/20120210/1328884599