FPSゲームの作り方1 Unityプロジェクトの作成と FPSゲームに必要な素材の導入

Unity FPSゲームの作り方


Unity入門の森オリジナル本格ゲーム制作講座はこちら
8種類の本格ゲームの全ソースコード公開・画像&動画による解説付き

本講座では、UnityとC#を用いて3DFPSゲームを作成していきます。

今回は弓を武器にしたFPSゲームを作成していきますが、よく見る銃を使用したFPSはむしろ弓より簡単ですので、銃に興味のある方は今回の講座を改造して銃にするのもいいかもしれません。

実機で動かしているところも先に見ておきましょう。


まずはPC用に作成をして、その後上記のようなスマホやVRプラットフォームに対応していく予定です。

ゲーム開発初心者でもわかりやすいように順を追って解説していくので、講座を読み進めながらご自分でもFPSゲームを作成してみてください。


【Line登録者限定のプレゼントもあるよ!】

Unityプロジェクトの作成

まずは、Unityプロジェクトを作成します。

Unityのインストール

もしまだUnityをインストールしていない方はインストールしておきましょう。簡単にだけ解説しておきます。今回は

  • Unity 2020.3.16f1

を使用して作成します。バージョンが変わると開発画面のUIや機能が変わるのでなるべくバージョンは合わせてください。基本的には変わらずに作成できますが、バージョンの差が大きくなるほど開発環境の違いも大きくなりますのでご注意ください。

また、Unity本体のみでもインストールは可能ですが、今後のためにも「Unity Hub」をインストールして、そこからUnityをインストールしましょう。

(以下のUnityHubの画像はUnity Hub3.1.1を使用しています。少し前のものと見た目が違いますのでご注意ください。前バージョンでもできること、クリックすべき文字やボタンは変わらないので違和感なく作成できます。)

UnityHubでは右上の「エディターをインストール」をクリックし、「ダウンロードアーカイブ」から各バージョンのUnityがインストールできます。

その際にモジュールを追加から「Windows Build Support」「Mac Build Support」「iOS Build Support」「Android Build Support」を追加しておきましょう。

 

プロジェクトの作成

ではプロジェクトを作成します。

新しいプロジェクトを作成し、「3D」を選択、「プロジェクト名」「パス」を任意に設定してください。

プロジェクトが開いたらまずはウインドウを使いやすいように移動しておきましょう。これに正解はないので使いやすいようにで構いません。

解説の都合上、途中で配置が変わるかもしれませんが、下記のように「Scene」、「Game」「Hierarchy」、「Inspector」、「Project」、「Console」が見えるようにしてあるといいかと思います(タブに名前が書かれています)。

また、今後の解説の際これらのウインドウをこの名前で呼びます。「Hierarchyウインドウで~」や、「Inspectorの○○を」などと書いていくので覚えておきましょう。

初期プロジェクトファイルのダウンロードについて

また、本講座を進める上でUnityバージョンやアセット環境の変化に対応できるように、講座1記事目の「アセットとフォルダ構成の整理を行う」までの内容を完了したプロジェクトファイルを用意しました。

必要に応じてご活用ください。

アセットの導入とフォルダ整理を行ったプロジェクトファイルのダウンロードはこちら>>

アセットの導入

次に今回使用するアセットを導入していきます。

上部メニューの「Window→Asset Store」でウインドウを開き、「Search Online」をクリックするとブラウザでUnityAssetStoreのページに移動します。

では、アセットをダウンロードしていきます。Unityアカウントが必要になるので、まだ持っていない方は作成しておきましょう。

(下記URLに飛べばUnityでウインドウを開く必要はありません)

試しに一つロードしてみます。他は同じようにダウンロードしていきましょう。

では下記URLを開きましょう。

弓矢(Elven Long Bow)

Elven Long Bow | 3D Weapons | Unity Asset Store
Elevate your workflow with the Elven Long Bow asset from Manuel Wieser. Find this & other Weapons options on the Unity Asset Store.

ブラウザで下記のようなページが開きます。

右側のボタンが、最初は「マイアセットに追加する」になっており、追加したら「Unityで開く」になりますので、開きましょう。

するとUnityで自動的にPackageManagerが開きます。先ほど追加したアセットを探して選択します。

そして右下にある「Download」ボタンを押し、次に「Import」ボタンを押しましょう。

次に下記のようなウインドウが出ますので再度「Import」ボタンを押してください。

すると、アセットがインポートされ、Projectウインドウに追加されていますので確認してください。

では、同じようにして下記アセットを全てインポートしましょう。

敵(Level 1 Monster Pack

Level 1 Monster Pack | 3D Creatures | Unity Asset Store
Elevate your workflow with the Level 1 Monster Pack asset from PI Entertainment Limited. Find this & other Creatures options on the Unity Asset Store.

敵2(Character Monsters X)

Character Monsters X | 3D Creatures | Unity Asset Store
Elevate your workflow with the Character Monsters X asset from Vadim Ziambetov. Find this & other Creatures options on the Unity Asset Store.

敵3(Dragon for Boss Monster : HP)

Dragon for Boss Monster : HP | 3D Creatures | Unity Asset Store
Elevate your workflow with the Dragon for Boss Monster : HP asset from Dungeon Mason. Find this & other Creatures options on the Unity Asset Store.

フィールド(Glowing Forest)

Glowing Forest | 3D Fantasy | Unity Asset Store
Elevate your workflow with the Glowing Forest asset from Silver Cats. Find this & other Fantasy options on the Unity Asset Store.

的(sFuture Targeting)

sFuture Targeting | 3D Props | Unity Asset Store
Elevate your workflow with the sFuture Targeting asset from Sami Lehtonen. Find this & other Props options on the Unity Asset Store.

 

全てインポートが終わると、Projectウインドウに下記のようにフォルダが増えているかと思います。

これでアセットの導入の完了です。アセットは今後また必要に応じてインポートする可能性もありますので、方法は覚えておきましょう。

 

アセットとフォルダ構成の整理を行う

ここでファイルや他フォルダが増えたので一旦整理用のフォルダを作成して使いやすいようにしておきましょう。

この辺りはご自身のやりやすい方法で構いません。

まずはProjectウインドウで一番上の「Assets」フォルダを右クリックして「Create→Folder」を選択して新しくフォルダを作成します。このフォルダを「AppMain」という名前にします。

そして、この「AppMain」フォルダ内に初めからある「Scenes」フォルダをドラック&ドロップして移動します。

次に「AppMain」フォルダ内に「Script」「Prefab」「Animator」フォルダを作成しましょう。

ここまで作成できるとProjectウインドウは下記のようになります。

今後、自分で作成するものはこの「AppMain」内の各フォルダに入れるようにしましょう。

アセットの導入とフォルダ整理を行ったプロジェクトファイルのダウンロードはこちら>>

FPSゲームのフィールドの配置

では最後にインポートしたアセットを使用して、フィールドだけ配置しておきましょう。

FPSフィールドとなる森アセットをプレハブ化

まず「Assets/SkythianCat/Glowing_Forest/DOMO/」フォルダにある「Demo_scene01」シーンを開いてください。すると下記のようなシーンが開きます。

次にHierarchyウインドウで右クリックをして「CreateEmpty」を選択し、空オブジェクトを作成してください。これを「Forest」という名前にします。

空オブジェクト : 何の効果、見た目も持たないゲームオブジェクト

次に、今作成した「Forest」を選択してInspectorウインドウをみてください。

上の方にある「Transform」というコンポーネントの「Position」に何らかの値が入っているはずです。これらを全て「0」にしておきましょう。

Transform : 位置(Position)、角度(rotation)、大きさ(Scale)を表すコンポーネント

 

次に、HIerarchyで「Forest」以外の全てを選択(Shiftクリックで複数選択できます)し、そのまま全てを「Forest」にドラック&ドロップして「Forest」の子にしましょう。

オブジェクト間に親子関係ができると、子のゲームオブジェクトは親の少し右(一段下)に配置されるようになり、親オブジェクトの左の三角マークを押すと折りたためるようになります。

親子関係 : ゲームオブジェクトに他のゲームオブジェクトをドラック&ドロップすると親子関係を持たせることができます。これにより親のTransformが子に同じように影響するようになります。またこの場合子のTransformの変更は親に影響しません。親と子の相対的なTransformの差を「LocalPosition」「LocalRotation」「LocalScale」と言います。

全てが、「Forest」の子になったら、その「Forest」をドラック&ドロップして、Projectウインドウの「Assets/AppMain/Prefab」に移動します。するとForesetがプレハブ化されます。

プレハブ化されるとHierarchyのオブジェクトが青くなります。

プレハブ : ゲームオブジェクトを複製するためにひとまとまりにしたもの

ここまでできたら、「Assets/AppMain/SampleScene」に戻りましょう。このデモシーンはセーブしてもしなくてもOKです。

ここで、「SampleScene」の名前も変更しておきましょう。「MainScene」など好きな名前でOKです。

森プレハブをFPSフィールドに配置

ではプレハブを配置しましょう。

「Assets/AppMain/Prefab」フォルダ内にある「Forest」をシーンのHierarchyにドラッグ&ドロップします。

すると下記のように先ほどプレハブ化した森が配置されます。もしここで配置した「Forest」のTransformの「Position」が全て「0」でない場合は「0」にしておきましょう。

配置した「Forest」が少し明るすぎますね。これはもともとあったライトが余計に明るくしてしまっているからなので、初めからあった「Directional Light」を削除してしまいましょう。(画像では無効化していますが消してしまってOKです)

 

次に「Forest」の右にある「三角マーク」を開いて、子を表示します。

ここに「GROUP_Cameras」というカメラがあるのでこれを無効にしてください。カメラは初めからある「Main Camera」を使用しますのでこのカメラは使用しません。

ここまでやると、下記の画像のようになります。「Game」ウインドウには何も写っていませんが今はそれで大丈夫です。今後調整していきます。

FPSフィールドの大きさ調整 Terrainのサイズ変更を行う

そして少し大きさを調整していきます。

まず、「Forest」を選択しInspectorをみてください。一番上の「Transform」コンポーネントの「Scale」を全て「2」にしましょう。

「Scene」ウインドウをみるとお気づきかもしれませんが、これだけでは川の水や小物だけ大きくなって肝心のフィールドが変わりませんね。

これはフィールドを作成している「Terrain」というコンポーネントが「Transform」の「Scale」の影響を受けないためです。このTerrainの大きさの調整方法を紹介していきます。

(「Terrain」に関してはここでは詳しく解説しません。)

まず、「Forest」の子にある「Terrain」というオブジェクトを選択しInspectorをみてください。

ここに「Terrain」というコンポーネントがありますので、一番上のボタンの一番右にある「歯車マーク」を選択してください。

すると、下に項目がたくさん出るので、この内「Terrain Width」「Terrain Length」「Terrain Height」が大きさを表しています。

ここが上から「200」「200」「300」になっているかと思うので、先のScaleと同じように2倍にしましょう、「400」「400」「600」に変更します。

これで、川の水や小物とフィールドの大きさがそろったかと思います。

これでフィールドの配置の完了です。

今回はここまで終了になります。

次回は、本格的にゲーム作成を開始していきます。

次回の記事:

FPSゲームの作り方2 プレイヤーキャラクターの作成と一人称視点カメラの準備
本講座では、UnityとC#を用いて3DFPSゲームを作成していきます。 前回はUnityプロジェクトを作成し、アセットの追加、フィールドの配置を行いました。 前回の記事 :  今回は自身の分身となるプレイヤーを作成してい...


Unity入門の森オリジナル本格ゲーム制作講座はこちら
8種類の本格ゲームの全ソースコード公開・画像&動画による解説付き

コメント

タイトルとURLをコピーしました