Sdílet prostřednictvím


Kontrolery HP Reverb G2 v unrealu

Začínáme

Důležité

Unreal Engine 4.26 a buď OpenXR nebo SteamVR je vyžadován pro přístup k modulu plug-in HP Motion Controller, který budete potřebovat pro práci s ovladači HP Reverb G2.

Povolení modulu plug-in HP Motion Controller

Mapování profilu interakce a kontroleru jsou v modulu plug-in HP Motion Controller, který musí být povolený, aby bylo možné vystavit mapování kontroleru vstupnímu systému Unreal.

Povolení modulu plug-in OpenXRHPController

Přenos existující aplikace OpenXR

Pokud ve hře pro hp Mixed Reality Controller neexistují žádné vazby ovladače, modul runtime OpenXR se pokusí přemapovat existující vazby na aktivní řadič. V tomto případě hra má Oculus Touch vazby a žádné vazby HP Mixed Reality Controller.

Přemapování existujících vazeb, když neexistují vazby kontroleru

Události se budou stále aktivovat, ale pokud hra potřebuje použít vazby specifické pro ovladač, jako je pravé tlačítko nabídky, musí být použit profil interakce HP Mixed Reality. Pro každou akci je možné zadat více vazeb kontroleru, aby se lépe podporovala různá zařízení.

Použití více vazeb kontroleru

Přidání mapování vstupních akcí

Definujte novou akci a namapujte ji na jedno ze stisků kláves v části ovladač HP Mixed Reality Controller.

Definování nových akcí a mapování

Ovladač HP Reverb G2 má také analogový úchyt, který lze použít v mapování os pomocí vazby "Zmáčknout osu". K dispozici je samostatná vazba Squeeze, která by se měla použít pro mapování akcí při úplném stisknutí tlačítka úchytu.

Použití vazeb osy zmáčknutí

Přidání vstupních událostí

Klikněte pravým tlačítkem na podrobný plán a vyhledejte nové názvy akcí ze vstupního systému, abyste pro tyto akce přidali události. Zde podrobný plán reaguje na události pomocí tiskového řetězce výstupu aktuálního tlačítka a stavu osy.

Podrobný plán reagující na události a výstup aktuálního tlačítka a stavu osy

Použití vstupu

Stejné mapování akcí a os v nastavení vstupního projektu hry lze použít z jazyka C++.

  1. Vytvořit novou třídu C++ se souborovou nebo novou třídou jazyka C++...

Vytvoření nové třídy C++

  1. Vytvoření pěšce

Vytvoření zastavce

  1. V řešení projektu v sadě Visual Studio najděte novou třídu Pawn a nakonfigurujte ji pro vstup.
  • Nejprve v konstruktoru nastavte AutoPossessPlayer na první přehrávač, který směruje vstup do zastavce.
AMyPawn::AMyPawn()
{
    PrimaryActorTick.bCanEverTick = true;

    AutoPossessPlayer = EAutoReceiveInput::Player0;
}
  • Potom v SetupPlayerInputComponent vytvořte vazbu akcí a událostí osy na názvy akcí z nastavení vstupu projektu.
void AMyPawn::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
{
    Super::SetupPlayerInputComponent(PlayerInputComponent);

    PlayerInputComponent->BindAction("X_Button", IE_Pressed, this, &AMyPawn::XPressed);
    PlayerInputComponent->BindAction("L_GripAxis", this, &AMyPawn::LeftGripAxis);
}
  • Přidejte funkce zpětného volání do třídy :
void AMyPawn::XPressed()
{
    UE_LOG(LogTemp, Log, TEXT("X Pressed"));
}

void AMyPawn::LeftGripAxis(float AxisValue)
{
    if(AxisValue != 0.0f) 
    {
        UE_LOG(LogTemp, Log, TEXT("Left Grip Axis Valule: %f"), AxisValue);
    }
}
  • Aktualizujte hlavičku pawn s použitím definic funkce zpětného volání:
private:
    void XPressed();
    void LeftGripAxis(float AxisValue);
  1. Kompilujte ze sady Visual Studio a spusťte editor s novým pěšcem. Přetáhněte pěšec z prohlížeče obsahu do hry a pěšec teď při stisknutí vstupu spustí zpětná volání.

Viz také