プロジェクトを設定する

First Person Shooter プロジェクトの設定方法を学びます。

22-FPS-settingup-section-result.png

このセクションを終了したときに、このような画面になります。

目標

このセクションでは、ファースト パーソン シューター プロジェクトを設定する方法を説明します。

目的

このチュートリアルのこのセクションを完了すると、次のことができるようになります。

  • 新規プロジェクトを設定する

  • エディタのスタートアップ マップを設定する

  • プロジェクトを Visual Studio で開く

  • 1.3 - ログ メッセージングを追加する

  • 最初の C++ クラスをコンパイルする

  • デフォルト ゲーム モードを設定する

ステップ

  • 1.1 - プロジェクトを設定する

  • 1.2 - プロジェクトを Visual Studio で開く

  • 1.3 - ログ メッセージングを追加する

  • 1.4 - - プロジェクトをコンパイルする

  • 1.5 - - デフォルトのゲームモードを設定する

  • 1.6 - セクション 1 のまとめ

1.1 - プロジェクトを設定する

このステップでは、Unreal Engine を使用して、ファースト パーソン シューター (FPS) ゲームの出発点を作成します。

  1. Unreal Engine を Epic ランチャーから開き、新規プロジェクトを作成します

  2. ゲーム プロジェクト カテゴリを選択します。

  3. ブランク テンプレートを選択します。

  4. C++ プロジェクト タイプを選択します (ブループリント ではなく).

  5. スターターコンテンツ を無効にします。

  6. プロジェクトに「FPSProject」と名前を付けます。

  7. コンテンツ ブラウザ から [Engine] > [Content] > [Maps] > [Templates] の順に選択して [Template_Default] レベルをダブルクリックして開きます。

    02-FPS-settingup-open-default-level.png

  8. レベル エディタのツールバー で、[Play (プレイ)] ボタンをクリックし、Play in Editor (PIE) モードにします。

    03-FPS-settingup-play-button.png

    WASD の各キーでレベルの中を動き回り、カメラの向きをマウスでコントロールします。

  9. Shift + Escape キーを押す、または レベル エディタ で **[Stop (停止)] をクリックして、PIE モードを終了します。

    04-FPS-settingup-stop-button.png

  10. レベルをいろいろ触ったと思うので、コンテンツ ブラウザ (通常は画面の下側) に移動して「Maps」フォルダを「Content」フォルダの下に作ります (「Content」フォルダを選択して、コンテンツ ブラウザ のファイル ウィンドウを右クリックして [New Folder] を選択)。

    05-FPS-settingup-maps-folder.png

  11. メイン メニュー パネルで [File] を開き、[Save Current Level as...] を選択します。

    06-FPS-settingup-save-level-as.png

  12. [Save Level As] ウィンドウで「Maps」フォルダを選択し、新しいマップに「FPSMap」と名前をつけて 保存 します。

    07-FPS-settingup-save-level-settings.png

  13. メイン メニュー パネルで [Edit] を開き、[Project Settings] を選択します。

    08-FPS-settingup-open-project-settings.png

  14. [Project Settings] タブの左側にある [Project (プロジェクト)] セクションで、[Maps & Modes] をクリックします。[Editor Startup Map (エディタのスタートアップマップ)] ドロップダウン メニューを展開して、[FPSMap] を選択します。

    09-FPS-settingup-editor-default-map.png

    この設定を行うと、エディタでは FPSMap がデフォルトマップとして自動的にロードされます。

  15. 最後に [Project Settings (プロジェクト設定)] メニューを閉じて、プロジェクトを保存してから次のステップに進みます。

1.2 - Visual Studio でプロジェクトを開く

前のステップで 基本コード プロジェクトを設定したとき、Unreal Engine により ゲーム モード が作成されています。ゲーム モードではゲームのルールと勝利の条件を定義します。ゲーム モードではゲームのルールと勝利の条件を定義します。このゲーム モードではさらに、一部の基本ゲームプレイ フレームワーク タイプ (Pawn、PlayerController、HUD など) で使用されるデフォルト クラスも設定します。このセクションでは、エディタを使用して、プロジェクトを Visual Studio のソリューションとして開き、プロジェクトのゲーム モード クラスを表示できるようにします。

  1. メイン メニューの [Tools] をクリックして、[Open Visual Studio (Visual Studio を開く)] を選択して、C++ コードを Visual Studio で開きます。

    10-FPS-settingup-tools-menu-open-VS.png

  2. Visual Studio でプロジェクトが起動されると、.cpp および .h ファイルが Visual Studio の [Solution Explorer (ソリューション エクスプローラー)] で確認できます。

    11-FPS-settingup-VS-solution-explorer.png

    Visual Studio のこのサンプル イメージが使用しているものと少し異なる場合でも、心配ありません。ダーク モードを使用しているからです。次のとおり設定できます。[Tools (ツール)] > [Options (オプション)] > [Environment (環境)] > [General (全般)] > [Color Theme (配色テーマ)]

  3. [Source (ソース)] を展開し、[FPSProject] を選択して、新しいゲームのメイン ファイルを表示します。

    12-FPS-settingup-VS-expand-source.png

  4. FPSProjectGameModeBase.cpp を開きます。次のようになります。

    FPSProjectGameModeBase.cpp

    // Copyright Epic Games, Inc. All Rights Reserved.
    
    #include "FPSProjectGameModeBase.h"
  5. FPSProjectGameModeBase.h を開きます。次のようになります。

    FPSProjectGameModeBase.h

    // Copyright Epic Games, Inc.All Rights Reserved.
    
    #pragma once
    
    #include "CoreMinimal.h"
    #include "GameFramework/GameModeBase.h"
    #include "FPSProjectGameModeBase.generated.h"
    
    /**
     * 
     */
    UCLASS()
    class FPSPROJECT_API AFPSProjectGameModeBase : public AGameModeBase
    {
        GENERATED_BODY()
    };
  6. C++ プロジェクトを Visual Studio で開いたので、コードをプロジェクトに追加する準備ができました。

1.3 - ログ メッセージングを追加する

プロジェクトへのコードの追加を開始するにあたって、まずログ メッセージを FPSGameMode に追加することをお勧めします。ログ メッセージは、開発中にコードを検証し、デバッグするのに非常に便利です。このステップでは、ログ メッセージを使用して、実際に FPSGameMode が使用され、Unreal Engine で提供される、デフォルト ゲーム モードではないことを確認します。

FPSProjectGameMode ヘッダ ファイル

  1. [Solution Explorer] で、[FPSProject] > [Source] > [FPSProject] の順に選択します。

  2. FPSProjectGameModeBase.h をダブルクリックして、FPSGameMode クラスのヘッダ ファイルを開きます。

    13-FPS-settingup-header-file.png

  3. クラス宣言は以下のようになります。

    FPSProjectGameModeBase.h

    UCLASS()
    class FPSPROJECT_API AFPSProjectGameModeBase : public AGameModeBase
    {
        GENERATED_BODY()
    
    };
  4. AFPSProjectGameMode コンストラクタ宣言で次の関数宣言を追加します。

    FPSProjectGameModeBase.h

    virtual void StartPlay() override;

    この関数宣言により StartPlay をオーバーライドでき、ゲームプレイを開始したとき、ログ メッセージを画面に出力できるようになります。

  5. FPSProjectGameMode.h は次のようになります。

    FPSProjectGameModeBase.h

    // Copyright Epic Games, Inc.All Rights Reserved.
    
    #pragma once
    
    #include "CoreMinimal.h"
    #include "GameFramework/GameModeBase.h"
    #include "FPSProjectGameModeBase.generated.h"
    
    /**
     * 
     */
    UCLASS()
    class FPSPROJECT_API AFPSProjectGameModeBase : public AGameModeBase
    {
        GENERATED_BODY()
    
        virtual void StartPlay() override;
    };
  6. Visual Studio に FPSProjectGameMode.h ヘッダ ファイルを保存します。

FPSProjectGameMode CPP ファイル

  1. [Solution Explorer] で、[FPSProject] > [Source] > [FPSProject] の順に選択します。

  2. FPSProjectGameModeBase.cpp をダブルクリックして、FPSGameModeBase クラスの実装ファイルを開きます。

    14-FPS-settingup-cpp-file.png

  3. ここで次のコード行をファイルに追加します。

    FPSProjectGameModeBase.cpp

    void AFPSProjectGameModeBase::StartPlay()
    {
        Super::StartPlay();
    
        check(GEngine != nullptr);
    
        // 5 秒間デバッグメッセージを表示します。
        // 引数-1の "Key "値によって、メッセージの更新やリフレッシュができなくなります。
        GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Yellow, TEXT("Hello World, this is FPSGameMode!"));
    }

    StartPlay() はゲームプレイを開始したとき、新規デバッグ メッセージ ("Hello World, this is FPSGameModeBase!") を画面に黄色の文字で 5 秒間出力します。

  4. FPSProjectGameModeBase.cpp は次のようになります。

    FPSProjectGameModeBase.cpp

    // Copyright Epic Games, Inc. All Rights Reserved.
    
    #include "FPSProjectGameMode.h"
    
    void AFPSProjectGameModeBase::StartPlay()
    {
        Super::StartPlay();
    
        check(GEngine != nullptr);
    
        // 5 秒間デバッグメッセージを表示します。
        // 引数-1の "Key "値によって、メッセージの更新やリフレッシュができなくなります。
        GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Yellow, TEXT("Hello World, this is FPSGameModeBase!"));
    }
  5. Visual Studio に FPSProjectGameModeBase.cpp 実行ファイルを保存します。

1.4 - プロジェクトをコンパイルする

ここでプロジェクトをコンパイルすると、変更されたコードをインゲームで見ることができます。

  1. エディタへ戻り、[Compile (コンパイル)]** ボタンをクリックし、コードをコンパイルします。

    プロジェクトを C++ プロジェクトとして開発しているので、C++ コードを Unreal Editor から直接コンパイルできます。 クリックしてフルサイズで表示

  2. レベル エディタのツールバー で、[Play (プレイ)] ボタンをクリックし、Play in Editor (PIE) モードにします。

    16-FPS-settingup-PIE-game-mode.png

    PIE モードに入ったとき、画面にログ メッセージが表示されない理由が気になると思います。ログ メッセージが表示されない理由は、開発のこの段階では、エディタがまだデフォルトのゲーム モードを使用しているからです。

  3. Shift + Escape キーを押す、または レベル エディタ で **[Stop (停止)] をクリックして、PIE モードを終了します。

C++ Game Mode クラスをブループリントに拡張する

このタイミングで C++ FPS Character クラスをブループリントに拡張するのがお勧めです。C++ クラスのブループリントへの拡張についての詳細は、「C++ とブループリント」 を参照してください。

  1. まず、「Content」フォルダ内に「Blueprints」フォルダを作成します。

    17-FPS-settingup-blueprints-folder.png

  2. FPSProjectGameModeBase クラス (「C++ Classes (C++ クラス)」 > 「FPSProject」 ) を右クリックして、[C++ Class Actions (C++ クラス アクション)] メニューを開きます。

  3. Create Blueprint class based on FPSProjectGameModeBase をクリックして [Add Blueprint Class] ダイアログ メニューを開きます。

    18-FPS-settingup-create-derived-BP-class.png

  4. 新しい Blueprint クラスに「BP_FPSProjectGameModeBase」と名前を付けて、「Blueprints」フォルダを選択してから、[Create Blueprint Class] ボタンをクリックします。

    19-FPS-settingup-add-BP-class.png

  5. ここまでで、新規作成した BP_FPSProjectGameModeBase Blueprint クラスが「Blueprints」フォルダの中にあるはずです。

    20-FPS-settingup-created-BP-class.png

  6. BP_FPSProjectGameModeBase ブループリントを保存してから ブループリント エディタ を閉じるようにします。

1.5 - デフォルトのゲームモードを設定する

新たに修正したゲームモードをブループリントに拡張したので、このステップでは、プロジェクトでデフォルトの Game Mode として BP_FPSProjectGameModeBase を使用するように設定する必要があります。

  1. メイン メニュー パネルで [Edit] を開き、[Project Settings] を選択します。

  2. [Project Settings] タブの左側にある [Project (プロジェクト)] セクションで、[Maps & Modes] をクリックします。[Default GameMode] ドロップダウン メニューを展開して、BP_FPSGameModeBase を選択します。

    21-FPS-settingup-setting-default-gamemode.png

  3. [Project Settings] メニューを閉じます。

  4. レベル エディタのツールバー で、[Play (プレイ)] ボタンをクリックします。ビューポートの左上に 5 秒間、「Hello World, this is FPSGameMode!」が表示され、その下に赤色のテキストで、「We are using FPSCharacter.」が表示されます。

    22-FPS-settingup-section-result.png

  5. Shift + Escape キーを押す、または レベル エディタ で **[Stop (停止)] をクリックして、PIE モードを終了します。

1.6 セクション 1 のまとめ

FPSProjectGameModeBase.h

// Copyright Epic Games, Inc. All Rights Reserved.

#pragma once

#include "CoreMinimal.h"
#include "GameFramework/GameModeBase.h"
#include "FPSProjectGameModeBase.generated.h"

/**
 * 
 */
UCLASS()
class FPSPROJECT_API AFPSProjectGameModeBase : public AGameModeBase
{
    GENERATED_BODY()

    virtual void StartPlay() override;
};

FPSProjectGameModeBase.cpp

// Copyright Epic Games, Inc. All Rights Reserved.

#include "FPSProjectGameMode.h"

void AFPSProjectGameMode::StartPlay()
{
    Super::StartPlay();

    checkGEngine != nullptr);

      // 5 秒間デバッグメッセージを表示します。
      // 引数-1の "Key "値によって、メッセージの更新やリフレッシュができなくなります。
      GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Yellow, TEXT("Hello World, this is FPSGameModeBase!"));
}

おつかれさまでした!以下の内容を学習しました。

✓ 新規プロジェクトを設定する
✓ プロジェクトを Visual Studio で開く
✓ ログ メッセージングを追加する
✓ 最初の C++ クラスをコンパイルする
✓ デフォルト ゲーム モードを設定する

次のセクションで独自のキャラクターを実装する方法を学習する準備ができました。

タグ
Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル