Bagikan melalui


Pengontrol HP Reverb G2 di Unreal

Memulai

Penting

Unreal Engine 4.26 dan OpenXR atau SteamVR diperlukan untuk mengakses plugin HP Motion Controller, Anda harus bekerja dengan pengontrol HP Reverb G2.

Mengaktifkan Plugin Pengontrol Gerakan HP

Profil interaksi dan pemetaan pengontrol ada di plugin HP Motion Controller, yang harus diaktifkan untuk mengekspos pemetaan pengontrol ke sistem input Unreal.

Mengaktifkan plugin OpenXRHPController

Memindahkan aplikasi OpenXR yang sudah ada

Jika tidak ada pengikatan pengontrol dalam game untuk HP Mixed Reality Controller, runtime OpenXR akan mencoba memetakan kembali pengikatan yang ada ke pengontrol aktif. Dalam hal ini, game ini memiliki pengikatan Oculus Touch dan tidak ada pengikatan HP Mixed Reality Controller.

Memetakan ulang pengikatan yang ada ketika tidak ada pengikatan pengontrol

Peristiwa masih akan diaktifkan, tetapi jika game perlu menggunakan pengikatan khusus pengontrol, seperti tombol menu yang tepat, profil interaksi HP Mixed Reality harus digunakan. Beberapa pengikatan pengontrol dapat ditentukan per tindakan untuk mendukung perangkat yang berbeda dengan lebih baik.

Menggunakan beberapa pengikatan pengontrol

Menambahkan pemetaan tindakan input

Tentukan tindakan baru dan petakan ke salah satu penekanan tombol di bagian HP Mixed Reality Controller.

Menentukan tindakan dan pemetaan baru

Pengontrol HP Reverb G2 juga memiliki grip analog, yang dapat digunakan dalam pemetaan sumbu dengan pengikatan "Sumbu Peras". Ada pengikatan Squeeze terpisah, yang harus digunakan untuk pemetaan tindakan ketika tombol grip sepenuhnya ditekan.

Menggunakan pengikatan sumbu Peras

Menambahkan peristiwa input

Klik kanan pada Cetak Biru dan cari nama tindakan baru dari sistem input untuk menambahkan peristiwa untuk tindakan ini. Di sini Cetak Biru merespons peristiwa dengan string cetak yang menghasilkan tombol saat ini dan status sumbu.

Cetak biru merespons peristiwa dan mengeluarkan status tombol dan sumbu saat ini

Menggunakan input

Pemetaan aksi dan sumbu yang sama dalam pengaturan proyek input game dapat digunakan dari C++.

  1. Buat Kelas C++ baru dengan Kelas File/C++ Baru...

Membuat kelas C++ baru

  1. Membuat pion

Membuat pion

  1. Dalam solusi Visual Studio proyek, temukan kelas Pion baru dan konfigurasikan untuk input.
  • Pertama, di konstruktor, atur AutoPossessPlayer ke pemutar pertama untuk merutekan input ke pion.
AMyPawn::AMyPawn()
{
    PrimaryActorTick.bCanEverTick = true;

    AutoPossessPlayer = EAutoReceiveInput::Player0;
}
  • Kemudian di SetupPlayerInputComponent, ikat tindakan dan peristiwa sumbu ke nama tindakan dari pengaturan input proyek.
void AMyPawn::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
{
    Super::SetupPlayerInputComponent(PlayerInputComponent);

    PlayerInputComponent->BindAction("X_Button", IE_Pressed, this, &AMyPawn::XPressed);
    PlayerInputComponent->BindAction("L_GripAxis", this, &AMyPawn::LeftGripAxis);
}
  • Tambahkan fungsi panggilan balik ke kelas :
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);
    }
}
  • Perbarui header Pion dengan definisi fungsi panggilan balik:
private:
    void XPressed();
    void LeftGripAxis(float AxisValue);
  1. Kompilasi dari Visual Studio untuk meluncurkan editor dengan pion baru. Seret dan letakkan pion dari browser konten ke dalam permainan dan pion sekarang akan menjalankan panggilan balik saat input ditekan.

Lihat juga