この記事を書くことになったきっかけは、私が教えている生徒をサポートするために書き始めた電子メールにあります。そのメールは、生徒たちが Unreal Engine を学ぶクラスで初めてのレベルを試作しているときに端を発します。生徒たちには UE4 の経験がなかったため、基本的な操作に悪戦苦闘している人もいました。「ピクセル単位で正確なグリッドにブロックを配置するにはどうしたらいいのでしょうか?」とか「レベルの半分を少しだけ上に上げることはできますか?」とか「これらの暫定的に作ったものを一つずつコピーしなければならないのですか?」などなどの質問をよくされました。私は、Unreal を最初に使い始めたときから、暇を見つけてはごく簡単な作業でもより効率的にできる方法を探求していました。そのようにしながら、役に立つショートカットキーやこつなどが仮想ノートに書き込まれていき、数ヶ月にわたってその内容は膨らんでいきました。
記事は各カテゴリーで基本と応用のショートカットキーに分かれています。基本は、UE4 を始めたばかりの方のみならず、ある程度使ったことがある方にも役立つようになっています。応用は、UE4 の使い方に詳しいながらももっと効率的に使いたいという方を対象にしたものです。
ショートカットキー
選択
アセット (たいていはメッシュ) の選択、グループ化、配置のための各機能は、作業をもっと容易にできるごく基本的なツールです。以下は、 (私見では) 最も役立つコマンド集です。基本
- グループ化およびグループ化解除 (Ctrl +G/Shift + G)
この操作によって、アセットをひとまとまりのものとして利用できるようになります。あるいは、レベルの中のある部分を配置できるようになります。
- ロックとロック解除 (右マウスボタン -> Group[グループ])
- オブジェクトのレベルを選択 - 現在のレベルとして設定 (M)
- すべてを選択する (Ctrl + A)
応用
- クラスで選択 & 選択の反転 (右マウスボタン -> Select (選択) -> Select Matching (Selected Class) (一致するクラスを選択 (選択クラス)など)
ドアのブループリントだけをすべて選択したいですって? ― できますよ。M_SelectMe というマテリアルをもつものすべて選択できますか? ― もちろんです。ドアのブループリント以外をすべて選択したいです。 ― 大丈夫ですよ。
このような機能は、共通の要素をもつオブジェクト (たとえば、同じブループリントのオブジェクトとか、同じマテリアルを使っているオブジェクトとか、必要としているもの以外のすべてのオブジェクトなど) を選択する場合などに便利です。
トランスフォーム
トランスフォームは UE4 で欠かすことができない要素です。マスターすれば作業は倍速になります!基本
- トランスフォームを循環的に切り替える (スペースバー) および (W/E/R)
- ワールド/ローカルのトランスフォーム
上図の例では、オブジェクトを左に移動しようとしています。ただし、ワールドの左にではなく、オブジェクトの左にです。このワールド/ローカルのトランスフォームの切り替え機能は、オブジェクト (あるいはオブジェクト以外のすべて) の回転がワールドを基準にしていない場合に役立ちます。
- フロアにスナップする (End)
「このイスは本当にフロアに接しているのだろうか?」 ― そのような心配がある場合でも、ピクセル単位の正確性を期すために手動で調整する必要はありません。単に End キーを押すだけで、接地させることができるのです (ただし、フロアとイスのコリジョンが正しく設定されていることが前提となります)。スナップの他の便利な機能については、右マウスボタン -> Transform (トランスフォーム) -> Snap/Align (スナップ/整列) の項目を参照してください。
応用
- グリッドにスナップ
ただし、オブジェクトのスケールをほどよく設定して、適切に配置できるようにしましょう。
- ピボットの位置を設定する (右マウスボタン -> pivot (ピボット) -> Set pivot offset here (ピボットをここに設定))
オブジェクトの配置が少し難しい場合があります。ピボットが正しい位置にあってもそのようなことはあり得ます。そういう場合は、ピボットの位置を変えてみましょう。クリックした場所に配置したり (Alt + 中マウスボタン)、右マウスボタンを押しながらドラッグすることができます。
- トランスフォームの値を上げる
オブジェクトをたとえば 165 ユニットのように特定の値分だけ移動するのなら、そのオブジェクトの Details (詳細) パネルでその値を入力すれば可能です。しかし、そのオブジェクトがすでに 2 軸で回転した後ならどうなるでしょうか?ワールド/ローカルのトランスフォームによって、望みの方向に動かすことはできるのですが、トランスフォームの値を 3 度も変更するのは面倒ですね。その場合は、トランスフォームの値を増加/減少させるためのショートカットを作成しましょう!
Bonus tip: トランスフォームのスナップのためのデフォルト値は、Editor Preferences (エディタの環境設定) > Level Editor (レベルエディタ) > Viewport (ビューポート) > Grid Snapping で変更可能です。
- アクタを付属させる (右マウスボタン -> Attach to (へ親子付け)-> オブジェクト名をタイプする/ピッカーを使って選択する)
アクタを付属させることによって便利になるケースがいくつかありますが、そのような機能が存在していると分かって初めてご自分のアプリケーションについてもその恩恵を想像してみることができるようになります。なお、アタッチさせるオブジェクトは両方とも Mobility (可動性) が同じ設定になっている必要があります。
オリエンテーション
レベルの確認をしたり、編集、表示を行う際に役立つオリエンテーションのためのコツについて、その概要を以下に記します。基本
- フォーカス (F)
ワールド アウトライナーからオブジェクトを見つけたけれども、かなり遠くにあるため、そこにスクロールして行き着くまで数秒かかりそうな場合がありますよね。そのような場合は、F を押しましょう。目標のオブジェクトが選択済みだけれども遠くにあると分かった場合は、F を押すとよいですよ。F を押すと、ビューポート内では選択済みのオブジェクトにフォーカスされて、カメラが直ちに移動し、オブジェクトがクローズアップで表示されるようになります。
- アウトライン (G)
この機能は簡単に使えます。G を押すと、ビューポート内のツール (グリッド、ピボット、アウトライン、アイコンなど) がすべて非表示になります。ゲーム内でレベルがどのような感じで表示されるのか確かめるには絶好のツールです。
- カメラの設定 (Ctrl + 1~9)
素晴らしくも広大なレベルを作ったところ、やっかいなことに、端から端まで移動するのに時間がかなりかかったとします。そのような場合は、だれもが (あなた自身も) もっと楽に操作できるようにしてあげましょう。重要な場所に「チェックポイント」を設置するのです。たとえば、Ctrl + 1 をレベルの開始位置に、2~8 を重要地点に、9 を最終地点に対応づけることができます。こうすることによってかなり楽に動き回れるようになります。(この設定は、ビューポート内左上三角矢印 [ビューポート オプション] の [ブックマーク] から可能です。)
- フルスクリーン (F11)
Bonus tip: Shift + F11 を押すと、エディタがタスクバーにオーバーラップします。
応用
- トランスルーセント (半透明) の選択 (T)
- ビューモード
- ナビゲーションの表示 (P)
Unreal のナビゲーションを使っているプロジェクトでは、レベル内のオブジェクトのうちで、AI やプレイヤーのパス (通れるところ) をブロックする可能性があるものを確認できることは必須です。
- パースペクティブ/横/上面/正面のビュー (Alt + G/K/H/J)
- オブジェクトをビューに、ビューをオブジェクトにスナップする
カメラを思ったとおりの場所に配置しようとしているとき、私は個人的にこのアドバイスが最も有用だと思いました。選択したオブジェクトをカメラにスナップすると、位置だけではなく、回転もそれに応じて変化するようになります。それによって、このカメラはビューポートで私たちが見ている場所に正確に向くようになります。
その他
以下は、上記の 3 つのカテゴリーに当てはまらないショートカットキーを多数掲載しています。きわめて有用なものなのでここにまとめてみました。- アセットの編集 (ポートレートを左マウスボタンで 2 回クリックする)
- コンテンツ ブラウザでアセットを探す (Ctrl + B)
- レベル ブループリントで見つける
- プレイ - シミュレート (Alt + P/Alt + S)
- レベルを開く (Ctrl + O)
- 参照関係の表示 (Alt + Shift + R)
- タブによる切り替え操作 (Ctrl + Tab)
多数のウィンドウ (マテリアルやメッシュ、ブループリントなどのウィンドウ) が開いている場合、Ctrl キーを押しながらタブキーを押すことによって循環的にウィンドウを切り替えることができます。
最後に
ここで紹介したショートカットは、Unreal Engine でワークフローを最適化して整備するための方法の一部を構成しているにすぎません。ご自分でぜひこれらのショートカットキーを試してみてください。ショートカットは、必要に応じて Edit (編集)> Editor Preferences (エディタの環境設定) > Keyboard Shortcuts (キーボードのショートカット)から変更することができます。そのような変更をした場合は、将来のプロジェクトでも使えるようにするために、エクスポートすることを忘れないでください。また、ある操作をなぜ行っているのか/行わなければならないのかについてよく考えてみてください。ショートカットは、それを学ぶよい機会です。私が使っているショートカットは、そのほとんどが次の疑問がきっかけで使うようになったものです。「この操作は何回も行っているけど、もっと簡略化できないだろうか?」この記事から、ご自分のために有益なものが新たに見つかったのでしたら嬉しいです。気に入っていただけたり、他の人のためにもなると思われたのでしたら、ぜひこの記事をシェアしていただければと思います。
それでは ごきげんよう!