お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2024/08/09 12:00

企画記事

【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう



1 2 3 4 5 6 7 8 9 10 11 12 13

4 手順説明 今回のFPS制作の流れ P.2(4)へ
5 制作開始 プロジェクトの作成 P.2(5)へ
6 操作説明 テンプレートを動かそう P.2(6)へ



4.今回のFPS制作の流れ
手順説明 1/1


 インストール待ちの間,今回のFPS制作の流れを説明する。今回はFPSの基本的な要素である「銃で狙って撃つ」を主軸に,フィールドにある「的」をすべて破壊するとゲームクリア,というシンプルなゲームを制作する。
 制作するといっても,何をやればいいか分からないだろうし,まずは制作に必要な要素を分解していこう。

 銃を使ったゲームなので,まず銃が必要。次は銃で撃つ「的」,そしてその「的」を配置するマップも必要だ。「的」をすべて破壊したらクリアという処理も外せない。あとは,タイトル画面とクリア画面も作りたい。いやいや,そもそも操作するキャラクターも必要だろう。

・銃(オブジェクト)
・的(オブジェクト)
・マップ(レベル)
・的を破壊してクリア判定(処理)
・メッセージを表示(UI)
・キャラクター(オブジェクト)

制作に必要な要素のイメージ図
画像集 No.279のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう

 とりあえず本記事では,Unreal Engineに用意されているテンプレートを利用して,キャラクターや銃の基本処理が実装された状態から制作を始めていこうと思う。テンプレートを使いながらUnreal Engineの操作方法を練習し,簡単なマップを制作していくのだ。
 マップは,テンプレートにあるものを複製/編集しながら作成し,またオブジェクトに模様を付ける方法も説明する。

 続いて,シューターに欠かせないターゲットの作成を説明する。凝ったものではなくシンプルな3Dオブジェクトを使って,簡単に「的」を作っていく。「的」には,撃たれた際に音やエフェクトを出す処理を実装する。
 「的」が完成したらスコアの処理を実装する。あらかじめスコアを加算する仕組みを作っておき,「的」が撃たれたタイミングでその機能を呼び出す流れだ。

 スコアの処理が完成したら,クロスヘアやスコア表示用のUIを作成する。その後,ゲームクリア時の演出やタイトル画面の作成を行い,完成を目指す。

項番 内容 タイトル リンク
1 環境構築 Epic Gamesランチャーのインストール P.1(1)へ
2 環境構築 Epic Gamesアカウントの作成 P.1(2)へ
3 環境構築 Unreal Engineのインストール P.1(3)へ
4 手順説明 今回のFPS制作の流れ P.2(4)へ
5 制作開始 プロジェクトの作成 P.2(5)へ
6 操作説明 テンプレートを動かそう P.2(6)へ
7 操作説明 エディタ上を移動してみよう P.3(7)へ
8 レベルデザイン マップを作ってみよう P.3(8)へ
9 メイン処理 的を作ってみよう P.4(9)へ
10 メイン処理 スコアをカウントしよう P.5(10)へ
11 作りこみ UIを作ろう P.6(11)へ
12 作りこみ ゲームクリアを作ろう P.7(12)へ
13 作りこみ タイトル画面を作ろう P.7(13)へ




5.プロジェクトの作成
制作開始 1/1


 Unreal Engineには,FPSやTPSなど,それぞれの基礎的な機能を備えたテンプレートが用意されており,プロジェクト作成時に選択できる。

プロジェクト 素材や処理などをひとまとまりに管理する単位

 今回は,ファースト パーソン テンプレート(以下,FPテンプレート)を利用して制作を行う。これは,移動とジャンプが実装されたキャラクターを1人称視点で操作でき,銃に触れるとそれを装備して射撃可能になるという内容だ。
 文字で読むより触ってみたほうが早いと思うので,さっそくFPテンプレートのプロジェクトを作成しよう。

 キャラクターを動かすためには,キーボードのどの入力(WASDなどのキー)をどのようなトリガー(押した,離した,長押ししたなどの動作)として受け取り,どういったキャラクターの運動機能を動作させるかという処理が必要である。
 今回はFPテンプレートを使用し,キャラクターの移動やジャンプ,射撃などFPSにおける基本動作が実装された状態で制作を開始する。


5-1:<起動>を押す
画像集 No.031のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう


 初回起動時は,「パブリックネットワークとプライベートネットワークにこのアプリへのアクセスを許可しますか」というポップアップが3種と,「プロジェクトファイルが関連付けられていません」というメッセージが表示されることがある。

画像集 No.034のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう 画像集 No.035のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう

 ネットワークについてはオンライン対戦の開発などで許可が必要となる。後からWindows側で設定を変更できるので,とりあえず許可しても良い。
 また,プロジェクトファイルの関連付けについては,Unreal Engineのプロジェクトファイルをダブルクリックで開けるようにするか,という設定だ。プロジェクトファイルを開く際に便利なので,「今すぐ修正する」がおすすめだ。


5-2:起動すると,このような画面が表示される
画像集 No.032のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう

5-3:「ファーストパーソン」をクリックする
画像集 No.033のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう

5-4:ウィンドウ右側で,プロジェクトの設定ができる
画像集 No.036のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう

5-5:プロジェクトデフォルトについては,上から「ブループリント」「Desktop」「Maximum」「スターターコンテンツ(チェックあり)」「レイトレーシング(チェックなし)」としよう
画像集 No.037のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう


 各種設定項目について,簡単に説明しよう。

【ブループリントとC++】
 それぞれゲームの処理を実装する仕組みだ。ブループリントは,「ノード」と呼ばれるブロックを組み合わせていく方法で,C++はプログラミング言語なのでコードを書いて機能を実装する。

視点移動及び歩行処理。ブループリント(左)C++(右)
画像集 No.141のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう 画像集 No.140のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう

【ターゲットプラットフォーム】
 「Desktop」か「Mobile」を指定可能。今回はPC用ゲームを作成するので「Desktop」を指定しよう。
 なおここで「Mobile」を指定すると,「被写界深度」や「アンビエントオクルージョン」など,処理負荷が大きい機能をデフォルトでオフにするほか,グラフィックスの品質を低負荷なものへ変更する(品質プリセットの「Scalable」と重複している項目もある)ので,今回は「Desktop」のまま進めよう。

被写界深度 ピントが合っている範囲のこと
範囲を調整することで,注目させたい部分をくっきりさせ,それ以外をぼかせる
アンビエントオクルージョン Ambient(環境光)をOcclusion(遮蔽)する機能
現実的に「光が届きにくい場所」を暗くして,柔らかな陰影を表現できる

【品質プリセット】
 グラフィックス設定のプリセットを選択可能。PCやコンソール向けゲームなら「Maximum」,モバイル向けなら「Scalable」を選択する。

【スターターコンテンツ】
画像集 No.139のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう
 Unreal Engineが用意している3Dモデルやエフェクト,サウンドなどの基本的な素材集である。本記事ではこれらの素材を利用するので,必ずチェックを入れよう。

【レイトレーシング】
 読者の皆さんなら知っている,少なくともその名を聞いたことがある人がほとんどだろう。リアルな光の表現ができる機能で,使いこなせば現実と見まごう美しいグラフィックスの表現ができる。しかし比例して処理が重くなるので,本記事ではオフにしてほしい。


5-6:プロジェクト名を設定する。今回は初めてのFPS制作なので,「MyFirstFPS」にしよう。実は2回目という人は,「MySecondFPS」でも大丈夫だ
画像集 No.038のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう

5-7:各種設定とプロジェクト名の変更が完了したら,<作成>を押す
画像集 No.039のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう

5-8:プロジェクトの作成が始まる
画像集 No.040のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう

5-9:プロジェクトが作成された
画像集 No.041のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう


 下図のようにウィンドウが2つ開いた場合は,コンテンツブラウザの方は閉じて大丈夫だ。後ほど利用するので,その時に開き方などを説明する。

画像集 No.043のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう



6.テンプレートを動かそう
操作説明 1/2


 プロジェクトを作成したらマップといろいろなウィンドウが表示される。この画面上で「レベル」(マップ)のオブジェクトの大きさや物理処理を編集したり,移動したりできる。

レベル 「マップ」や「ステージ」のこと
レベルデザイン マップのギミックや配置などの調整のこと
ゲームの難度やキャラクターの強さを示す「レベル」とは異なる

 まずは,FPテンプレートを動かして,何が実装されているかを確認しよう。

6-1:赤枠で示した「再生マーク」(▶)を押すと,現在のレベルをゲームとしてプレイできる
画像集 No.042のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう

6-2:画面が切り替わり,1人称視点のキャラクターを操作できるようになる。まずは,ゲーム画面をクリックして,画面をアクティブにしよう。WASDキーで「移動」,Spaceバーで「ジャンプ」,マウスで「視点移動」ができる
画像集 No.349のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう

6-3:銃に触れると自動的に装備する
画像集 No.048のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう

6-4:銃は左クリックで発射可能。青いボックスに打ち込むと吹き飛ばすことができる
画像集 No.299のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう

6-5:動作確認に満足したらEscキーか,停止ボタンを押してシミュレーションを終了しよう。停止ボタンは,Windowsキーなどを押してマウスカーソルを表示すれば押せるようになる
画像集 No.052のサムネイル画像 / 【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,Unreal EngineのFPSミニゲームを完成させてみよう


  • 関連タイトル:

    Unreal Engine

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:08月08日〜08月09日