SceneCore की इकाइयां

इस्तेमाल किए जा सकने वाले XR डिवाइस
इन दिशा-निर्देशों से आपको इस तरह के एक्सआर डिवाइसों के लिए अनुभव तैयार करने में मदद मिलती है.
एक्सआर हेडसेट
वायर वाले एक्सआर स्मार्ट ग्लास

SceneCoreEntity एक सबस्पेस कंपोज़ेबल है, जो Jetpack SceneCore और Compose for XR लाइब्रेरी को जोड़ता है. इससे Compose लेआउट में, SceneCore की मदद से बनाई गई इकाइयों का इस्तेमाल किया जा सकता है. इससे आपको लोअर-लेवल की इकाइयां और कस्टम कॉम्पोनेंट बनाने में मदद मिलती है. साथ ही, Compose को उन इकाइयों का साइज़, पोज़िशन, रीपैरेंट, चाइल्ड जोड़ने, और मॉडिफ़ायर लागू करने की अनुमति मिलती है.

अपने लेआउट में इकाइयों को जोड़ने के लिए, SceneCore इकाई का इस्तेमाल करना

यहां दिए गए उदाहरण में, SceneCore इकाई का इस्तेमाल करके, अपने लेआउट में इकाइयों को जोड़ने का तरीका बताया गया है:

val virtualPixelDensity = session.scene.virtualPixelDensity

Subspace {
    SceneCoreEntity(
        modifier = SubspaceModifier.offset(x = 50.dp),
        factory = {
            SurfaceEntity.create(
                session = session,
                pose = Pose.Identity,
                stereoMode = SurfaceEntity.StereoMode.MONO
            )
        },
        update = { entity ->
            // Compose state changes may be applied to the SceneCore entity here.
            entity.stereoMode = SurfaceEntity.StereoMode.SIDE_BY_SIDE
        },
        sizeAdapter =
            object : SceneCoreEntitySizeAdapter<SurfaceEntity> {
                override fun onLayoutSizeChanged(
                    entity: SurfaceEntity,
                    size: IntVolumeSize
                ) {
                    val extents = FloatSize2d(
                        size.width.toFloat(),
                        size.height.toFloat()
                    )
                    entity.shape = SurfaceEntity.Shape.Quad(extents)
                }
            },
    ) {
        // Content here will be children of the SceneCoreEntity
        // in the scene graph.
    }
}

कोड के बारे में अहम बातें

  • फ़ैक्ट्री ब्लॉक: फ़ैक्ट्री ब्लॉक में, SceneCore से SurfaceEntity इकाई को शुरू किया जाता है.
  • अपडेट ब्लॉक: Compose की स्थिति में हुए बदलावों के जवाब में, इकाई की प्रॉपर्टी में बदलाव करने के लिए, अपडेट ब्लॉक का इस्तेमाल करें.
  • साइज़ अडैप्टेशन: sizeAdapter, Compose लेआउट सिस्टम को इकाई के डाइमेंशन की जानकारी वापस भेजता है.

अतिरिक्त जानकारी