Megosztás a következőn keresztül:


HP Reverb G2-vezérlők az Unrealben

Első lépések

Fontos

Az Unreal Engine 4.26 és az OpenXR vagy a SteamVR szükséges a HP Motion Controller beépülő modul eléréséhez, amelyet a HP Reverb G2 vezérlőkkel kell használnia.

A HP Mozgásvezérlő beépülő modul engedélyezése

Az interakciós profil és a vezérlőleképezések a HP Motion Controller beépülő modulban találhatók, amelyet engedélyezni kell ahhoz, hogy a vezérlőleképezéseket elérhetővé tegye az Unreal bemeneti rendszerének.

Az OpenXRHPController beépülő modul engedélyezése

Meglévő OpenXR-alkalmazás portolása

Ha a HP Mixed Reality-vezérlőhöz nincs vezérlőkötés a játékban, az OpenXR-futtatókörnyezet megpróbálja újraképezni a meglévő kötéseket az aktív vezérlőhöz. Ebben az esetben a játék Oculus Touch kötéseket, és nem HP Mixed Reality Controller kötések.

Meglévő kötések újrakészítése, ha nincs vezérlőkötés

Az események továbbra is aktiválódnak, de ha a játéknak vezérlőspecifikus kötéseket kell használnia, például a jobb oldali menügombot, akkor a HP Mixed Reality interakciós profilt kell használni. Műveletenként több vezérlőkötés is megadható a különböző eszközök jobb támogatása érdekében.

Több vezérlőkötés használata

Bemeneti műveletleképezések hozzáadása

Adjon meg egy új műveletet, és képezz le a HP Mixed Reality Controller szakasz egyik billentyűnyomójára.

Új műveletek és leképezések meghatározása

A HP Reverb G2 vezérlő analóg fogóval is rendelkezik, amely a tengelyleképezésekben a "Tengely összenyomása" kötéssel használható. Van egy külön Squeeze kötés, amelyet a műveletleképezésekhez kell használni, ha a fogógomb teljes mértékben le van nyomva.

A Tengely összenyomása kötések használata

Bemeneti események hozzáadása

Kattintson a jobb gombbal egy tervre, és keresse meg a bemeneti rendszer új műveletneveit, hogy eseményeket adjon hozzá ezekhez a műveletekhez. Itt a Terv az aktuális gombot és tengelyállapotot kiadó nyomtatási sztringgel válaszol az eseményekre.

Az eseményekre válaszoló terv, valamint az aktuális gomb és tengely állapotának kimenete

Bemenet használata

Ugyanezek a művelet- és tengelyleképezések használhatók a játék bemeneti projektbeállításaiban a C++-ból.

  1. Hozzon létre egy új C++ osztályt a Fájl/Új C++ osztály használatával...

Új C++ osztály létrehozása

  1. Gyalog létrehozása

Gyalog létrehozása

  1. A projekt Visual Studio-megoldásában keresse meg az új Pawn osztályt, és konfigurálja bemenetként.
  • Először a konstruktorban állítsa az AutoPossessPlayert az első lejátszóra, amely a bemenetet a gyaloghoz irányítja.
AMyPawn::AMyPawn()
{
    PrimaryActorTick.bCanEverTick = true;

    AutoPossessPlayer = EAutoReceiveInput::Player0;
}
  • Ezután a SetupPlayerInputComponentben kösse össze a műveleteket és a tengelyeseményeket a projekt bemeneti beállításaiból származó műveletnevekkel.
void AMyPawn::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
{
    Super::SetupPlayerInputComponent(PlayerInputComponent);

    PlayerInputComponent->BindAction("X_Button", IE_Pressed, this, &AMyPawn::XPressed);
    PlayerInputComponent->BindAction("L_GripAxis", this, &AMyPawn::LeftGripAxis);
}
  • Adja hozzá a visszahívási függvényeket az osztályhoz:
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);
    }
}
  • Frissítse a Pawn fejlécét a visszahívási függvény definícióival:
private:
    void XPressed();
    void LeftGripAxis(float AxisValue);
  1. Fordítás a Visual Studióból, hogy elindítsa a szerkesztőt az új gyaloggal. Húzza a gyalogot a tartalomböngészőből a játékba, és a gyalog most végrehajtja a visszahívásokat, amikor a bemenetet lenyomja.

Lásd még