Unity のショートカットマネージャーでは、キーボードショートカットの表示と管理ができます。
ショートカットは Unity コマンドに紐づけられた任意のキー 、またはキーの組み合わせです。コマンドは、エディターで実行されるアクションです。例えば、R キーはシーンビューで スケール ツールをアクティブにするコマンドに紐づけられています。
ショートカットマネージャには Unity のメインメニューからアクセスします。
A | Profile ドロップダウンメニュー: 異なるショートカットプロファイルを管理し、切り替えることができます。詳細は ショートカットプロファイル を参照してください。 |
B | キーマップ: コマンドに割り当てられているキーと、それらに割り当てられているコマンドを表示します。詳細は キーマップ を参照してください。キーマップを使用して ショートカットを管理 することもできます。 |
C | カテゴリリスト: コマンドはカテゴリに分類され、 カテゴリ リストに表示されます。カテゴリを選択すると、そのコマンドが右側の Command リストに表示されます。 |
D | コマンド と ショートカットリスト: 選択したカテゴリのすべてのコマンドと割り当てられたショートカットを列挙します。詳細は コマンドリスト を参照してください。コマンドリストを使用して ショートカットを管理 することもできます。 |
Unity のコマンドはグローバルでもコンテキスト依存でも使用できます。
グローバルコマンドは常に使用可能です。例えば、デフォルトでは、アクションを元に戻すコマンドは Ctrl/Cmd + Z ショートカットに割り当てられます。そのショートカットを使用すると、開いているウィンドウや使用しているツールに関係なく、常に最後のアクションが取り消されます。
コンテキストコマンドは、特定のビューやツールを使用する場合にのみ機能します。例えば、デフォルトでは角括弧キー [ と ] が Terrain (地形) ツールの 1 揃いのコマンドセットと Grid Painting ツールの別のコマンドセットに割り当てられています。これらのキーのいずれかを押すと、Unity はどちらかアクティブなツールのコマンドを実行します。
通常、ショートカットは 1 つのグローバルコマンド、またはコンテキストが異なる 1 つ以上のコンテキスト依存コマンドに割り当てられます。他の複数コマンドの組み合わせ (例えば、2 つのグローバルコマンド、または同じコンテキストの 2 つのコンテキスト依存コマンド) は競合を引き起こし、管理が必要になります。ショートカットの競合やその管理方法の詳細については、ショートカットの競合 を参照してください 。
Unity には、他のグローバルコマンドと競合を起こすことなくショートカットを共有できる特別グローバルコマンドがいくつかあります。例えば、Q、W、E キーはそれぞれ View、Move、Rotate ツールに割り当てられていますが、フライスルー モードをアクティブにすると、これらのキーを使って下、前、上に移動します。
ここでは、ショートカットの割り当てを表示するキーマップを使用する方法について説明します。キー マップを使用してショートカットを追加、削除、変更する方法については、ショートカットの管理 を参照してください。
キーマップは、どのキーとキーの組み合わせがコマンドに割り当てられているかを表示します。
ピンク色のキーはグローバルコマンドに割り当てられています。 | |
青色のキーはコンテキスト依存のコマンドに割り当てられます。 | |
白いキーはどのコマンドにも割り当てられていません。 | |
グレーのキーは、コマンドに割り当てることができない特殊なキーです。 例えば、Shift や Ctrl/Cmd などの修飾キー、Return や Esc などのユーティリティキーなどです。 |
Shift、Ctrl/Cmd、Alt などの修飾キーを選択すると、キーマップが更新され、コマンドに割り当てられているショートカットと修飾キーの組み合わせが表示されます。 キーマップでアクティブな修飾キーは青色に変わります。
ヒント: キーマップで一時的に修飾キーをアクティブにするには、修飾キーをキーボード上で押し続けます。
特定のキーが割り当てられているコマンドを確認するには、マウスのポインターをショートカットキーにマウスオーバーします。ツールチップに、キーに割り当てられているコマンドが表示されます。
キーの組み合わせについては、修飾キーをキーボードで押したままにするか、キー マップでそれらをクリックすることによって修飾キーをアクティブにしてから、マウスのポインターをショートカットキーにマウスオーバーします。
1 つのショートカットを複数のコマンドに割り当てることができます。Unity がコマンドを同時に実行できない限り、ショートカットは透過的に機能します。ただし、同時に実行できる複数のコマンドをショートカットにマップすると、競合します。競合を見つけそれを管理する方法については、後述の ショートカットの競合 を参照してください。
ここでは、ショートカットの割り当てを表示する Command (コマンド) リストを使用する方法について説明します。キー マップを使用してショートカットを追加、削除、変更する方法については、ショートカットの管理 を参照してください。
コマンド リストには、特定のコマンドに割り当てられたショートカットが表示されます。Category (カテゴリ) リストからカテゴリを選択すると、コマンド リストにそのコマンドとショートカットが表示されます。
検索フィールドを使用して コマンド リストを検索することもできます。検索語句を入力すると、 コマンド リストは自動的に検索語句に合うコマンドにスコープを絞り込みます。
特定のカテゴリを検索する場合、Search 行でスコープを選択して、選択したカテゴリの結果と All Unity Commands カテゴリの結果を切り替えることができます。
ショートカットマネージャーには、ショートカットの割り当て、変更、割り当て解除、リセットの方法がいくつかあります。
ショートカットの割り当てや変更は、以下のいずれかの方法で行います。
ショートカットの割り当て解除やリセットは、以下のいずれかの方法で行います。
キーマップまたは Command リストを使用して、ショートカットをコマンドに割り当てます。
キーマップを使用して、ショートカットを割り当てるには、以下を行います。
ショートカットに加える修飾キー (Shift や Ctrl/Cmd など) をクリックします。
コマンドを Command リストからメインショートカットキーにドラッグアンドドロップします。
キーマップ上にマウスオーバーすると、ポインターは使用可能な割り当てを表示します 。
Command リストからショートカットを割り当てるには、以下を行います。
ショートカットフィールドを編集するには、リスト内のコマンドをダブルクリックします。
ショートカットフィールドにカーソルを合わせ、キーボードのショートカットのキーを押します。
ショートカットに加える修飾キー (Shift や Alt/Option など) を押したままにしてください。
ショートカットがすでにコマンドに割り当てられている場合は、新しい割り当てによって競合が発生します。競合の管理については、ショートカットの競合 を参照してください。
キーマップまたは Command リストを使用して、コマンドに割り当てられたショートカットを削除したり、変更したショートカットをデフォルトのマップにリセットできます 。
注意: Unity はデフォルトの ショートカットの割り当てを Default プロファイルに保存します。詳細は ショートカットプロファイル を参照してください。
キーマップでショートカットの割り当て解除やリセットを行うには、以下を行います。
割り当てを解除またはリセットするショートカットキーを右クリックします。
キーの組み合わせの割り当て解除/リセットを行う場合は、ショートカットキーを右クリックする前に含まれている修飾キー (Shift や Ctrl/Cmd など) をクリックします。
コンテキストメニューから
[COMMAND] > Reset to default を選択して、コマンドにデフォルトのショートカットを再割り当てします。
[COMMAND] > Remove shortcut を選択して、コマンドのショートカットの割り当てを解除します。
コマンドリストからショートカットの割り当ての解除やリセットを行います
割り当てを解除またはリセットするショートカットのコマンドを右クリックします。
コンテキストメニューから
または、
You can assign the same shortcut to more than one command, provided the commands cannot be executed at the same time. For example, a single shortcut might be assigned to a command in the Timeline window and another command in the Animation window. Because the two windows cannot have focus at the same time, there’s no ambiguity about which command Unity executes when you use the shortcut.
同時に実行できる 2 つのコマンドに同じショートカットを割り当てると、競合が生じます。例えば、以下に 1 つのショートカットを割り当てると競合が発生します。
同じコンテキストからの 1 つ以上のコンテキスト依存コマンド
複数のグローバルコマンド
グローバルコマンドとコンテキスト依存コマンドの組み合わせ
ショートカットマネージャーは、新しいショートカットの割り当てを作成する場合や、競合するコマンドに割り当てられたショートカットを使用する場合に、競合を処理するためのオプションを提供します。
ショートカットの競合があるコマンドは、コマンド リストに “注意” を促すアイコンと一緒に表示されます。
Category リストで Binding Conflicts カテゴリを選択すると、ショートカットの競合があるコマンドの完全なリストを取得できます。
2 つの競合するコマンドにショートカットを割り当てると、Binding conflict ダイアログが開きます。
Create Conflict を選択すると、既存のコマンドの割り当てに加えて、ショートカットをコマンドに割り当てます。
Unity はショートカットに割り当てられたすべてのコマンドを Binding Conflicts カテゴリに追加します。
Reassign を選択すると、競合するコマンドのショートカットを 再割り当て します。これにより、他のコマンド割り当てがすべて消去されます。
Cancel を選択すると、何もアクションを起こさずに終了します。
Unity で作業しているときに、競合するコマンドに割り当てられたショートカットを使用すると、Shortcut Conflict ダイアログが開きます。
リストからコマンドを選択し、Perform Selected ボタンをボタンしてコマンドを実行します。
コマンドを実行する前に Rebind to selected コマンド オプション を有効にして、他の割り当てを消去します。その結果、選択したコマンドのみにショートカットが割り当てられます。これは、他の割り当てを削除するのと同じです。
Resolve Conflict を選択してショートカットマネージャーを開きます。ショートカットを変更して競合を解消できます。
Cancel を選択すると、何もアクションを起こさずに終了します。
ショートカットはプロファイルに保存されます。各プロファイルは Unity ショートカットの完全なセットで、ニーズに合わせて変更できます。プロファイルはいくつでも作成でき、必要に応じて切り替えることができます。Default プロファイル (以下を参照) を除くすべてのアクティブなプロファイルで、ショートカットを追加、削除、変更できます。アクティブなプロファイルへの変更は即座に反映されます。Unity はそれらを自動的に保存し、それらを受け入れるか拒否するかを尋ねる画面を出しません。
Unity はプロジェクトの外の Unity 設定ディレクトリにショートカットプロファイルを保存します。
Windows: %APPDATA%/Unity\Editor-5.x\Preferences\shortcuts
macOS: ~/Library/Preferences/Unity/Editor-5.x/shortcuts
Linux: ~/.config/unity3d/Preferences/Editor-5.x/shortcuts
つまり、作成したプロファイルはすべてのプロジェクトで使用できます。
アップグレード: 古いバージョンの Unity からアップグレードする場合、Unity は Preferences で設定したすべてのショートカットを UserProfile という新しいショートカットプロファイルに移行します。
ショートカットマネージャーの上部にあるプロファイルドロップダウンからプロファイルを選択します。
A | プロファイルリスト: 使用可能なすべてのプロファイルをリストします。いずれかを選択してアクティブなプロファイルにします |
B | プロファイルオプション: 新しいプロファイルを作成したり、アクティブなプロファイルの名前を変更したり削除したりするためのオプション。 |
Unity には、工場出荷時のショートカット設定を持つ Default プロファイルがあります。新しいプロファイルを作成すると、Unity は Default プロファイルをコピーします。
Default プロファイルは変更できません。変更しようとすると、Unity は自動的にコピーを作成し (Default copy)、そのコピーをアクティブなプロファイルにして、作成した変更をそのコピーに適用します。
キーボードでキーまたはキーの組み合わせを選択すると、Unity はキーボードイベントを生成し、そのイベントをアクティブなビューに送信します。アクティブなビューがイベントを使用できる場合 (例えば、 アクションをトリガーする場合など) は、イベントを使用します。そうでない場合、イベントはショートカットマネージャーに送信され、Unity はショートカットが割り当てられているコマンドを実行します。
カスタムツールを開発する場合は、ショートカットマネージャーがキーボードイベントを受信する前にプログラムでインターセプトできます。例えば、ショートカットマネージャーを使用して設定するよりももっと複雑な方法で、キーを押したときに反応するカスタムツールが必要な場合があります。
キーボードイベントをインターセプトする方法は、カスタムツールのインターフェースの作成に使用するシステムによって異なります。
IMGUI システムを使用している場合は、以下のスクリプトリファレンスのトピックを参照してください。
UI Elements システムを使用する場合は、以下のスクリプトリファレンスのトピックを参照してください。
ショートカットマネージャーからショートカットを変更するだけでなく、UnityEditor.ShortcutManagement 名前空間のクラスを使用して、スクリプトやパッケージなどの他の場所でカスタムショートカットを定義できます。例えば、ShortcutAttribute 属性と ClutchShortcutAttribute 属性を使用して、新しいショートカットを作成できます。
Unity が別のソースからコマンドとショートカットをロードすると、以下が実行されます。
メインメニューの任意の新しいコマンドを Command リストの All Unity Commands カテゴリに追加します。すると、ショートカットマネージャーを使用してそれらのショートカットを作成できます。
カスタムコマンドカテゴリを Category リストに追加します。
カスタムキーボードのショートカットをショートカットデータベースに加えると、すべてのショートカットプロファイルに表示されます。
Command リストの Shortcut Conflicts カテゴリの現在のプロファイルのカスタムショートカットとショートカット間のすべての 競合 を表示します。
2019–02–18 Page published
ショートカットマネージャーは 2019.1 で追加NewIn20191