Jetpack XR के लिए ARCore
नया अपडेट | रिलीज़ किया गया जांचा और परखा हुआ वर्शन | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
---|---|---|---|---|
12 दिसंबर, 2024 | - | - | - | 1.0.0-alpha01 |
डिपेंडेंसी का एलान करना
Jetpack XR के लिए ARCore पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की मेवन रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle
फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
ग्रूवी
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-alpha01" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha01") }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव
आपके सुझाव, शिकायत या राय से हमें Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या इस लाइब्रेरी को बेहतर बनाने के लिए आपके पास कोई सुझाव है, तो हमें बताएं. नई लाइब्रेरी बनाने से पहले, कृपया इस लाइब्रेरी में मौजूद मौजूदा समस्याओं पर एक नज़र डालें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या पर अपना वोट जोड़ा जा सकता है.
ज़्यादा जानकारी के लिए, समस्या ट्रैकर का दस्तावेज़ देखें.
संस्करण 1.0
वर्शन 1.0.0-alpha01
12 दिसंबर, 2024
androidx.xr.arcore:arcore-* 1.0.0-alpha01
रिलीज़ हो गया है.
शुरुआती रिलीज़ की सुविधाएं
मौजूदा ARCore लाइब्रेरी से प्रेरित, ARCore for Jetpack XR लाइब्रेरी, डिजिटल कॉन्टेंट को असल दुनिया के साथ ब्लेंड करने की सुविधाएं देती है. इस लाइब्रेरी में, मोशन ट्रैकिंग, लगातार काम करने वाले ऐंकर, हिट टेस्टिंग, और सेमेटिक लेबल (उदाहरण के लिए, फ़्लोर, दीवारें, और टेबलटॉप) की मदद से प्लैन की पहचान करने की सुविधा शामिल है. Jetpack XR के लिए ARCore के साथ काम करने के बारे में ज़्यादा जानने के लिए, डेवलपर गाइड देखें.
Session
: Jetpack XR के लिए ARCore, अपनी सुविधाओं को बेहतर बनाने के लिए, Jetpack XR Runtime का इस्तेमाल करता है. Jetpack XR के लिए ARCore के ज़्यादातर एपीआई के साथ इंटरैक्ट करने के लिए, आपको सेशन का इस्तेमाल करना होगा. इसलिए, कृपया इसके दस्तावेज़ देखें.Plane
: अपने आस-पास की दुनिया को समझने के लिए, प्लेन का इस्तेमाल करें. हर प्लेन का एकLabel
होता है, जो उसके बारे में सेमेटिक तरीके से बताता है.subscribe
का इस्तेमाल करके, हाल ही में ट्रैक किए गए विमानों के बारे में सूचनाएं पाएं. इसके अलावा,state
का इस्तेमाल करके, किसी खास विमान में हुए बदलावों के बारे में सूचनाएं पाएं.Anchor
: वर्चुअल ऑब्जेक्ट और असल जगह के बीच का लिंक. ऐंकर को स्पेस में किसी खास जगह (create
का इस्तेमाल करके) याTrackable
(createAnchor
का इस्तेमाल करके) से अटैच किया जा सकता है.सभी सेशन में ऐंकर का फिर से इस्तेमाल किया जा सकता है. इन्हें सेव करने के लिए
persist
, गिनती करने के लिएgetPersistedAnchorUuids
, और वापस पाने के लिएload
का इस्तेमाल किया जा सकता है. इस्तेमाल न होने पर, उन्हेंunpersist
करना न भूलें.ऐंकर, Jetpack XR के लिए ARCore और Jetpack SceneCore के बीच इंटरऑपरेबल होते हैं. किसी ऐंकर का इस्तेमाल करके
AnchorEntity
बनाया जा सकता है. इसके अलावा, अगर आपके पास कोई मौजूदा AnchorEntity है, तो उसके बैकिंग ऐंकर को वापस पाने के लिएgetAnchor
का इस्तेमाल किया जा सकता है.hitTest
का इस्तेमाल करके, उपयोगकर्ता के साथ स्वाभाविक तरीके से इंटरैक्ट करें. हिट टेस्ट,Ray
का इस्तेमाल करके यह पता लगाता है कि वह किस कॉन्टेंट से इंटरसेक्शन करता है. साथ ही, उस जगह सेAnchor
बनाता है.InputEvent
से hitTest करें.
ऐसी समस्याएं जिनकी जानकारी पहले से है
unpersist
को कॉल करने औरgetPersistedAnchorUuids
से मिले नतीजों से उसके यूयूआईडी को हटाने में कुछ समय लग सकता है.create
इस बात की पुष्टि नहीं करेगा कि सिस्टम में नए ऐंकर दिखाने के लिए ज़रूरी संसाधन हैं या नहीं. बहुत ज़्यादा ऐंकर बनाने पर, ऐप्लिकेशन क्रैश हो सकता है.फ़िलहाल, ऐसे ऐंकर को सेव नहीं किया जा सकता जिसे पहले सेव किया गया था और फिर सेव नहीं किया गया था.
एम्युलेटर में इसका इस्तेमाल किया जा सकता है. हालांकि, हो सकता है कि इसका व्यवहार किसी असल डिवाइस पर चलने के मुकाबले उतना बेहतर न हो. खास तौर पर,
create
को कॉल करने पर, नेटिव कोड की गड़बड़ी की वजह से कॉल पूरा नहीं हो सकता और गतिविधि तुरंत बंद हो सकती है.कुछ मामलों में,
persist
को कॉल करते समय, गड़बड़ी सेRuntimeException
दिख सकता है. साथ ही, “एंकर सेव नहीं किया गया” मैसेज दिख सकता है. ऐसे में, फ़ंक्शन काम करेगा और ऐंकर सेव हो जाएगा. हमारा सुझाव है कि इस समस्या को हल करने के लिए,persist
को कॉल करने के लिए,try
ब्लॉक का इस्तेमाल करें.