のしメモ アプリ開発ブログ

Unityアプリとかロボットとか作ってるときに困ったこととかメモ

ショートカットキー拡張で楽々シーン遷移

UnityのEditor拡張を使って、シーン遷移を紹介します

普通、シーン遷移する際はProjectウィンドウからシーン名を検索して
シーン遷移していると思いますが、ショートカットキーにシーン遷移を割り振ることで、
かなり効率アップする…はず?


ここから手順

1. Editorフォルダ作成

EditorスクリプトはEditorというフォルダ名の中でしか動かないので、フォルダ用意。
階層については好きなところでOK

2. C#ファイル作成


名前は適当に。今回はCustomMenuとしました。

3. 中身こんな感じに書き換え

using UnityEditor;

public class CustomMenu : Editor
{
	[MenuItem("CustomMenu/OpenTitleScene %i")]
	static public void OpenTitleScene ()
	{
		// 保存しているかチェック
		if (EditorApplication.SaveCurrentSceneIfUserWantsTo ()) 
		{
			// シーンに遷移
			string scene_path = "Assets/sample/test.unity";  /* ここに遷移したいシーンをフルパスで書く */
			EditorApplication.OpenScene (scene_path);
		}
	}
}

4. 動かしてみる

上記のスクリプトを保存した後、(Win:Ctrl+i / Mac:Cmd+i)で指定のシーンに飛ぶようになります!

5. ちょっと説明+補足

[MenuItem("CustomMenu/OpenTitleScene %i")]

MenuItemでメニューバーに表示されるようになります。

それのショートカットの指定部分が今回は「%i」になっています。
使えるショートカットキーは以下の感じ
% (Windows上で Ctrlキー, OS X上で Cmdキー), # (Shiftキー), & (Altキー), _ (キー修飾子なし)

実際に例として使ってみると以下の感じ

Editor上の記載 実際のショートカットキー
_n N
#%j Cmd+Shift+j
#k Shift+k
%i Cmd+i

既存のショートカットかぶらないように

既存のショートカットとかぶらないようにショートカットキー一覧です
http://docs-jp.unity3d.com/Documentation/Manual/UnityHotkeys.html

6. まとめ

初期化シーンに戻るのがめんどくさかったりしますし、
複数ショートカット作ればシーン遷移の時間をがんがん省けるので、おすすめです。
他の機能にショートカット使うのももちろんありですけども


Unity Asset PRESS (GAME DEVELOPER BOOKS)

Unity Asset PRESS (GAME DEVELOPER BOOKS)

Unity5 3Dゲーム開発講座 ユニティちゃんで作る本格アクションゲーム (Smart Game Developer)

Unity5 3Dゲーム開発講座 ユニティちゃんで作る本格アクションゲーム (Smart Game Developer)

Unity4プログラミング アセット活用テクニック

Unity4プログラミング アセット活用テクニック