目次
※この記事で使用しているUnrealのVersionは04.24.0です。
※今回はサンプルプロジェクトはありません。
BlueprintNodeを出現させるショートカット レベル【★☆】
今回は、BlueprintNodeを出現させるショートカットを独自に簡単に追加する方法を軽く紹介します。
※前提として、適当なBlueprintを作ってGraphエディターを開くか、LevelBlueprintを開いておきましょう。
BlueprintNodeを出現させるショートカットとは、Blueprint Edtor上で、特定のキーを押しながら左クリックをすることで、特定のNodeを出現させる便利機能のことです。
例えば、Dキーを押しながら左クリックすると、
このように一々右クリックからNodeを検索したりする必要なくNodeを出現させることができます。
※ちなみにBlueprint Editorには「Palette」というWindowでNodeのお気に入り登録することができます。
そちらに関しては、
[UE4] BlueprintエディタのPalette機能を使って、自分だけのお気に入りノードリストをカスタマイズしちゃおう!
をご覧ください。
UE4がDefaultで定義しているBlueprintNodeのショートカットは以下になります。
R Key:Actor Reference(s) ※Level Editorのみ A Key:Array_Get ※効いていない? B Key:Branch D Key:Delay N Key:Do N O Key:DoOnce F Key:ForEachLoop G Key:Gate M Key:MultiGate B Key:BeginPlay S Key:Sequence
この項目は、Editor左上の「Edit」から「Editor Preference」を選択して開いて、「General – Keyboard Shortcuts」内の「Blueprint Editor -Spawn Node by chord」以下にあります。
また、Keyの割り当てをこの部分で編集することもできます。
※ちなみに、もし見つからない場合は適当なBlueprintを開いてから再度Editor Preferenceを見てください。
Editorを起動してから1度BlueprintEditorを開かないとどうやらリスト化してくれないようです。
このあたりのショートカットは使いこなすと、Blueprintを書く速度が圧倒的に上がりますので是非使ってください。
さて、ここからが本題ですが、↑のKeyboard Shortcutsを追加する方法です。
Keyboard Shortcutsに項目を追加するには、Engineのiniファイルをいじります。
注意:Engineのiniファイルなので、あなたが使っているEngineバージョンすべてに適応されます。
プロジェクト単位で開発していると、iniファイルの編集を誤ってアップしたり他人の編集が、自分が編集したことによって宇和が枯れないことがありますので、編集する際は注意してください。
インストールしているEngine階層の「Config/BaseEditorPerProjectUserSettings.ini」というiniファイルを開きます。
(インストールをデフォルト設定でやった場合は大体
C:\Program Files\Epic Games\UE_4.24\Engine
にあります)
中にある[BlueprintSpawnNodes]と書かれた部分を見てみましょう。
ここに「+Node=」という形で、ShortcutKeyの配列の元を作っている記述があります。
追加する際は
Node=(Class=[(Class名:)Node名] Key=[Key] Shift=[True/False] Ctrl=[True/False] Alt=[True/False]
という規則で追加します。
例えば「T」Keyを押しながらクリックした際にPrintStringを出現させたい場合は、
+Node=(Class=PrintString Key=T Shift=false Ctrl=false Alt=false)
という文をBaseEditorPerProjectUserSettings.ini追加します。
そして、これを保存したら一度Editorを閉じます。
(再度Editorを開くことで適応されるようです)
開きなおしたEditor上でTを押しながらBlueprintGraph上を左クリックすると…
PrintStringが出現するようになりました。便利!
そして、この状態でEditor Preferenceを見てみると、iniに追加した設定が表示されています。
次回以降はここから編集することでKey割り当てを変更することができます。
なお、このショートカットはどんな関数やマクロでも追加できます。
例えばBlueprintFunctionLibraryを作って中に適当な関数を作ります。
そしてiniファイルに以下の行を追加します。
+Node=(Class=Test Key=T Shift=false Ctrl=false Alt=false)
そして、Editorを再起動した後に適当なBP上でTを押しながら左クリックをすると、
TestというBPのFLIBでつくった関数も出てきました。
このようにBlueprintNodeのショートカットを独自に追加できるので、自分がよく使うNodeなんかを設定すると、とても便利だと思います。
ちなみに一つ注意点があります。
もし別々のFunctionLibraryなんかで同じ名前のUFUNCTIONな関数があったとします。
この状態だとどちらかが優先されてしまい、優先されなかったほうをショートカットに追加できません(自分の場合だとBP_TestのTest(bool Test)が実行されました)
この場合は明示的にクラスを指定する必要があります。
クラスを指定する場合は、関数名を指定する部分の前に「BP_Test2_C:Test」という風にして明示します。
※BlueprintClassの場合は、Blueprintアセットの名前に「_C」を付けることでクラス名になります。
自分の環境では、何もクラスを指定しないとBP_Test内のTest関数(引数がboolの方)が追加されてしまったので、iniファイルを以下のように書き換えました。
+Node=(Class=BP_Test2_C:Test Key=T Shift=false Ctrl=false Alt=false)
すると、以下のようにBP_Test2内のTest関数が出てくれるようになりました。
ちなみに別のiniファイル(プロジェクトのiniとか)に設定を追加したい場合は、「BlueprintEditorCommands.cpp」の「RegisterCommands()」にあるConfigを選ぶ部分を変更すればいけそうな感じでした。(Engineビルド必要。試してないので断言できません)
以上