Session, uygulamanız için uzamsallaştırılmış işlevlere yönelik birincil arayüzü sağlar. Uzamsallaştırılmış her Activity, bir Session örneği oluşturmalı ve tutmalıdır. Uygulamanız bir oturum oluşturduktan sonra, panel veya 3D model gibi uzamsallaştırılmış içerik öğeleri oluşturmak, uzamsal bir ortam ayarlamak, kullanıcı konumunu belirlemek ve içeriği gerçek dünyaya sabitlemek için Session arayüzlerini kullanabilir.
Jetpack Compose for XR'dan oturuma erişme
XR için Jetpack Compose kullanılırken oturum sizin için oluşturulur ve LocalSession.current kullanılarak erişilebilir. Aşağıdaki örneğe bakın:
@Composable fun ComposableUsingSession() { val session = LocalSession.current }
Jetpack XR Çalışma Zamanı'ndan bir oturuma erişme
Jetpack SceneCore kitaplığından uzamsallaştırılmış varlıklar oluşturuyorsanız oturum oluşturmanız gerekir.
Oturum oluşturmak için create() yöntemine bir Context iletin. Bu Context, etkileyici XR cihazlarında veya mobil cihazlarda Activity ya da akıllı gözlüklerde yansıtılan bağlam olabilir.
ARCore oturumu oluşturmak, yüksek maliyetli bir görev olabilir ve aşağıdaki örnekte gösterildiği gibi arka planda işlenmelidir:
lifecycleScope.launch { when (val result = Session.create(context)) { is SessionCreateSuccess -> { val xrSession = result.session // ... } else -> TODO(/* A different unhandled exception was thrown. */) } }
create() işlevi, oturumun yaşam döngüsünün farklı bir LifecycleOwner tarafından yönetilmesine olanak tanıyan isteğe bağlı bir LifecycleOwner parametresi kullanabilir. LifecycleOwner, yaşam döngüsünü sağlanan bağlam kapsamında başlatıp sonlandırmalıdır. Aksi takdirde Session sızıntılara açık olabilir.
Aşağıdaki kaynakları da incelemenizi öneririz:
- Üç boyutlu özelliklerin kullanılabilirliğini kontrol etme
- HSM ve FSM arasında geçiş
- Uygulamanıza uzamsal ortamlar ekleme
- Uygulamanıza 3D modeller ekleme