Language:
Page Info
Skill Level:
Engine Version:

2.4 - マウスによるカメラ制御の実装

このステップでは、マウス操作で周囲を見回したり、操縦する方法を追加します。

軸マッピングの回転

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

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

  3. [Bindings][Axis Mappings] の隣にあるプラス記号をクリックします。

  4. [Axis Mappings] の左側にある矢印をクリックします。

  5. 表示されるテキスト欄に "Turn" と入力し、テキスト ボックスの左側の矢印をクリックして軸のバインディング オプションを展開します。

  6. ドロップダウン メニューで [Mouse] ドロップダウン リストから [Mouse X] を選択します。

  7. 入力設定は以下のようになります。

    TurnAxisMapping_MouseX.png

軸マッピングのルックアップ

  1. [Bindings][Axis Mappings] の隣にあるプラス記号をクリックします。

  2. 表示されるテキスト欄に "LookUp" と入力し、テキスト ボックスの左側の矢印をクリックして軸のバインディング オプションを展開します。

  3. ドロップダウン メニューで [Mouse] ドロップダウン リストから [Mouse Y] を選択します。

  4. [Mouse Y] の隣の Scale 欄に、 "-1.0" と入力します。

  5. 入力設定は以下のようになります。

    TurnAxisMapping_MouseY.png

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

入力処理の実装

回転とルックアップのためにマウス入力を処理するコードを追加します。Character 基本クラスは、以下の 2 つの必須関数を定義します。

  • AddControllerYawInput

  • AddControllerPitchInput

感度や軸反転のサポートなど追加の処理が必要な場合、関数へ渡す前に値を調整する独自の関数を使用できますが、その場合、入力を AddControllerYawInput 関数と AddControllerPitchInput 関数に直接バインドさせます。

  1. 以下の行を「FPSCharacter.cpp」ファイルの SetupPlayerInputComponent へ追加します。

    // Set up "look" bindings. (look のバインディングをセットアップ) 
    PlayerInputComponent->BindAxis("Turn", this, &AFPSCharacter::AddControllerYawInput);
    PlayerInputComponent->BindAxis("LookUp", this, &AFPSCharacter::AddControllerPitchInput);
  2. SetupPlayerInputComponent 関数は以下のようになります。

    // Called to bind functionality to input (機能と入力をバインドするために呼ばれます)
    void AFPSCharacter::SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent)
    {
        Super::SetupPlayerInputComponent(PlayerInputComponent);
    // Set up "movement" bindings. (移動のバインディングをセットアップ) 
    
        PlayerInputComponent->BindAxis("MoveForward", this, &AFPSCharacter::MoveForward);
        PlayerInputComponent->BindAxis("MoveRight", this, &AFPSCharacter::MoveRight);
    
        // Set up "look" bindings. (look のバインディングをセットアップ) 
        PlayerInputComponent->BindAxis("Turn", this, &AFPSCharacter::AddControllerYawInput);
        PlayerInputComponent->BindAxis("LookUp", this, &AFPSCharacter::AddControllerPitchInput);
    }

マウス操作によるカメラ制御

  1. Visual Studio に FPSCharacter 実装ファイルを保存します。

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

  3. [FPSProject] 上で右クリックして [Build] を選択してプロジェクトをコンパイルします。

    BuildProject.png

  4. ビルドが終了したらアンリアル エディタで FPSProject を開きます。

  5. レベル エディタのツールバー で、[Play (プレイ)] ボタンをクリックします。これでマウス操作によるカメラの制御が可能になりました。

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