Waktu bingkai VR
Membuat penyedia XR

SDK

SDK Unity XR ditujukan untuk pengguna spesialis yang ingin mengembangkan penyedia XR mereka sendiri yang bekerja dengan Unity. Untuk mengunduh XR SDK, Anda harus mendaftar untuk mengakses.

Paket SDK XR memungkinkan beberapa backend (disebut “providers”) untuk menerapkan fitur mesin tunggal (disebut “subsystem”) di Unity. Aplikasi pengguna dapat memilih dan mengaktifkan penyedia pada runtime.

Subsystems

Subsistem tunggal terdiri dari:

  • Antarmuka C # pengembang-facing
  • Antarmuka asli yang beberapa backends (Providers) mengimplementasikan melalui perpustakaan dinamis
  • Kode mesin umum yang menangani berkomunikasi dengan antarmuka C #, antarmuka asli, dan sisa mesin

Subsystem diagram

Subsystem descriptor

Descriptor subsistem adalah metadata tentang subsistem yang dapat diperiksa sebelum memuat atau menginisialisasi subsistem. Ini berasal dari file manifest dan diakses melalui antarmuka C#. Metode Create mengaktifkan subsistem dan menyediakan contohnya ke scriptsSepotong kode yang memungkinkan Anda untuk membuat Komponen Anda sendiri, memicu peristiwa permainan, memodifikasi sifat komponen dari waktu ke waktu dan menanggapi input pengguna dengan cara apa pun yang Anda sukai. More info
Lihat di Glossary
pengguna.

Untuk informasi lebih lanjut, lihat halaman Penemuan waktu dan aktivasi subsistem.

Subsistem

Ketika Create disebut pada descriptor subsistem, ini menciptakan instance subsistem. Kode scripting berinteraksi dengan instance ini untuk berkomunikasi dengan subsistem. Subsistem itu sendiri memiliki siklus hidup sendiri: dapat dimulai, berhenti, dan mematikan.

Provider

Penyedia adalah implementasi dari sebuah subsistem. Satu subsistem dapat memiliki beberapa penyedia. Beberapa subsistem dapat memungkinkan beberapa penyedia untuk aktif pada waktu, tetapi yang lain mungkin saling eksklusif.

Provider diagram
Diagram penyedia

Penyedia sesuai dengan Antarmuka plug-in asli unity, dengan beberapa dukungan siklus hidup tambahan yang dibangun di atas. Titik masuk adalah metode UnityPluginLoad. Dari sana, penyedia harus mendaftar dengan semua subsistem yang ingin diterapkan.

extern "C" void UNITY_INTERFACE_EXPORT UNITY_INTERFACE_API
UnityPluginLoad(IUnityInterfaces* unityInterfaces)
{
    s_XrDisplay = unityInterfaces->Get<IUnityXRDisplayInterface>();
    UnityLifecycleProvider displayLifecycleHandler =
    {
        NULL, // This can be any object you want to be passed as userData to the following functions
        &Lifecycle_Initialize,
        &Lifecycle_Start,
        &Lifecycle_Stop,
        &Lifecycle_Shutdown
    };
    s_XrDisplay->RegisterLifecycleProvider("Provider Plugin Name", "Display0", &displayLifecycleHandler);

    // Register with other subsystems...
}
Waktu bingkai VR
Membuat penyedia XR