8
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Unity Shortcut Managerで便利なショートカットをつくろう!

Last updated at Posted at 2020-12-15

#はじめに
この記事は「サムザップ #1 Advent Calendar 2020」の12月15日の記事です。
昨日の記事は@tomeitouさんの「未来の本番不具合を減らすための振り返りと分析」でした。

Unity 2019で「Shortcut Manager」という機能が追加されました。この機能はunity上でショートカットを設定できる機能です。

設定できるショートカットは、既存のメニューの機能やMenuItemです。
MenuItemとして実装をすれば、独自の機能もショートカットとして追加することができます。

今回はUnity Shortcut Managerを使って、ショートカットを設定する手順を紹介します。

#既存の機能をショートカットに設定する
###ショートカットの設定ウインドウを開く
以下の手順から設定ウインドウを開きます
Windows: Edit > Shortcuts
Mac: Unity > Shortcuts
Screen Shot 2020-07-06 at 22.09.48.pngScreen Shot 2020-07-06 at 22.10.31.png
赤色キー:すでにショートカットが割り当てられる
青色キー:他のキーとセットで入力するショートカットとして割り当てられている
黒色キー:まだショートカットが割り当てられていない
Category:メニューのどの操作に属しているか
Name : 操作名
Bindings : 割り当てられているショートカット

###ショートカットを割り当てる
ボタンを生成するコマンドにショートカットを割り当てます
操作一覧からボタンを生成するコマンドを探します
Nameの欄をダブルクリックして、割り当てたいショートカットを入力します。今回はOption + bを割り当てました。
shortcut1.gif
実際に使ってみます。
addButton2.gif

独自のメニューを作って、ショートカットに設定する

最後に独自の処理をショートカットとしてつかってみたいと思います。
まず、MenuItemとして、ショートカットとして使いたい処理を実装します。
今回はヒエラルキー上の選択されたGameObjectの順番を変更する処理を用意しました。

title
using System.Linq;
using UnityEditor;
using UnityEngine;
public class TestShortCut : MonoBehaviour
{
    [MenuItem( "Tools/GameObject Down" )]
    private static void Down()
    {
        var selectedGameObjects = Selection.gameObjects;
        foreach(var selectedGameObject in selectedGameObjects.Reverse())
        {
            selectedGameObject.transform.SetSiblingIndex(selectedGameObject.transform.GetSiblingIndex() + 1);
        }
    }
    
    [MenuItem( "Tools/GameObject Up" )]
    private static void Up()
    {
        var selectedGameObjects = Selection.gameObjects;
        foreach(var selectedGameObject in selectedGameObjects)
        {
            selectedGameObject.transform.SetSiblingIndex(selectedGameObject.transform.GetSiblingIndex() - 1);
        }
    }
} 

MenuItemを実装すると、Shortcut managerにも表示されます。
Screen Shot 2020-07-06 at 22.56.28.png
GameObject Down:選択されているゲームオブジェクトをヒエラルキーの順番を下にする
GameObject Up:選択されているゲームオブジェクトをヒエラルキーの順番を下にする
実際に使ってみます
updownObject2.gif

#まとめ
今回はUnity Shortcut Managerを使って、ショートカットを設定する方法を紹介しました。
普段、マウスを使ってよく行う操作をショートカットに設定すると、とても快適になります。もしよかったら、使ってみてください。最後まで読んでいただきありがとうございました。
明日のアドベントカレンダーの担当は@ichikawa_masahiroさんです。

8
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?