【UnrealEngine】プレイヤーの詳細タブにIAを追加する【C++】
キャラクターブループリントの詳細タブにインプットアクションを設定する項目が存在します。
まずはそこに追加でインプットアクションを設定できるようにキャラクターのヘッダーファイルにコードを記述していきます。classから始まっている下記のブロックがあります。
ヘッダーファイル
項目を追加する
class AYouTubeCharacter : public ACharacter
{
GENERATED_BODY()
/** Camera boom positioning the camera behind the character */
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Components", meta = (AllowPrivateAccess = "true"))
USpringArmComponent* CameraBoom;
/** Follow camera */
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Components", meta = (AllowPrivateAccess = "true"))
UCameraComponent* FollowCamera;
UPROPERTY(EditAnywhere, Category="Input")
UInputAction* LeftClick;
このコードをブロック内に追加してます!
C++ Example
UPROPERTY(EditAnywhere, Category="Input")
UInputAction* LeftClick;
セーブしてUnrealEngineに戻りコンパイルすると詳細タブにインプットアクションを設定する項目が追加されたかと思います。

ただ、現段階だと項目が追加されただけになり処理を記述していないので、インプットアクションをUnrealEngine側で設定しても何も起きません。そのためソースファイルにコードを記述していきます。
今回は左クリックをすると画面に「LeftClick」と表示されるようにしたいと思います。

ヘッダーファイルに「void LeftClickDebug();」を記述して関数を宣言しておきましょう!

そうしたらソースファイルに移動して関数の処理を記述していきます。
139列~150列に今回はコードを記述してみました。

このコードをブロック内に追加してます!
C++ Example
void AYouTubeCharacter::LeftClickDebug()
{
if (GEngine)
{
GEngine->AddOnScreenDebugMessage(
-1,
3,
FColor::Red,
TEXT("LeftClick")
);
}
}
LeftClickDebugの処理が記述できたら最後にインプット処理を書いていきます。
EnhancedInputComponentが溜まっている部分があるのでそこの一番したに書きました。

このコードをブロック内に追加してます!
C++ Example
//LeftClick
EnhancedInputComponent->BindAction(LeftClick, ETriggerEvent::Started, this, &AYouTubeCharacter::LeftClickDebug);
あとはC++関係なくUnrealEngine側で設定をしていきましょう!
・インプットアクションを作成して設定する。
・マッピングコンテキストにインプットアクションとキーを設定
上記2つが完了したらコンパイルしてゲームをプレイしてみましょう!


左上にデバッグ表示されたらOKです!
お疲れさまでした!!!
YouTubeでも活動してますので遊びに来てくれたらうれしいです!
◆YouTube
ゆうtuber・ゆうくん – YouTube
