Language:
Page Info
Skill Level:
Engine Version:

2.1- キャラクターを新規作成する

このステップでは、アンリアル エンジンの Character 基本クラスを使用して新規キャラクターを作成します。Character クラス (Pawn クラスから派生) は、歩く、走る、ジャンプするなどの二足方向の動きのためのビルトイン機能です。

Character クラスを追加する

手動で *.h ファイルおよび *.cpp ファイルを Visual Studio ソリューションに追加できますが、グッドプラクティスは C++ Class Wizard を使用して新規クラスをプロジェクトに追加する方法を使用することです。C++ Class Wizard を使用することで、アンリアル エンジンではアンリアル固有のマクロをセットアップするヘッダーとソース テンプレートを作成します。

  1. ファイル メニューで [New C++ Class... (新規 C++ クラス)] を選択して、新しい Parent (親) クラスを選択します。

    SelectNewCPPClass.png

  2. [Choose Parent Class (親クラスを選択)] メニューが開きます。下方にスクロールして、親クラスとして [Character] を選択して、[Next] をクリックします。

    ChooseCharacterClass.png

  3. 新しいクラスに 「FPSCharacter」 と名前を付けて、 [Create] をクリックします。

    MakeFPSCharacterClass.png

    FPSCharacter クラスを作成したので、Visual Studio へ切り替えて、新規作成したクラスにコードを追加することができます。FPSCharacter.hFPSCharacter.cpp が開き、アンリアル エンジンが新規クラスのために自動的にコードをコンパイルし、再読み込みします。

Character クラスを検証する

  1. Solution Explorer で、FPSProject > Source > FPSProject の順に展開します。

    ExpandedSolutionExplorer.png

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

  3. 以下のコードの行を BeginPlay() 関数に追加して、 FPSCharacter クラスが使用されていることを検証します。

    if (GEngine)
    {
        // Put up a debug message for five seconds. (デバッグ メッセージを 5 秒間表示) The -1 "Key" value (first argument) indicates that we will never need to update or refresh this message. ( -1 のキー値 (最初の引数) は、このメッセージを更新、リフレッシュする必要がないことを示しています) 
        GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Red, TEXT("We are using FPSCharacter."));
    }
  4. FPSCharacter.cpp は以下のようになります。

    // Fill out your copyright notice in the Description page of Project Settings. (Project Settings の Description ページに著作権情報を入力してください) 
    
    #include "FPSProject.h"
    #include "FPSCharacter.h"
    
            // Sets default values (デフォルト値を設定) 
    AFPSCharacter::AFPSCharacter()
    {
        // Set this character to call Tick() every frame. (このキャラクターがフレーム毎に Tick() を呼び出すように設定します) You can turn this off to improve performance if you don't need it. (必要がなければパフォーマンスを向上させるためにオフにすることができます) 
        PrimaryActorTick.bCanEverTick = true;
    
    }
    
    // Called when the game starts or when spawned (ゲーム開始時またはスポーン時に呼び出される)
    
    void AFPSCharacter::BeginPlay()
    {
        Super::BeginPlay();
    
        if (GEngine)
        {
            // Put up a debug message for five seconds. (デバッグ メッセージを 5 秒間表示) The -1 "Key" value (first argument) indicates that we will never need to update or refresh this message. ( -1 のキー値 (最初の引数) は、このメッセージを更新、リフレッシュする必要がないことを示しています) 
            GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Red, TEXT("We are using FPSCharacter."));
        }
    }
    // Called every frame (フレームごとに呼び出される)
    void AFPSCharacter::Tick( float DeltaTime )
    {
        Super::Tick( DeltaTime );
    
    }
    
    // Called to bind functionality to input (機能と入力をバインドするために呼ばれます)
    
    void AFPSCharacter::SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent)
    {
        Super::SetupPlayerInputComponent(PlayerInputComponent);
    
    }
  5. Visual Studio に FPSCharacter CPP ファイルを保存します。

  6. [Solution Explorer (ソリューション エクスプローラ)][FPSProject] を探します。

  7. 今まで、エディタの [Build] ボタンを使ってプロジェクトをコンパイルしていました。このステップでは、Visual Studio のビルド機能を使ってコードをコンパイルします。Visual Studio 内からコードをコンパイルするには、[FPSProject] 上で 右クリックして、[Build (ビルド)] を選択してプロジェクトをコンパイルします。

    BuildProject.png

  8. ビルド終了後にアンリアル エディタを開いて、新しくコンパイルした FPSCharacter クラスが コンテンツ ブラウザ で見えることを確認します。

    FPSCharacterContentBrowser.png

CPP FPS Character クラスをブループリントに拡張する

CPP FPS Character クラスをブループリントに拡張します。C++ クラスのブループリントへの拡張についての詳細は、C++ とブループリント の リファレンス ページをご覧ください。

  1. FPSCharacter クラスを右クリックして、[C++ Class Actions] メニューを開きます。

    CPPClassActionsMenu.png

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

    CreateDerivedBPClass.png

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

    AddBPClass.png

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

    AddedBPClass.png

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

デフォルトの Pawn クラスを設定する

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

  1. [Edit (編集)] メニューで、 [Project Settings (プロジェクト設定)] をクリックします。

  2. [Project Settings] タブの左側にある [Project] の見出しで、[Maps & Modes] をクリックします。

  3. [Default Pawn] のドロップダウン メニューで [BP_FPSCharacter] を選択します。

    SettingFPSCharacter.png

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

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

    VerifyingFPSCharacterResult.png

    移動できない場合は、ポーンとして FPSCharacter を正しく使用していることになります!新しいキャラクターにはまだ移動の制御がありません。そのため、レベル内を移動できません。

  6. 次のステップに進む前に、[PIE (Play In Editor)] モードを終了するには、レベル エディタで Escape キーを押すか、[Stop] ボタンをクリックします。