Lighting estimation API में ज़्यादा जानकारी वाला डेटा मिलता है. इसकी मदद से, वर्चुअल ऑब्जेक्ट को रेंडर करते समय, रोशनी के अलग-अलग संकेतों की नकल की जा सकती है. ARCore में, रोशनी का अनुमान लगाने वाले तीन मोड इस्तेमाल किए जा सकते हैं:
ज़रूरी शर्तें
पक्का करें कि आपको एआर के बुनियादी सिद्धांतों के बारे में पता हो साथ ही, आगे बढ़ने से पहले ARCore सेशन को कॉन्फ़िगर करने का तरीका जानें.
लाइटिंग का अनुमान लगाने की सुविधा चालू करें
अपने ऐप्लिकेशन में रोशनी का अनुमान लगाने की सुविधा चालू करने के लिए, इन निर्देशों का पालन करें.
- AR Foundation प्रोजेक्ट या ARCore एक्सटेंशन प्रोजेक्ट सेट अप करें.
- Hierarchy टैब में, XR Session Origin > AR Camera पर जाएं.
- AR Camera Manager कॉम्पोनेंट में जाकर, Light Estimation चुनें.
- Light Estimation ड्रॉप-डाउन मेन्यू में, वह मोड चुनें जिसका आपको इस्तेमाल करना है.
पर्यावरण एचडीआर मोड चालू करें
पर्यावरण एचडीआर मोड की मदद से, रोशनी का अनुमान लगाने वाली ये सेटिंग चालू होती हैं:
- मुख्य लाइट डायरेक्शन
- मुख्य लाइट की रोशनी
- ऐंबियंट स्फ़ेरिकल हार्मोनिक्स
ये शर्तें पूरी होने पर, यह मोड अपने-आप चालू हो जाता है:
- ऐंबियंट स्फ़ेरिकल हार्मनिक्स, मेन लाइट डायरेक्शन, और/या मेन लाइट इंटेंसिटी को एआर कैमरा मैनेजर के उपलब्ध कराए गए लाइट एस्टिमेशन मोड में चुना जाता है
AREnvironmentProbeManager
में एनवायरमेंट की जांच करने की सुविधा चालू है- साथ काम करने वाला कैमरा कॉन्फ़िगरेशन चुना गया है
ऐंबियंट इंटेंसिटी मोड को चालू करें
ARCameraManager
कॉम्पोनेंट में ऐंबियंट इंटेंसिटी मोड चुनने पर, बेसिक लाइट का अनुमान अपने-आप चालू हो जाता है.
ऐंबियंट इंटेंसिटी मोड, रोशनी का अनुमान लगाने की इन सेटिंग को चालू करता है:
- Ambient Color
- स्क्रीन की रोशनी
अपने सीन में रोशनी की जानकारी का इस्तेमाल करें
एक बार सही लाइटिंग सेटिंग हासिल कर लेने पर, आप अपने सीन में वर्चुअल चीज़ों को इस तरह से लाइट कर सकते हैं, जैसे कि वे असल दुनिया का हिस्सा हों.
ARCameraManager
कॉम्पोनेंट, frameReceived
इवेंट को बढ़ा सकता है, जो लाइटिंग का अनुमान लगाने की सुविधा चालू होने पर, फ़्रेम की लाइटिंग का अनुमान लगाता है. frameReceived
इवेंट की जानकारी, ARCameraFrameEventArgs
स्ट्रक्चर में ARLightEstimationData
के तौर पर सेव की जाती है.
रनटाइम के दौरान लाइट के पैरामीटर बदलने के लिए, यह तरीका अपनाएं.
- अपने सीन में पहले से मौजूद डायरेक्शनल लाइट बनाएं या उसमें बदलाव करें.
डायरेक्शनल लाइट में एक नई स्क्रिप्ट अटैच करें.
// 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. }
लाइटिंग में होने वाले बदलावों का पता लगाने के लिए, इस नई स्क्रिप्ट में बदलाव करें. ऐसा करने का तरीका जानने के लिए, Unity की
BasicLightEstimation.cs
औरHDRLightEstimation.cs
स्क्रिप्ट देखें.
अपने सीन में एनवायरमेंट की जांच करें
अपने सीन में एनवायरमेंट की जांच चालू करने के लिए, यह तरीका अपनाएं.
- सीन के
ARSessionOrigin
में, विज्ञापन के लिए अपने-आप जगह तय करने की सुविधा चालू करें. ARSessionOrigin
में एकAREnvironmentProbeManager
कॉम्पोनेंट जोड़ें.