מכשירי XR רלוונטיים
ההנחיות האלה יעזרו לכם ליצור חוויות למכשירי XR מהסוגים הבאים.
SceneCoreEntity הוא רכיב Composable של מרחב משנה שמקשר בין הספריות Jetpack SceneCore ו-Compose for XR, כדי שתוכלו להשתמש בישויות שנוצרו באמצעות SceneCore בפריסות של Compose. כך אפשר ליצור ישויות ברמה נמוכה יותר ורכיבים בהתאמה אישית, ולאפשר ל-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. } }
מידע חשוב על הקוד
- בלוק המפעל: בבלוק המפעל אתם מאתחלים את הישות
SurfaceEntityהבסיסית מ-SceneCore. - בלוק עדכון: משתמשים בבלוק העדכון כדי לשנות את המאפיינים של הישות בתגובה לשינויים במצב של Compose.
- התאמת הגודל: ה-
sizeAdapterמעביר את המידות של הישות בחזרה למערכת הפריסה של Compose.
מידע נוסף
- במאמר הוספת מודלים תלת-ממדיים לאפליקציה מוסבר איך לטעון תוכן תלת-ממדי ב-
SceneCoreEntity.