Unreal'da HP Reverb G2 Denetleyicileri

Başlarken

Önemli

HP Motion Controller eklentisine erişmek için Unreal Engine 4.26 ve OpenXR veya SteamVR gereklidir. HP Reverb G2 denetleyicileriyle çalışmanız gerekir.

HP Motion Controller Eklentisini Etkinleştirme

Etkileşim profili ve denetleyici eşlemeleri, denetleyici eşlemelerini Unreal'ın giriş sistemine göstermek için etkinleştirilmesi gereken HP Hareket Denetleyicisi eklentisindedir.

OpenXRHPController eklentisini etkinleştirme

Mevcut bir OpenXR uygulamasını taşıma

OYUNDA HP Karma Gerçeklik Controller için hiçbir denetleyici bağlaması yoksa, OpenXR çalışma zamanı mevcut bağlamaları etkin denetleyiciye yeniden eşlemeyi dener. Bu durumda, oyunda Oculus Touch bağlamaları vardır ve HP Karma Gerçeklik Denetleyici bağlamaları yoktur.

Denetleyici bağlaması olmadığında mevcut bağlamaları yeniden eşleme

Olaylar yine tetiklenir, ancak oyunun doğru menü düğmesi gibi denetleyiciye özgü bağlamaları kullanması gerekiyorsa HP Karma Gerçeklik etkileşim profili kullanılmalıdır. Farklı cihazları daha iyi desteklemek için eylem başına birden çok denetleyici bağlaması belirtilebilir.

Birden çok denetleyici bağlaması kullanma

Giriş eylemi eşlemeleri ekleme

Yeni bir eylem tanımlayın ve HP Karma Gerçeklik Denetleyicisi bölümündeki tuş basımlarından birine eşleyin.

Yeni eylemleri ve eşlemeleri tanımlama

HP Reverb G2 kontrol cihazı ayrıca eksen eşlemelerinde "Ekseni Sıkıştır" bağlamasıyla kullanılabilen analog kavramaya sahiptir. Kavrama düğmesine tam olarak basıldığında eylem eşlemeleri için kullanılması gereken ayrı bir Sıkma bağlaması vardır.

Sıkma ekseni bağlamalarını kullanma

Giriş olayları ekleme

Bir Şemaya sağ tıklayın ve bu eylemlere yönelik olaylar eklemek için giriş sisteminden yeni eylem adlarını arayın. Şema burada olaylara geçerli düğmeyi ve eksen durumunu veren bir yazdırma dizesiyle yanıt veriyor.

Olaylara yanıt veren ve geçerli düğme ile eksen durumunu veren şema

Girişi kullanma

Oyunun giriş projesi ayarlarındaki aynı eylem ve eksen eşlemeleri C++ ile kullanılabilir.

  1. Dosya/Yeni C++ Sınıfı ile yeni bir C++ Sınıfı oluştur...

Yeni bir C++ sınıfı oluşturma

  1. Piyon oluşturma

Piyon oluşturma

  1. Projenin Visual Studio çözümünde yeni Pawn sınıfını bulun ve giriş için yapılandırın.
  • İlk olarak, girişi piyona yönlendirmek için oluşturucuda AutoPossessPlayer'ı ilk oyuncu olarak ayarlayın.
AMyPawn::AMyPawn()
{
    PrimaryActorTick.bCanEverTick = true;

    AutoPossessPlayer = EAutoReceiveInput::Player0;
}
  • Ardından SetupPlayerInputComponent içinde, eylemleri ve eksen olaylarını projenin giriş ayarlarından eylem adlarına bağlayın.
void AMyPawn::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
{
    Super::SetupPlayerInputComponent(PlayerInputComponent);

    PlayerInputComponent->BindAction("X_Button", IE_Pressed, this, &AMyPawn::XPressed);
    PlayerInputComponent->BindAction("L_GripAxis", this, &AMyPawn::LeftGripAxis);
}
  • Sınıfına geri çağırma işlevlerini ekleyin:
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);
    }
}
  • Pawn üst bilgisini geri çağırma işlevi tanımlarıyla güncelleştirin:
private:
    void XPressed();
    void LeftGripAxis(float AxisValue);
  1. Düzenleyiciyi yeni piyonla başlatmak için Visual Studio'dan derleyin. Piyonu içerik tarayıcısından oyuna sürükleyip bırakın; artık girişe basıldığında pawn geri çağırmaları yürütür.

Ayrıca bkz.