みなさん、こんにちは! Jakub Pander です。ポーランドの Gliwice にある Carbon Studio でゲーム / レベル デザイナーとして働いています。我々の最新作、The Wizards が最近アーリー アクセスを終えました。学生時代にアンリアル エンジンを知りましたが、本作の開発で効率的にアンリアル エンジンを使用して学んだことを共有したいと思います。
Serpent Golem の奇襲
私は Carbon Studio でデザイナーを務める傍ら、University of Silesia でビデオ ゲーム デザインを専攻しています。大学ではレベル デザインから簡単なナラティブを書くことまでゲーム開発に関する複数のコースを受講しました。多くの場合、レベルのプロトタイプやシンプルなゲームを作成するタスクがあり、どれでも好きなエンジンを使用してもよいと言われました。複数種類のエンジンを様々なプロジェクトで使用し、結果を得ましたが、最終的にアンリアル エンジンを使い続けました。これからその理由をお話します。ゲーム / レベル デザイナーとして、出来るだけ早くプレイ可能になるようにステージのシーンやメカニクスを簡単に作成する必要がありました。さらに、開発の後の方でこうしたステージを魅力的なものにする必要がありました。
アンリアル エンジンを使用する

自分がアンリアル エンジンについて学ぼうと決めたのにはいくつかの理由があります。まず、シーンにアセットをドロップするだけで、シーンやレベルを作成できるという単純さがあります。ライトを加えると立派なものになります。もちろん、この段階ではまだ磨きをかける必要があり、完成にはほど遠い状態ですけれど。2 つめの理由としては、ブループリントが気に入っているということがあります。本題に進む前にまず、VR エディタについてお話しします。The Wizards のレベルのプロトタイピングを信じられないくらい簡単にしてくれたんです。
VR エディタで作成したレベルのブロックアウト
VR の背景を適切に作る重要な要素としてオブジェクトのスケールがあります。ヘッドセットを装着せずに、一人称視点でなくなるとスケールを簡単に誤ってしまいます。フラット スクリーンではシーン全体が良く見えても、VR になると少しずれます。まず、主な対象を通常のエディタに配置してから、ヘッドセットを装着して VR でシーンを埋め始めました。VR 内ではスケール感はあるべき状態になっていて、プレイヤーが見るものを開発者は見ています。それだけでなく、VR エディタの制御のコツは非常に簡単に習得することができます。
ブループリント
ブループリントは単純な (または必要に応じて複雑な) メカニクスをレベルに追加する素晴らしい方法です。私にとってブループリントの初めての宿題は、自動ドア、レバー、動くプラットフォームを作ることでした。これらは大まかなプロトタイピングには十分なものです。しかし、プログラミングなどの知識が全くなかったのに、もう少し複雑な要素を加えたいと思いました。そこでサンプル コンテンツについて学び始めました。例えば、Shooter Game、Scifi Hallway、Blueprint などの無料プロジェクトを使って、部分ごとに分析して何故、どのように機能するかを確認して理解しました (理解するということが重要です)。こうした学び方で、連動するシステムやパズルを作ることができました。一部の情報が欠けていたり、ブループリントで自分のやりたいことを実現する方法がわからなかったときは、YouTube が学習の貴重な情報源になりました。沢山のチュートリアルがあり、毎回検索するたびに何か役立つものが見つかりました。そのうち、外部の情報源を必要とせずに自分で問題解決し、メカニクスを作れるようになりました。
マテリアルとパーティクル
レベル デザイナーとしてアンリアル エンジンで気に入っているものとして、マテリアルとパーティクルのエディタがあります。ブループリント エディタと同様に、満足する結果が得られるまで色々操作して試すことができるからです。作成したいエフェクトがあれば、まず コンテンツ サンプル や Sun Temple などを見ました。こうしたものには分析して色々学ぶことができる沢山の素晴らしいマテリアルがあります。さらに他にも豊富なパーティクルを見て学ぶことができるエピック ゲームズが制作した Effects Cave Showcase などのプロジェクトもあります。このように色々分析して学んだことで、The Wizards でお気に入りのエフェクトを作ることができました。一般的なアートとエフェクトについては、アンリアル エンジンのコミュニティから大いに刺激を受け、情報を得て助けになりました。例えば、realtimevfx.com などのサイトがあります。
プロファイリング
VR 作品では、スムーズで安定したフレームレートは不可欠です。UE4 には素晴らしいツール (基本的なものから少し高度なものまで) があり、ゲーム内の重要なフレームで何がいつどのようにボトルネックになっているかを見つけることができます。使用すべき基本的なコマンドとして、 -stat UNIT と -stat FPS があり、現在のフレームレート、ゲームとレンダリングのスレッド、および GPU の使用率を示します。目立つドロップは見つかりやすいですが、こうしたものを使用することで見落としがちな小さなものを見つけるのに役立つことがあります。
-VR 内で表示される stat unit コマンドと -stat fps コマンド
ドロップの原因を突き止めたい場合は、プロファイラーを使うと良いでしょう。何が処理能力を消費しているかを見つけ、それを修正して滑らかな 90 FPS 体験を実現します。

ツール
ここまでエディタについて説明してきました。次にエディタのツールについて話します。作業をスムーズに迅速に進めるうえでいかに多くのものが役立ったかを上げるときりがありません。まず、コンテンツ ブラウザの整理、フォルダの色とフィルタについて説明します。アセットに関して私はアンリアルのデフォルトのカラー スキームと同じ色を使っています。ブループリントは青、マテリアルは緑、メッシュは青緑の一種 (teal) です。
フォルダのカラー スキーム
次に、洞窟内のシーンを作る場合に例えば岩のアセットを簡単に利用するなら、動的コレクションが役立ちます。こうしたコレクションを作るには、 < (rock) AND (Path:'/Game'...)AND (Static mesh) > のようにします。 rock がアセット名のキーワードで、次にパス (別のパスからのアセットを除外したい場合)、そしてスタティックメッシュです。これにより、スタティックメッシュだけを検索対象にし、ブループリントやマテリアルなどは検索から除外されます。こうしたコレクションで、プロジェクトにあるすべての岩関連のメッシュを見つけることができます。このようなフィルタを使ってアセット パック、アセット、ブループリント、被破壊物のカスタム グループを見つけます。
最後になりますが、キー バインディングについて説明します。これは非常に頻繁に使用します。私は、基本的な Transformation モード (平行移動、回転、スケーリング) から「すべてを保存」や「選択しているものを非表示にする」ためのカスタム バインディングにいたるまで、ほぼすべてのアクションにショートカットを使用しています。これまでのお気に入りは、位置に A キーと D キーを使い、シフト キーで回転を調整してグリッド サイズを増減させるものです。

基本的に、複数回使用するものには、カスタム キーの組み合わせを割り当てます。ですからチームの誰かが私のコンピュータでエディタを使用すると、標準のショートカットで全く違う動作をするので戸惑います。
最後までお読み頂いてありがとうございます!この記事で何か新しいことを学んでいただけたなら幸いです。動作している The Wizards をご覧になりたい場合は、弊社の ウェブサイト や Discord をご覧ください。