Lighting Estimation API memberikan data mendetail yang memungkinkan Anda meniru berbagai isyarat pencahayaan saat merender objek virtual. ARCore mendukung tiga mode estimasi cahaya:
Prasyarat
Pastikan Anda memahami konsep AR dasar dan cara mengonfigurasi sesi ARCore sebelum melanjutkan.
Mengaktifkan Estimasi Pencahayaan
Ikuti langkah-langkah berikut untuk mengaktifkan estimasi pencahayaan di aplikasi Anda.
- Siapkan project AR Foundation atau project ARCore Extensions.
- Di tab Hierarchy, buka XR Session Origin > AR Camera.
- Di bagian komponen AR Camera Manager, pilih Light Estimation.
- Di menu drop-down Light Estimation, pilih mode yang ingin Anda gunakan.
Mengaktifkan mode HDR Lingkungan
Mode HDR lingkungan mengaktifkan setelan estimasi cahaya berikut:
- Arah Cahaya Utama
- Intensitas Lampu Utama
- Harmonik Sferis Ambien
Mode ini diaktifkan secara otomatis jika kriteria berikut terpenuhi:
- Harmonis Sferis Ambien, Arah Cahaya Utama, dan/atau Intensitas Cahaya Utama dipilih dalam mode Estimasi Cahaya yang disediakan oleh pengelola Kamera AR
- Probe lingkungan diaktifkan di
AREnvironmentProbeManager
- Konfigurasi kamera yang kompatibel dipilih
Aktifkan mode Intensitas Sekitar
Estimasi cahaya dasar otomatis diaktifkan saat mode Intensitas Sinematik dipilih di komponen ARCameraManager
.
Mode Intensitas Standby mengaktifkan setelan estimasi cahaya berikut:
- Warna Sekitar
- Intensitas Ambien
Menggunakan informasi pencahayaan di tampilan
Setelah mendapatkan setelan pencahayaan yang benar, Anda dapat menerangi objek virtual di tampilan seolah-olah objek tersebut adalah bagian dari dunia nyata.
Komponen ARCameraManager
dapat memicu peristiwa frameReceived
yang memperkirakan kondisi pencahayaan bingkai saat estimasi pencahayaan diaktifkan. Informasi dari peristiwa frameReceived
disimpan dalam struct ARCameraFrameEventArgs
sebagai ARLightEstimationData
.
Ikuti langkah-langkah berikut untuk mengubah parameter lampu saat runtime.
- Buat atau ubah Directional Light yang ada dalam suasana.
Lampirkan skrip baru ke Directional Light.
// Sample Lighting Estimation script Light light; void Awake () { light = GetComponent<Light>(); } void OnEnable() { if (cameraManager != null) cameraManager.frameReceived += FrameChanged; } void OnDisable() { if (cameraManager != null) cameraManager.frameReceived -= FrameChanged; } void FrameChanged(ARCameraFrameEventArgs args) { // Modify `light` parameters using ARCameraFrameEventArgs. }
Ubah skrip baru ini untuk mendeteksi perubahan pencahayaan. Untuk contoh cara melakukannya, lihat skrip
BasicLightEstimation.cs
danHDRLightEstimation.cs
Unity.
Menggunakan probe lingkungan di tampilan
Ikuti langkah-langkah berikut untuk mengaktifkan probe lingkungan di tampilan Anda.
- Aktifkan penempatan otomatis di
ARSessionOrigin
tampilan Anda. - Tambahkan komponen
AREnvironmentProbeManager
keARSessionOrigin
.