UnrealEngine5でゲーム開発を始めよう
ゲーム開発を進めていく記事を書きます。
ゲーム開発をするためにはゲームエンジンが必要ですが、今回はUnreal Engine 5.4を使っていこうと思います。
昔ゲームエンジンを触っていた時期もありますが、だいぶ時間がたったので勉強がてら過程を記事にしていこうと思います。
前提としてどんなゲーム作るの?
3Dのホラーゲームを作ってみたいと思っています。
実はシナリオは簡単には考えてあるので、それに向けて作っていきます。
日本の田舎が舞台のちょっと不気味なホラーゲームを考えています。詳細はいずれ記事にしていきたいと思います。
Unreal Engine 5.4について
Unreal Engine(UE)は過去様々なバージョンが出ています。
4系から5系へのシフトは結構大きいニュースでしたが、基本的に新機能が増えてUIが変化したりするだけでそこまで大きな差はないという記事も見られます。
あと時代に合わせて、要求スペックの表記はちょっと違ったりします。
UE 5.4は、2024/04/23にリリースされたもので、現在記事を書いている時点で最新のバージョンです。
開発環境
UE5では、こちらが推奨環境となっています。
プロセッサ | プロセッサ : クワッドコア Intel または AMD (2.5 GHz またはそれ以上) |
メモリ | 8GB RAM 以上 |
グラフィックボード | 最新ドライバを使用する DirectX 11 または 12 対応のグラフィック カード Lumen のグローバル イルミネーションおよび反射を利用するならば 次のグラフィック カードのいずれか – NVIDIA RTX-2000 以降のシリーズ – AMD RX-6000 以降のシリーズ – Intel® Arc™ A シリーズ以降のグラフィック カード |
推奨環境は参考に書いてあるだけなので、良ければ良いほど良いです。
今回自部は、2年前にそこそこのスペックで仕立てたデスクトップ環境を作っていたので、このPC上で開発します。OSはWindows 11 64bit。
プロセッサ | Intel Corei7 プロセッサー 12700K |
メモリ | 32 GB |
グラボ | NVIDIA GeForce RTX 3060 Ti |
Unreal Engineのチュートリアル
このあたりは色んな記事が外にあるので参照してみてもよいが、英語がわかるなら普通に本家のチュートリアルを見るのが早いと思います。
書籍なども売っていますが、無理に書籍に頼らなくても情報がネットにありますし、仕様の移り変わりも早いので、基本ネット情報だけで十分かと想像します。
こちらUE5.2ベースのチュートリアルですが、これに従えば最初のとっかかりがつかめるところまで親切に動画で説明してくれます。大体半日もかからずできると思います。
このチュートリアルを終わった段階で、下記のことがわかります。
- EpicGamesアプリやProject画面の説明
- インストール方法
- 画面の基本的な説明
- ゲームステージ(=レベルと呼ばれる)の基礎的な作り方
- キャラクターのスタートポイントの場所の設定
- プロジェクト間でのアセットの移動の仕方
- オープンなアセットのインポートの仕方
- 照明の変え方
- BP(ブループリント)で作られたアセットの編集方法;
- BP(ブループリント)を用いたごく簡単なキー設定(Qボタンでゲーム終了など)
- パッケージ化(ゲームのプログラムとして出力)の方法
こういう感じで、既存のサンプルをいじって自分のステージを創ってゲームとしてパッケージ化して遊べるくらいになりました。
チュートリアルを終えた後、どうする?
基本的には別のチュートリアルやドキュメントを参考にする・・・が、何をしていいか迷子になりがち
本家のチュートリアルを終えたら、あとは適当にラーニングライブラリーとか、ネット記事とか、ドキュメントを読んで勝手に学んでいく・・・というのが基本かと思います。
とはいえ、言うは易しですが、ここで迷子になりがちかと思います。
そこで、ちょっと最低限ゲームとしての体裁を整えるところまでどうやって行けばよいかを考えてみます。
最低限の3Dゲームとしての体裁を考えてみる
ゲームとして体裁を整えるためには、まずゲームプレイをする流れを考えてみましょう。
すごく簡単ですが、下記のような流れを仮定してみます。
- ゲーム開始するとタイトルメニューが開き、「はじめる」ボタンを選択すると本編が始まる
- 本編のゲームでは、何かしらのストーリー背景が語られたあと、プレイヤーをあるステージ上で3Dで動かすことができるようになる。
- アイテムをゲットしたり、特定の場所にいくなどして、「ゴール」までたどり着き、ゲーム達成。
- ゲーム達成後のエンドロールが走り、ゲームタイトルに戻る
最低限の体裁の3Dゲームを実現する上で学ぶこと
上記を実現するためには、あと何を勉強したらよいでしょうか?
まず、ゲームタイトルを表示しなくてはなりません。最初のチュートリアルでは2D画面の表示方法、2D画面上でのボタンの選択の仕方なんていうものは教えてもらっていないので、これを学ぶ必要があります。
タイトルのゲーム画面で「はじめる」を押した後、「3Dゲーム」を始めるならば、レベル(ゲームステージ)間の遷移をできるようにする必要があります。
また、何かしらゲームの中にあるアイテムをゲットするインタラクションと、ある条件を満たしたこと(特定の場所に到着したなど)を判断する条件分岐も必要です。
最後のエンドロールは、文字を流す以外タイトル画面を創る技術とほぼ同じかと思います。
あとチュートリアルでは、衝突判定の設定方法まで学んでいません。新規に用意した地面アセットの上からキャラクターを落とさないように衝突判定の設定をできるようにする必要があります。
まとめると、直近下記を学ぶ必要があると考えます。
- タイトル画面の作成方法
- 2D画面の表示方法
- 2D画面上でのボタン選択方法
- レベル(ゲームステージ)間の遷移方法
- ゲームとしての要素
- アイテムをゲットするインタラクション
- 条件分岐(「ゴール」到達の判定)
- ゼロからのオリジナルのレベル作成
- 新アセットに対する衝突判定設定など
もちろんこだわればキャラクターを変えたいとか色々とありますが、まずはゲームとしての体裁をEnd-to-Endでまとめるにはこの辺が学ぶポイントかなと思います。
何回かに分けて、上の内容について1つ1つ記事を書いて紹介していこうと思います。