企画記事
【完全ガイド】制作経験ゼロの社会人向けゲーム制作入門。夏休みを使って,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)
・キャラクター(オブジェクト)
とりあえず本記事では,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テンプレートのプロジェクトを作成しよう。
今回はFPテンプレートを使用し,キャラクターの移動やジャンプ,射撃などFPSにおける基本動作が実装された状態で制作を開始する。
ネットワークについてはオンライン対戦の開発などで許可が必要となる。後からWindows側で設定を変更できるので,とりあえず許可しても良い。
また,プロジェクトファイルの関連付けについては,Unreal Engineのプロジェクトファイルをダブルクリックで開けるようにするか,という設定だ。プロジェクトファイルを開く際に便利なので,「今すぐ修正する」がおすすめだ。
【ブループリントとC++】
それぞれゲームの処理を実装する仕組みだ。ブループリントは,「ノード」と呼ばれるブロックを組み合わせていく方法で,C++はプログラミング言語なのでコードを書いて機能を実装する。
【ターゲットプラットフォーム】
「Desktop」か「Mobile」を指定可能。今回はPC用ゲームを作成するので「Desktop」を指定しよう。
なおここで「Mobile」を指定すると,「被写界深度」や「アンビエントオクルージョン」など,処理負荷が大きい機能をデフォルトでオフにするほか,グラフィックスの品質を低負荷なものへ変更する(品質プリセットの「Scalable」と重複している項目もある)ので,今回は「Desktop」のまま進めよう。
被写界深度 | ピントが合っている範囲のこと 範囲を調整することで,注目させたい部分をくっきりさせ,それ以外をぼかせる |
アンビエントオクルージョン | Ambient(環境光)をOcclusion(遮蔽)する機能 現実的に「光が届きにくい場所」を暗くして,柔らかな陰影を表現できる |
【品質プリセット】
グラフィックス設定のプリセットを選択可能。PCやコンソール向けゲームなら「Maximum」,モバイル向けなら「Scalable」を選択する。
【スターターコンテンツ】
【レイトレーシング】
読者の皆さんなら知っている,少なくともその名を聞いたことがある人がほとんどだろう。リアルな光の表現ができる機能で,使いこなせば現実と見まごう美しいグラフィックスの表現ができる。しかし比例して処理が重くなるので,本記事ではオフにしてほしい。
6.テンプレートを動かそう
操作説明 1/2
プロジェクトを作成したらマップといろいろなウィンドウが表示される。この画面上で「レベル」(マップ)のオブジェクトの大きさや物理処理を編集したり,移動したりできる。
レベル | 「マップ」や「ステージ」のこと |
レベルデザイン | マップのギミックや配置などの調整のこと ゲームの難度やキャラクターの強さを示す「レベル」とは異なる |
まずは,FPテンプレートを動かして,何が実装されているかを確認しよう。
- 関連タイトル:
Unreal Engine
- この記事のURL: