Lighting Estimation API, sanal nesneleri oluştururken çeşitli ışıklandırma ipuçlarını taklit etmenizi sağlayan ayrıntılı veriler sağlar. ARCore, üç farklı ışık tahmini modunu destekler:
- Devre dışı
- Ortam Yoğunluğu modu
- Ortam HDR modu
Ön koşullar
Devam etmeden önce temel AR kavramlarını ve ARCore oturumunu nasıl yapılandıracağınızı anladığınızdan emin olun.
Işık Tahminini Etkinleştir
Uygulamanızda ışıklandırma tahminini etkinleştirmek için bu adımları uygulayın.
- AR Foundation projesi veya ARCore Extensions projesi oluşturun.
- Hierarchy sekmesinde XR Session Origin > AR Camera adresine gidin.
- AR Camera Manager bileşeninin altında Light Estimation öğesini seçin.
- Light Estimation açılır menüsünden kullanmak istediğiniz modları seçin.
Ortam HDR modunu etkinleştir
Ortam HDR modu aşağıdaki ışık tahmini ayarlarını etkinleştirir:
- Ana Işık Yönü
- Ana Işık Yoğunluğu
- Ortamdaki Küresel Harmonik
Aşağıdaki ölçütler karşılandığında bu mod otomatik olarak etkinleştirilir:
- AR Kamera Yöneticisi tarafından sağlanan Işık Tahmini modunda Küresel Ambiyans Harmoniği, Ana Işık Yönü ve/veya Ana Işık Yoğunluğu seçilir
- Ortam kontrolleri
AREnvironmentProbeManager
ile etkinleştirilmiş - Uyumlu bir kamera yapılandırması seçilmiş olmalıdır.
Ambiyans Yoğunluğu modunu etkinleştir
ARCameraManager
bileşeninde Ortam Yoğunluğu modu seçildiğinde temel ışık tahmini otomatik olarak etkinleştirilir.
Ambiyans Yoğunluğu modu aşağıdaki ışık tahmini ayarlarını etkinleştirir:
- Ortam Rengi
- Ortam Yoğunluğu
Sahnenizde ışıklandırma bilgilerini kullanın
Doğru ışıklandırma ayarlarını elde ettikten sonra, sahnenizdeki sanal nesneleri gerçek dünyanın bir parçası gibi ışıklandırabilirsiniz.
ARCameraManager
bileşeni, ışıklandırma tahmini etkinleştirildiğinde karelerin ışık koşullarını tahmin eden bir frameReceived
etkinliği oluşturabilir. frameReceived
etkinliklerinden alınan bilgiler ARCameraFrameEventArgs
yapılarında ARLightEstimationData
olarak depolanır.
Çalışma zamanında ışığın parametrelerini değiştirmek için aşağıdaki adımları uygulayın.
- Sahnenizde yön ışığı oluşturun veya mevcut yön ışığını değiştirin.
Yön Işığı'na yeni bir komut dosyası ekleyin.
// 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. }
Işıktaki değişiklikleri algılamak için bu yeni komut dosyasını değiştirin. Bunun nasıl yapılacağına dair örnekler için Unity'nin
BasicLightEstimation.cs
veHDRLightEstimation.cs
komut dosyalarına göz atın.
Sahnenizde çevre problarını kullanın
Sahnenizde ortam kontrollerini etkinleştirmek için aşağıdaki adımları uygulayın.
- Sahnenizin
ARSessionOrigin
öğesinde otomatik yerleşimi etkinleştirin. ARSessionOrigin
'e birAREnvironmentProbeManager
bileşeni ekleyin.