Help us understand the problem. What is going on with this article?

UE4でゲームパッドに接続されているか認識する方法

More than 3 years have passed since last update.

はじめに

初めまして。Neetpiaです。
現在、幻想郷ディフェンダーズというアクションタワーディフェンスをWindows/PlayStation4向けに開発しています。

幻想郷ディフェンダーズ

このゲームですが、マウスとゲームパッド両方の操作に対応しています。
それだけならいいのですが、ゲームパッドが接続している場合、画面の表記が変化します。

例えば、早送りの表記です。
image.png

そのため、ゲームパッドを識別する必要があります。
ただ、検索しても資料がなかったので、ここで説明します。

認識方法

たったこれだけです。
SlateCoreモジュールを依存に追加する必要があります。

bool IsGamePadConnected()
{
    auto genericApplication = FSlateApplication::Get().GetPlatformApplication();
    if (genericApplication.Get() != nullptr &&
        genericApplication->IsGamepadAttached())
    {
        return true;
    }

    return false;
}

BluePrintには公開されていないようなので、C++で記述してBluePrintでも使用できるようにすると楽です。

UFUNCTION(BlueprintCallable)
static bool IsGamePadConnected();

UE4.14で使用できることを確認しました。


今後、少しずつ、幻想郷ディフェンダーズの開発で得たノウハウを公開していこうと思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away