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 dasar AR dan cara mengonfigurasi sesi ARCore sebelum melanjutkan.
Aktifkan 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 Anda ingin gunakan.
Mengaktifkan mode HDR Lingkungan
Mode HDR lingkungan mengaktifkan setelan estimasi cahaya berikut:
- Arah Lampu Utama
- Intensitas Lampu Utama
- Harmonik Sferikal Sekitar
Mode ini diaktifkan secara otomatis saat kriteria berikut terpenuhi:
- Ambient Spherical Harmonics, Main Light Direction, dan/atau Main Light Intensity dipilih dalam mode Estimasi Cahaya yang disediakan oleh pengelola Kamera AR
- Pemeriksaan lingkungan diaktifkan di
AREnvironmentProbeManager
- Konfigurasi kamera yang kompatibel dipilih
Aktifkan mode Intensitas Sekitar
Estimasi cahaya dasar otomatis diaktifkan saat Mode Intensitas Sekitar dipilih di komponen ARCameraManager
.
Mode Intensitas Sekitar mengaktifkan setelan estimasi cahaya berikut:
- Warna Sekitar
- Intensitas Sekitar
Gunakan informasi pencahayaan di adegan Anda
Setelah mendapatkan setelan pencahayaan yang tepat, Anda dapat menerangi objek virtual di adegan 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 struktur 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 pemeriksaan lingkungan di suasana Anda
Ikuti langkah-langkah berikut untuk mengaktifkan pemeriksaan lingkungan di scene Anda.
- Aktifkan penempatan otomatis di
ARSessionOrigin
suasana. - Tambahkan komponen
AREnvironmentProbeManager
keARSessionOrigin
.