प्रॉडक्ट से जुड़ी खबरें

Android XR SDK टूल के अपडेट: डेवलपर के लिए उपलब्ध झलक का चौथा वर्शन पेश किया जा रहा है

पढ़ने में 5 मिनट लगेंगे

आज हम Android XR SDK का डेवलपर प्रीव्यू 4 लॉन्च कर रहे हैं. हमारा फ़ोकस, हेडसेट, वायर वाले एक्सआर ग्लास, और इंटेलिजेंट आईवियर के लिए, अलग-अलग डिवाइसों पर ऐप्लिकेशन डेवलपमेंट को एक साथ करने पर बना हुआ है. अपने प्लैटफ़ॉर्म को ज़्यादा सहज बनाने के लिए, हम अपने फ़ॉर्म फ़ैक्टर के लिए ज़्यादा जानकारी देने वाले नामों का इस्तेमाल कर रहे हैं. जैसे, एआई ग्लास को अब ऑडियो ग्लास और डिसप्ले वाले एआई ग्लास को अब डिसप्ले ग्लास कहा जाएगा. ये बदलाव आज से हमारे दस्तावेज़ में दिखेंगे.

इस रिलीज़ में कई अपडेट शामिल हैं. इनकी मदद से, एक्सआर डिवाइसों के लिए शानदार अनुभव तैयार किए जा सकते हैं. साथ ही, एक्सआर हेडसेट पर ज़्यादा इमर्सिव अनुभव पाए जा सकते हैं. इसके अलावा, ऑडियो और डिसप्ले ग्लास पर ऑगमेंटेड अनुभव बनाने का तरीका आसान बनाया जा सकता है.  इसके अलावा, हमारी मुख्य लाइब्रेरी—जैसे कि XR Runtime, Jetpack SceneCore, और Jetpack XR के लिए ARCore— जल्द ही आधिकारिक तौर पर बीटा वर्शन में उपलब्ध होंगी!

हम Android XR Developer Catalyst Program का एलान कर रहे हैं. इससे आपको आने वाले डिवाइसों पर, इमर्सिव और ऑगमेंटेड अनुभव देने वाले ऐप्लिकेशन बनाने के लिए, हार्डवेयर और संसाधनों का ऐक्सेस पहले ही मिल जाएगा. जैसे, डिसप्ले और ऑडियो ग्लास और XREAL का Project Aura. ज़्यादा जानें और आज ही आवेदन करना शुरू करें. 

ऑडियो और डिसप्ले ग्लास के लिए, बेहतर अनुभव देने वाली सुविधाएं बनाना

ऑगमेंटेड अनुभवों के लिए हमारी लाइब्रेरी का इस्तेमाल शुरू करें. डेवलपर के लिए झलक 4 में नए एपीआई जोड़े गए हैं. इनसे आपको अपने ऐप्लिकेशन बनाने और उनकी टेस्टिंग करने में मदद मिलेगी.

Jetpack Projected: डिवाइस की उपलब्धता और ProjectedTestRule API

Jetpack Projected लाइब्रेरी की मदद से, फ़ोन पर ऐप्लिकेशन इस्तेमाल करने के अनुभव को उपयोगकर्ता के फ़ील्ड ऑफ़ व्यू (कैमरे से दिख रहा व्यू) तक लाया जा सकता है. हमने Device Availability API जोड़ा है. यह डिवाइस के इस्तेमाल की स्थिति और कनेक्टिविटी के सिग्नल को Android की स्टैंडर्ड Lifecycle.State वैल्यू में बदलता है. इससे, डिवाइस पहने जाने की स्थिति के आधार पर, ऐप्लिकेशन के काम करने के तरीके में बदलाव किया जा सकता है.

val xrDevice = XrDevice.getCurrentDevice(projectedContext)

// Observe the device lifecycle flow
xrDevice.getLifecycle().currentStateFlow
    .collect { state ->
        when (state) {
            Lifecycle.State.STARTED -> { /* Device is available (worn) */ }
            Lifecycle.State.CREATED -> { /* Device is unavailable (not worn) */ }
            Lifecycle.State.DESTROYED -> { /* Device is DISCONNECTED */ }
        }
    }

टेस्टिंग को आसान बनाने के लिए, प्रोजेक्टेड-टेस्टिंग आर्टफ़ैक्ट में मौजूद नए ProjectedTestRule एपीआई की मदद से, प्रोजेक्टेड टेस्ट एनवायरमेंट का सेटअप अपने-आप हो जाता है. इससे आपको बॉयलरप्लेट कोड के बिना, साफ़ और भरोसेमंद यूनिट टेस्ट लिखने में मदद मिलती है.

// from the 'androidx.xr.projected:projected-testing:1.0.0-alpha07' artifact
@get:Rule
val projectedTestRule = ProjectedTestRule()

@Test
fun testProjectedContextInitialization() {
    // by default, ProjectedTestRule automatically creates and connects
    // a projected device before each test
    val projectedContext = ProjectedContext.createProjectedDeviceContext(context)

    // assert the projected context is successfully initialized
    assertThat(projectedContext).isNotNull()
}

Jetpack Compose Glimmer: Google Sans Flex और नए कॉम्पोनेंट

डिसप्ले ग्लास के लिए हमारी यूज़र इंटरफ़ेस (यूआई) लाइब्रेरी, Jetpack Compose Glimmer में अब Google Sans Flex शामिल है. इससे ऑप्टिकल सी-थ्रू डिसप्ले पर टेक्स्ट को आसानी से पढ़ा जा सकता है. हमने कई इंटरैक्टिव कॉम्पोनेंट भी जोड़े हैं:

  • स्टैक: इन्हें टचपैड के लिए ऑप्टिमाइज़ किए गए ग्रुप के लिए डिज़ाइन किया गया है. इनमें एक बार में एक आइटम दिखाया जाता है.
  • टाइटल चिप: इससे कॉन्टेंट कार्ड को कैटगरी में बांटा जाता है और उनके बारे में जानकारी मिलती है.
glimmer (1).gif

एक्सआर हेडसेट और वायर वाले एक्सआर ग्लास के लिए इमर्सिव अनुभव बनाना

अगर आपको एक्सआर हेडसेट और वायर वाले एक्सआर ग्लास के लिए, पूरी तरह से इमर्सिव अनुभव देने वाले ऐप्लिकेशन बनाने हैं, तो हमारे पास आपके लिए कई बड़े अपडेट हैं.

बीटा वर्शन से ट्रांज़िशन और मॉडर्न आर्किटेक्चर

XR Runtime, Jetpack SceneCore, और Jetpack XR की परसेप्शन सुविधाओं (डेप्थ मैप, आंखों/हाथों को ट्रैक करना, हिट टेस्टिंग, और स्पेशल ऐंकर) के लिए ARCore को जल्द ही बीटा वर्शन में उपलब्ध कराया जाएगा. इसलिए, हमने Jetpack XR API को बेहतर बनाया है. हमने लेगसी Guava और RxJava3 पैकेज हटा दिए हैं. अब हम आधुनिक और Kotlin-first आर्किटेक्चर का इस्तेमाल करेंगे.

Jetpack SceneCore: glTF और कस्टम मेश

हम 3D मॉडल की सुविधाओं को बेहतर बना रहे हैं. इसके लिए, हम 3D मॉडल को बेहतर बनाने और 3D मॉडल के साथ खास नोड ऐक्सेस करने की सुविधा जोड़ रहे हैं. GltfModelNode का इस्तेमाल करके, पोज़, मटीरियल, और टेक्सचर जैसी प्रॉपर्टी में बदलाव किया जा सकता है. साथ ही, कुछ नोड के लिए ऐनिमेशन भी चलाए जा सकते हैं.

// Create a new PBR material
pbrMaterial = KhronosPbrMaterial.create(
    session = xrSession,
    alphaMode = AlphaMode.OPAQUE
)

// Load a texture.
val texture = Texture.create(
    session = xrSession,
    path = Path("textures/texture_name.png")
)

// Apply the texture and configure occlusion to define how the material handles ambient lighting.
pbrMaterial.setOcclusionTexture(
    texture = texture,
    strength = 0.5f
)

// Access the hierarchy of nodes within the model entity.
val entityNodes = entity.nodes

// Find the specific node to apply the material override.
val myEntityNode = entityNodes.find { it.name == "node_name" }

// Apply the PBR material to the node.
myEntityNode?.setMaterialOverride(
   material = newMaterial
)

हम SceneCore में कस्टम मेश भी जोड़ रहे हैं. कस्टम मेश की मदद से, प्रोग्राम के हिसाब से तुरंत ज्यामिति बनाई जा सकती है. यह कस्टम 3D मॉडल बनाने के लिए सबसे सही तरीका है. यह सुविधा, एक्सपेरिमेंट के तौर पर लॉन्च की जाएगी. इसलिए, इसे आज़माकर देखें और हमें बताएं कि आपको यह कैसी लगी!

// Create the mesh
val roadMesh =
    CustomMesh.BuilderFromMeshData(session, roadVertexLayout)
        .addVertexData(ByteBufferRegion(roadDataBuffer, 0, vertexDataSize))
        .setIndexData(ByteBufferRegion(roadDataBuffer, vertexDataSize, indexDataSize))
        .setTopology(MeshSubsetTopology.TRIANGLES)
        .build()

// Define the material
val roadMaterial = KhronosPbrMaterial.create(session, AlphaMode.OPAQUE)

// Instantiate the entity using the custom mesh and material
val roadEntity =
    MeshEntity.create(
        session,
        roadMesh,
        listOf(roadMaterial),
        pose = roadPose,
    )

एक्सआर के लिए कंपोज़: नेटिव glTF सपोर्ट

अब हमारे पास Compose for XR में सीधे तौर पर glTF फ़ॉर्मैट का इस्तेमाल करने की सुविधा है. इसके लिए, SpatialGltfModel का इस्तेमाल करें. glTF मॉडल में नोड और ऐनिमेशन ऐक्सेस करने के लिए, इसका इस्तेमाल SpatiallGltfModelState के साथ करें. इसके अलावा, इसका इस्तेमाल अपने 3D मॉडल में टेक्सचर और मटीरियल जोड़ने के लिए भी किया जा सकता है.

val myGltfModelState = rememberSpatialGltfModelState(
        source = SpatialGltfModelSource.fromPath(
            Paths.get("models/my_animated_model.glb")
        )
    )

    val myGltfAnimation =
        myGltfModelState.animations.find { it.name == "animation_name" }

    DisposableEffect(myGltfAnimation) {
        myGltfAnimation?.loop()

        onDispose {
            myGltfAnimation?.stop()
        }
    }

    SpatialGltfModel(state = myGltfModelState, modifier = modifier)

Jetpack XR के लिए ARCore: तार वाले एक्सआर ग्लास के लिए Geospatial API की झलक

हम Jetpack XR के लिए, ARCore में वायर वाले एक्सआर स्मार्ट ग्लास के लिए Geospatial API का शुरुआती प्रीव्यू भी उपलब्ध करा रहे हैं. इस अपडेट की मदद से, 87 से ज़्यादा देशों में डिजिटल कॉन्टेंट को असल दुनिया की जगहों से सटीक तरीके से जोड़ा जा सकेगा.

ARCore के विज़ुअल पोज़िशनिंग सिस्टम (वीपीए) को Gemini Live API की तर्क और ऑडियो क्षमताओं के साथ जोड़कर, कॉन्टेक्स्ट के हिसाब से काम करने वाले अनुभव बनाए जा सकते हैं. इससे, उपयोगकर्ता की जगह और पोज़िशन, दोनों को समझा जा सकता है. कल्पना करें कि आपने एआई की मदद से, पैदल चलने का एक इमर्सिव टूर बनाया है. इसमें आस-पास की जगहों के बारे में रीयल-टाइम में ऑडियो के ज़रिए जानकारी मिलती है. साथ ही, डिजिटल जानकारी को आस-पास के माहौल के साथ आसानी से जोड़ा जाता है.

आज ही से भविष्य की तैयारी शुरू करें

Android XR के लिए ऐप्लिकेशन बनाने का यह सबसे सही समय है. Jetpack XR SDK का बीटा वर्शन जल्द ही उपलब्ध होगा. साथ ही, आपके पास नए टूल का एक मज़बूत सेट होगा. इसलिए, यहां दी गई हर सुविधा को एक्सप्लोर करें, ताकि आपके ऐप्लिकेशन के अनुभव को एक्सआर के लिए तैयार किया जा सके!  

दस्तावेज़ पढ़ें, सैंपल एक्सप्लोर करें, और एक्सआर एक्सपेरिमेंट देखें

पूरी तकनीकी गाइड, एपीआई के रेफ़रंस, और नए एम्युलेटर को सेट अप करने के निर्देशों के लिए, Android Developers की आधिकारिक साइट पर जाएं. हमारे सैंपल और एक्सपेरिमेंट से प्रेरणा लें. देखें कि हमने इन एपीआई का इस्तेमाल करके, इमर्सिव स्पेशल लेआउट कैसे बनाए हैं, 3D मॉडल कैसे लोड किए हैं, स्पेशल ऑडियो को कैसे एक्सप्लोर किया है, और भी बहुत कुछ!

देखें कि गेम इंजन के लिए नया क्या है

हमने Unreal Engine और Godot के लिए, आधिकारिक तौर पर सहायता उपलब्ध कराई है. साथ ही, हमने दो नए टूल लॉन्च किए हैं. इनकी मदद से, Android XR के लिए Unity और Android XR Interaction Framework का इस्तेमाल करके, ऐप्लिकेशन को तेज़ी से डेवलप किया जा सकता है. आपके सुझाव/राय के आधार पर, हम Android XR Engine Hub लॉन्च कर रहे हैं. इससे आपको अपने पसंदीदा इंजन से सीधे तौर पर अनुभव चलाने की सुविधा मिलेगी.

Android XR Developer Catalyst Program के लिए आवेदन करना

Android XR के नए हार्डवेयर के लिए ऐप्लिकेशन बनाने का मौका न चूकें. रिलीज़ से पहले हार्डवेयर का ऐक्सेस पाने के लिए, आज ही आवेदन करें. इसमें हमारे ऑडियो और डिसप्ले ग्लास का प्रोटोटाइप और XREAL का प्रोजेक्ट ऑरा शामिल है.

ज़्यादा जानें और आज ही आवेदन करें

हम इस साल के आखिर तक, ज़्यादा Android XR डिवाइस लॉन्च करने की तैयारी कर रहे हैं. हमें उम्मीद है कि आप XR की शानदार सुविधाएं उपलब्ध कराएंगे!

इस सूचना और Google I/O 2026 के सभी अपडेट के बारे में जानने के लिए, io.google पर जाएं.

लेखक:
पढ़ना जारी रखें