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

Android XR SDK के अपडेट: डेवलपर के लिए झलक 4 लॉन्च की गई

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

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

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

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

ऑडियो और डिसप्ले स्मार्ट ग्लास के लिए ऑगमेंटेड अनुभव बनाना

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

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

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 के एपीआई को बेहतर बनाया है. हमने पुराने 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,
    )

Compose for XR: नेटिव glTF सपोर्ट

अब हमारे पास SpatialGltfModel के साथ, Compose for XR में सीधे तौर पर नेटिव glTF सपोर्ट उपलब्ध है. 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 के लिए आधिकारिक तौर पर सपोर्ट जोड़ा है. साथ ही, हमने Unity और Android XR Interaction Framework की मदद से, Android XR के लिए डेवलपमेंट को तेज़ करने के लिए दो नए टूल लॉन्च किए हैं. इसके अलावा, आपकी राय के आधार पर, हम Android XR Engine Hub लॉन्च कर रहे हैं. इससे, अपने पसंदीदा इंजन से सीधे अपने अनुभव चलाए जा सकेंगे,

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

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

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

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

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

लेखक:

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