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

Android XR SDK में हुए अपडेट: पेश है डेवलपर के लिए झलक 4

पांच मिनट में पढ़ें

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

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

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

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

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

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

Jetpack Projected लाइब्रेरी, ऐप्लिकेशन के अनुभव को फ़ोन से उपयोगकर्ता के फ़ील्ड ऑफ़ व्यू तक पहुंचाने में मदद करती है. हमने डिवाइस की उपलब्धता से जुड़ा एपीआई जोड़ा है. यह एपीआई,डिवाइस के पहने जाने की स्थिति और कनेक्टिविटी के सिग्नल को 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 डेवलपर की आधिकारिक साइट पर जाएं. हमारे सैंपल और एक्सपेरिमेंट से प्रेरणा लें. देखें कि हमने इन एपीआई का इस्तेमाल करके, इमर्सिव स्पेशल लेआउट कैसे बनाए हैं, 3D मॉडल कैसे लोड किए हैं, स्पेशल ऑडियो को कैसे एक्सप्लोर किया है, और अन्य काम कैसे किए हैं!

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

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

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

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

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

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

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

इसे लिखा है:

पढ़ना जारी रखें