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

FPS キャラクターのマウスによるカメラ制御の実装方法を学びます。

Windows
MacOS
Linux

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

軸マッピングの回転

  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] ボタンをクリックします。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback