{ } { }

জেটপ্যাক সিনকোর

3D সামগ্রী সহ Android XR দৃশ্য গ্রাফ তৈরি করুন এবং পরিচালনা করুন৷
সর্বশেষ আপডেট স্থিতিশীল রিলিজ প্রার্থী মুক্তি বিটা রিলিজ আলফা রিলিজ
7 মে, 2025 - - - 1.0.0-আলফা04

নির্ভরতা ঘোষণা করা

XR SceneCore-এ নির্ভরতা যোগ করতে, আপনাকে অবশ্যই আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে। আরও তথ্যের জন্য Google এর Maven সংগ্রহস্থল পড়ুন।

আপনার অ্যাপ বা মডিউলের জন্য build.gradle ফাইলে আপনার প্রয়োজনীয় আর্টিফ্যাক্টগুলির জন্য নির্ভরতা যোগ করুন:

গ্রোভি

dependencies {
    implementation "androidx.xr.scenecore:scenecore:1.0.0-alpha04"
    // Required for Java
    implementation "com.google.guava:listenablefuture:1.0"
    // Required for Kotlin
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.9.0"

    // Use to write unit tests
    testImplementation "androidx.xr.scenecore:scenecore-testing:1.0.0-alpha04"
}

কোটলিন

dependencies {
    implementation("androidx.xr.scenecore:scenecore:1.0.0-alpha04")
    // Required for Java
    implementation("com.google.guava:listenablefuture:1.0")
    // Required for Kotlin
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.9.0")

    // Use to write unit tests
    testImplementation("androidx.xr.scenecore:scenecore-testing:1.0.0-alpha04")
}

নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, বিল্ড নির্ভরতা যুক্ত করুন দেখুন।

প্রতিক্রিয়া

আপনার প্রতিক্রিয়া জেটপ্যাককে আরও ভাল করতে সাহায্য করে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরির উন্নতির জন্য ধারনা পান তাহলে আমাদের জানান। আপনি একটি নতুন তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি দেখুন৷ আপনি তারকা বোতামে ক্লিক করে একটি বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।

একটি নতুন সমস্যা তৈরি করুন

আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।

সংস্করণ 1.0

সংস্করণ 1.0.0-alpha04

7 মে, 2025

androidx.xr.scenecore:scenecore:1.0.0-alpha04 এবং androidx.xr.scenecore:scenecore-testing:1.0.0-alpha04 প্রকাশ করা হয়েছে। সংস্করণ 1.0.0-alpha04 এই কমিট ধারণ করে।

নতুন বৈশিষ্ট্য

  • ব্যাকহ্যান্ডলিং এখন এম্বেড করা কার্যকলাপ ছাড়াই প্যানেল সত্তাগুলিতে কাজ করবে। ব্যাকহ্যান্ডলিং কাজ করার জন্য আপনাকে অ্যান্ড্রয়েড ম্যানিফেস্টে android:enableOnBackInvokedCallback= "true" নির্দিষ্ট করতে হবে।
  • StereoSurfaceEntity এখন দুটি নতুন StereoMode মানগুলির মাধ্যমে MV-HEVC প্লেব্যাক সমর্থন করে: MULTIVIEW_LEFT_PRIMARY এবং MULTIVIEW_RIGHT_PRIMARY৷
  • PanelEntity.setSize এবং PanelEntity.getSize এখন প্যারেন্ট স্পেসে মাপ প্রদান করুন।
  • Entity.setPose , Entity.getPose , Entity.setScale , Entity.getScale , Entity.setAlpha এবং Entity.getAlpha এখন একটি নতুন প্যারাম relativeTo গ্রহণ করে, যা বিভিন্ন স্থানের সাপেক্ষে মান পেতে/সেট করার অনুমতি দেয়। সমর্থিত মানগুলি হল অভিভাবক, কার্যকলাপ এবং বাস্তব বিশ্বের স্থান, এবং এই প্যারামের জন্য ডিফল্ট মান হল অভিভাবক৷
  • স্থানিক দৃশ্যমানতা কলব্যাক এক্সটেনশন পদ্ধতিগুলি SessionExt.kt এ যুক্ত করা হয়েছে যখন দৃশ্যের বিষয়বস্তু ব্যবহারকারীর দেখার ক্ষেত্রের ভিতরে বা বাইরে চলে যায় তখন নিরীক্ষণ করতে।
  • SpatialAudioTracksetPointSourceParams যোগ করা হয়েছে, ট্র্যাক তৈরি হওয়ার পর প্যারামগুলি আপডেট করার অনুমতি দেয়।
  • Scenecore এপিআই-এর রেফারেন্স সহ একটি নতুন ক্লাস, সিন যোগ করা হয়েছে। সেশনের এক্সটেনশন প্রপার্টি হিসেবে দৃশ্য অ্যাক্সেসযোগ্য হবে। SessionExt এর ভিতরের ফাংশনগুলিকে দৃশ্যে সরানো হয়েছে তাই আমদানি সামঞ্জস্য করতে হবে; উদাহরণস্বরূপ, SessionExt.getScene(session)addSpatialCapababilitiesChangedListener বনাম SessionExt.addSpatialCapabilitiesChangedListener
  • ActivityPose.hitTestAsync যোগ করা হয়েছে, ভার্চুয়াল সামগ্রীর বিরুদ্ধে একটি hitTest সক্ষম করে৷
  • নতুন কম্পোনেন্ট টাইপ SpatialPointerComponent যোগ করা হয়েছে, ক্লায়েন্টদের পয়েন্টারের জন্য রেন্ডার করা আইকন নির্দিষ্ট করতে বা আইকনটি নিষ্ক্রিয় করার অনুমতি দেয়। এই উপাদানটি বর্তমানে শুধুমাত্র PanelEntity দৃষ্টান্তে সংযুক্ত করা যেতে পারে।
  • নতুন PanelEntity ফ্যাক্টরি পেশ করা হচ্ছে, যা মিটার বা পিক্সেলে প্যানেলের মাত্রা নেয়। পুরোনো PanelEntity ফ্যাক্টরি প্যানেল অপসারণের জন্য দুটি মাত্রা ধরনের প্যারাম গ্রহণ করছে।

এপিআই পরিবর্তন

  • সমস্ত Jetpack XR প্যাকেজের উপর RequiresApi(34) সীমাবদ্ধতা সরানো হয়েছে। এই বিধিনিষেধটি অপ্রয়োজনীয় ছিল কারণ Jetpack XR বর্তমানে শুধুমাত্র API স্তর 34+ সহ ডিভাইসগুলিতে উপলব্ধ। ( Iae0f8 )
  • Kotlin 2.0 এর সাথে রিলিজ করা প্রজেক্টের জন্য KGP 2.0.0 বা নতুন ব্যবহার করতে হবে ( Idb6b5 )
  • PermissionHelper ক্লাস সরানো হয়েছে।
  • PanelEntity.getPixelDensity বাতিল করা হয়েছে।
  • PanelEntity.setPixelDimensions এবং PanelEntity.getPixelDimension সরানো হয়েছে, setSizeInPixels এবং getSizeInPixels দ্বারা প্রতিস্থাপিত হয়েছে।
  • Entity.getActivitySpaceAlpha সরানো হয়েছে। Entity.getAlpha(Space.Activity) দিয়ে প্রতিস্থাপন করা যেতে পারে।
  • Entity.getWorldSpaceScale সরানো হয়েছে। Entity.getScale(Space.REAL\_WORLD) দিয়ে প্রতিস্থাপন করা যেতে পারে।
  • XR রানটাইমে সেশনের পক্ষে SceneCore এ সেশন ক্লাস মুছে ফেলা হয়েছে।
  • StereoSurfaceEntity নাম পরিবর্তন করে SurfaceEntity করা হয়েছে।
  • Entity.setSize এবং Entity.getSize সরানো হয়েছে, এবং একই পদ্ধতিগুলি PanelEntity এ যোগ করা হয়েছে।
  • PointSourceAttributes নাম পরিবর্তন করে PointSourceParams করা হয়েছে।
  • SpatializerConstants.SOURCE\_TYPE\_BYPASS এর নাম পরিবর্তন করে SpatializerConstants.SOURCE\_TYPE\_DEFAULT করা হয়েছে।
  • PointSourceParams সত্তা সর্বজনীন থেকে অভ্যন্তরীণ অ্যাক্সেসে পরিবর্তন করা হয়েছে৷
  • AnchorEntity.create এখন প্রয়োজন PlaneTrackingMode Session.configure() -এ কনফিগার করা।
  • SpatialUser API-এর এখন HeadTrackingMode প্রয়োজন Session.configure() -এ কনফিগার করা।
  • যখন ResizableComponent সংযুক্ত করা হয় না, তখন এটি ERROR-স্তরের লগের পরিবর্তে INFO-স্তরের লগ দেবে।
  • Fov ক্লাস এখন একটি নিয়মিত কোটলিন ক্লাস।
  • বিভক্ত Entity.kt প্রতিটি কংক্রিট সত্তা টাইপ তার নিজস্ব ফাইলে স্থাপন করুন।
  • একটি নতুন PanelEntity তৈরি করার সময়, বেশিরভাগ ভিউ একটি FrameLayout এ পুনরায় সাজানো হবে। এটি স্থানিক প্যানেলের সাথে LayoutInspector এর ব্যবহার সহজতর করে।
  • বর্তমানে ব্যবহৃত XrExtensions উদাহরণটি এখন প্ল্যাটফর্মের সাথে নিবন্ধিত হয়েছে, একটি সর্বোত্তম প্রচেষ্টার উপায়ে, অ্যাপ ডিবাগিংয়ে সহায়তা করার জন্য।

বাগ ফিক্স

  • MovableComponent এবং AnchorPlacement সহ একটি PanelEntity সরানো হলে ক্র্যাশ প্রতিরোধ করার জন্য একটি ফিক্স যোগ করা হয়েছিল
  • একটি সমস্যা সমাধান করা হয়েছে যেখানে ResizableComponent onResizeStart কলব্যাকে বাসি মাপ প্রদান করছে।
  • JxrPlatformAdapterAxr এর dispose() একাধিকবার কল করা হলে ক্র্যাশ স্থির করা হয়েছে।

সংস্করণ 1.0.0-alpha03

ফেব্রুয়ারী 26, 2025

androidx.xr.scenecore:scenecore:1.0.0-alpha03 এবং androidx.xr.scenecore:scenecore-testing:1.0.0-alpha03 প্রকাশ করা হয়েছে। সংস্করণ 1.0.0-alpha03-এ এই কমিট রয়েছে।

নতুন বৈশিষ্ট্য

  • প্রোগার্ড মিনিফিকেশন এখন জেটপ্যাক এক্সআর কোডের জন্য সমর্থিত

বাগ ফিক্স

  • Jetpack XR SceneCore ( I4f47e ) এর জন্য প্রোগার্ড মিনিফিকেশন সমর্থন করার জন্য অতিরিক্ত সংশোধন
  • সংক্ষিপ্ত ক্লায়েন্টদের জন্য AbstractMethodError প্রতিরোধ করতে Jetpack XR Scenecore ProGuard নিয়ম আপডেট করা হয়েছে। ( I91a01 )

সংস্করণ 1.0.0-alpha02

ফেব্রুয়ারি 12, 2025

androidx.xr.scenecore:scenecore:1.0.0-alpha02 এবং androidx.xr.scenecore:scenecore-testing:1.0.0-alpha02 প্রকাশ করা হয়েছে। সংস্করণ 1.0.0-alpha02-এ এই কমিট রয়েছে।

আসন্ন ব্রেকিং পরিবর্তন 1.0.0-alpha02 এর আগে তৈরি অ্যাপগুলিকে প্রভাবিত করে৷

  • ফ্যাক্টরি পদ্ধতিগুলি Session ক্লাস থেকে প্রতিটি স্বতন্ত্র প্রকারের একটি সহচর পদ্ধতিতে সরানো হয়েছে:
    • Session.createActivityPanelEntity(Dimensions, String, Activity, Pose) মুছে ফেলা হয়েছে এবং ActivityPanelEntity.create(Session, Dimensions, String, Pose) দিয়ে প্রতিস্থাপিত হয়েছে
    • Session.createAnchorEntity(Anchor) মুছে ফেলা হয়েছে এবং AnchorEntity.create(Session, Anchor) দিয়ে প্রতিস্থাপিত হয়েছে
    • Session.createAnchorEntity(Dimensions, Int, Int, Duration) মুছে ফেলা হয়েছে এবং AnchorEntity.create(Session, Dimensions, Int, Int, Duration) দিয়ে প্রতিস্থাপিত হয়েছে
    • Session.createEntity(String, Pose) মুছে ফেলা হয়েছে এবং ContentlessEntity.create(Session, String, Pose)
    • Session.createExrImageResource(String) মুছে ফেলা হয়েছে এবং ExrImage.create(Session, String) দিয়ে প্রতিস্থাপিত হয়েছে
    • Session.createGltfEntity(GltfModel, Pose) মুছে ফেলা হয়েছে এবং GltfModelEntity.create(Session, GltfModel, Pose) দিয়ে প্রতিস্থাপিত হয়েছে
    • Session.createGltfModelResource(String) মুছে ফেলা হয়েছে এবং GltfModel.create(Session, String) দিয়ে প্রতিস্থাপিত হয়েছে
    • Session.createInteractableComponent(Executor, InputEventListener) মুছে ফেলা হয়েছে এবং InteractableComponent.create(Session, Executor, InputEventListener) দিয়ে প্রতিস্থাপিত হয়েছে
    • Session.createMovableComponent(Boolean, Boolean, Set<AnchorPlacement>, Boolean) মুছে ফেলা হয়েছে এবং MovableComponent.create(Session, Boolean, Boolean, Set<AnchorPlacement>, Boolean) দিয়ে প্রতিস্থাপিত হয়েছে
    • Session.createPanelEntity(View, Dimensions, Dimensions, String, Pose) মুছে ফেলা হয়েছে এবং PanelEntity.create(Session, View, Dimensions, Dimensions, String, Pose) দিয়ে প্রতিস্থাপিত হয়েছে
    • Session.createResizableComponent(Dimensions, Dimensions) মুছে ফেলা হয়েছে এবং ResizableComponent.create(Session, Dimensions, Dimensions) দিয়ে প্রতিস্থাপিত হয়েছে
    • Session.createStereoSurfaceEntity(Int, Dimensions, Pose) মুছে ফেলা হয়েছে এবং StereoSurface.create(Session, Int, Dimensions, Pose) দিয়ে প্রতিস্থাপিত হয়েছে
  • নিম্নলিখিত অপপ্রচারিত পদ্ধতিগুলি সরানো হয়েছে:
    • Session.canEmbedActivityPanel(Activity) মুছে ফেলা হয়েছে। পরিবর্তে getSpatialCapabilities.hasCapabilility(SPATIAL_CAPABILITY_EMBED_ACTIVITY) ব্যবহার করুন।
    • Session.hasSpatialCapability(Int) মুছে ফেলা হয়েছে। এটিকে getSpatialCapabilities().hasCapability() ব্যবহার করার পক্ষে স্থানান্তরিত ক্ষমতার উপস্থিতি পরীক্ষা করার জন্য একটি আরও বিভক্ত উপায় হিসাবে প্রতিস্থাপন করা হয়েছে যেহেতু getSpatialCapabilities() একটি SpatialCapabilities অবজেক্ট প্রদান করে।
    • Session.requestFullSpaceMode() মুছে ফেলা হয়েছে এবং SpatialEnvironment.requestFullSpaceMode() দিয়ে প্রতিস্থাপিত হয়েছে
    • Session.requestHomeSpaceMode() মুছে ফেলা হয়েছে এবং SpatialEnvironment.requestHomeSpaceMode() দিয়ে প্রতিস্থাপিত হয়েছে
  • Session.setFullSpaceMode(Bundle) এবং Session.setFullSpaceModeWithEnvironmentInherited(Bundle) এক্সটেনশন ফাংশনে সরানো হয়েছে। বিকাশকারী ফাইলগুলিকে অ্যাক্সেসের জন্য নতুন আমদানি যোগ করতে হবে:
    • import androidx.xr.scenecore.setFullSpaceMode
    • import androidx.xr.scenecore.setFullSpaceModeWithEnvironmentInherited
  • Session.setPreferredAspectRatio(Activity, Float) একটি এক্সটেনশন ফাংশনে সরানো হয়েছে। বিকাশকারী ফাইলগুলিকে অ্যাক্সেসের জন্য নতুন আমদানি যোগ করতে হবে:
    • import androidx.xr.scenecore.setPreferredAspectRatio
  • Session.getEntitiesOfType(Class<out T>) এবং Session.getEntityForRtEntity(RtEntity) এক্সটেনশন ফাংশনে সরানো হয়েছে। বিকাশকারী ফাইলগুলিকে অ্যাক্সেসের জন্য নতুন আমদানি যোগ করতে হবে:
    • import androidx.xr.scenecore.getEntitiesOfType
    • import androidx.xr.scenecore.getEntityForRtEntity
  • Session.unpersistAnchor(Anchor) মুছে ফেলা হয়েছে
  • Session.createPersistedAnchorEntity(UUID) মুছে ফেলা হয়েছে

পরিচিত সমস্যা

  • PanelEntity.setCornerRadius() এবং ActivityPanelEntity.setCornerRadius() প্যানেলটি পরবর্তী স্থানান্তর না হওয়া পর্যন্ত কার্যকর নাও হতে পারে, প্যানেলটিকে তার বর্তমান অবস্থানে সরানোর মাধ্যমে এটি হ্রাস করা যেতে পারে
  • যখন ActivitySpaceBoundsChanged কল করা হয়, তখন কিছু ActivityPose সঠিকভাবে আপডেট নাও হতে পারে। ActivitySpace এ নিম্নলিখিত OnSpaceUpdated কলে এটি আপডেট করা হবে

ব্রেকিং এবং আচরণগত পরিবর্তন

  • PanelEntity এবং ActivityPanelEntity এর একটি ডিফল্ট কোণার ব্যাসার্ধ 32dp বা ছোট হবে যদি প্যানেলের প্রস্থ বা উচ্চতা 32dp-এর চেয়ে ছোট হয়

নতুন API এবং ক্ষমতা

  • StereoSurface.CanvasShape প্রবর্তন করে, যা ইমারসিভ মিডিয়া রেন্ডার করার জন্য Spherical এবং Hemispherical ক্যানভাস তৈরি করতে দেয়।
  • StereoSurfaceEntity.create() এখন একটি CanvasShape প্যারামিটার গ্রহণ করে। (এই প্যারামিটারটি বর্তমানে উপেক্ষা করা হয়েছে, তবে ভবিষ্যতের রিলিজে ব্যবহার করা হবে)
  • StereoSurfaceEntity.create() আর একটি Dimensions প্যারামিটার নেয় না। CanvasShape সেট করার মাধ্যমে অ্যাপ্লিকেশনগুলিকে ক্যানভাসের আকার নিয়ন্ত্রণ করা উচিত
  • StereoSurfaceEntity এর একটি CanvasShape সদস্য রয়েছে যা গতিশীলভাবে সেট করা যেতে পারে।
  • StereoSurfaceEntity.dimensions এখন শুধুমাত্র পঠনযোগ্য সম্পত্তি; অ্যাপ্লিকেশনের মাত্রা পরিবর্তন করতে CanvasShape সেট করা উচিত।
  • StereoSurfaceEntity এখন StereoMode নির্মাণের পরে পুনরায় সেট করার অনুমতি দেয়।

অন্যান্য পরিবর্তন

  • কম্পাইল-টাইম minSDK কমিয়ে 24 করা হয়েছে। সমস্ত Jetpack XR API-এর জন্য রানটাইমে API 34-এর প্রয়োজন অব্যাহত রয়েছে।
  • SceneCore এর সেশন ফ্যাক্টরি ( Session.create ) আর SCENE_UNDERSTANDING অনুমতি অর্জনের কোনো উদ্দেশ্য চালু করে না৷ পরিবর্তে, অ্যাঙ্কর তৈরি করার চেষ্টা করার আগে ক্লায়েন্ট অ্যাপ্লিকেশনটিকে অবশ্যই ব্যবহারকারীর কাছ থেকে স্পষ্টভাবে অনুমতির অনুরোধ করতে হবে। ব্যবহারকারীর অনুমতি না দিলে অ্যাঙ্কর তৈরি ব্যর্থ হবে।

বাগ ফিক্স

  • getActivitySpacePose() ActivitySpace স্কেলের জন্য অ্যাকাউন্টে স্থির করা হয়েছে সবসময় অ-স্কেল করা মিটার ফেরত না দিয়ে স্কেল করা মিটারে অনুবাদের মান ফিরিয়ে দিয়ে। যখন ActivitySpace উৎস বা গন্তব্যের সাথে জড়িত থাকে তখন transformPoseTo এখন সমন্বয় পরিবর্তনের গণনা করার জন্য সঠিক ইউনিট ব্যবহার করে।
  • স্কাইবক্সটি এখন একটি সম্পূর্ণ-কালো স্কাইবক্সে সেট করা হবে যখনই setSpatialEnvironmentPreference(new SpatialEnvironmentPreference(null, geom)) ব্যবহার করে একটি নাল স্কাইবক্স পছন্দ পাস করা হবে। সিস্টেম ডিফল্ট স্কাইবক্স এবং জ্যামিতিতে প্রত্যাবর্তন করতে, setSpatialEnvironmentPreference(null).

সংস্করণ 1.0.0-alpha01

ডিসেম্বর 12, 2024

androidx.xr.scenecore:scenecore-* 1.0.0-alpha01 প্রকাশিত হয়েছে।

প্রারম্ভিক রিলিজের বৈশিষ্ট্য জেটপ্যাক সিনকোরের প্রাথমিক বিকাশকারী রিলিজ, নিমজ্জিত দৃশ্য এবং পরিবেশ তৈরি এবং ম্যানিপুলেট করার জন্য একটি 3D দৃশ্য গ্রাফ লাইব্রেরি। এই লাইব্রেরি আপনাকে একে অপরের এবং আপনার ভার্চুয়াল বা বাস্তব-বিশ্বের পরিবেশের সাথে সম্পর্কিত 3D মডেল এবং সামগ্রী প্যানেল স্থাপন এবং সাজানোর অনুমতি দেয়।

  • স্থানিক পরিবেশ : আপনার পরিবেশের XR দৃশ্যের পটভূমি হিসাবে একটি স্কাইবক্স ইমেজ এবং/অথবা 3D মডেল জ্যামিতির সাথে সম্পূর্ণ নিমগ্ন অভিজ্ঞতা তৈরি করুন। অথবা পাসথ্রু সক্ষম করুন, যাতে আপনার ভার্চুয়াল দৃশ্য ব্যবহারকারীর বাস্তব-বিশ্বের পরিবেশের সাথে একীভূত হতে পারে।
  • PanelEntity : 2D কন্টেন্ট যোগ করুন আপনার 3D দৃশ্যে স্ট্যান্ডার্ড অ্যান্ড্রয়েড লেআউট এবং অ্যাক্টিভিটিগুলিকে স্থানিক প্যানেলে এম্বেড করে যা ভাসতে পারে বা বাস্তব-বিশ্বের পৃষ্ঠে নোঙ্গর করতে পারে।
  • GltfModelEntity : আপনার দৃশ্যে 3D মডেল রাখুন, অ্যানিমেট করুন এবং ইন্টারঅ্যাক্ট করুন। SceneCore বিদ্যমান মডেলগুলির সাথে একীকরণের সহজতার জন্য glTF ফাইল বিন্যাস সমর্থন করে।
  • স্থানিক অডিও : সম্পূর্ণ নিমজ্জিত, স্থানিক শব্দের জন্য আপনার 3D দৃশ্যে পরিবেষ্টিত এবং পয়েন্ট অডিও উত্স যোগ করুন।
  • StereoSurfaceEntity : SceneCore একটি Android সারফেসে রেন্ডার করা বিষয়বস্তুর বাম/ডান চোখের রাউটিং সমর্থন করে। এটি স্টেরিওস্কোপিক বিষয়বস্তুকে পাশে-পাশে বা টপ-বটম ফরম্যাটে রেন্ডার করতে ব্যবহার করা যেতে পারে, যেমন স্টেরিও ফটো, 3D ভিডিও বা অন্যান্য গতিশীলভাবে রেন্ডার করা UI। অ্যাপ্লিকেশন ভিডিও ডিকোডিং জন্য MediaPlayer বা ExoPlayer ব্যবহার করা উচিত.
  • কম্পোনেন্ট সিস্টেম: সিনকোর আপনার XR সামগ্রীতে সক্ষমতা যোগ করার জন্য একটি শক্তিশালী এবং নমনীয় উপাদান সিস্টেম অফার করে, যার মধ্যে ব্যবহারকারীদের মডেল এবং প্যানেলের সাথে সরানো, আকার পরিবর্তন করা এবং ইন্টারঅ্যাক্ট করার সুযোগ রয়েছে।
  • অ্যাঙ্কর : পাসথ্রু সক্ষম করে, আপনি প্যানেল এবং মডেলগুলিকে প্রকৃত পৃষ্ঠের সাথে সংযুক্ত করতে পারেন, ব্যবহারকারীদের তাদের বাস্তব-বিশ্বের পরিবেশে ভার্চুয়াল সামগ্রীর বিরামহীন একীকরণ প্রদান করে৷
  • ব্যবহারকারীর ভঙ্গি: ব্যবহারকারীর অবস্থানের চারপাশে আপনার বিষয়বস্তুকে অভিমুখী করতে ভার্চুয়াল দৃশ্যে ব্যবহারকারীর অবস্থান অ্যাক্সেস করুন।
  • স্থানিক সক্ষমতা : সম্পূর্ণরূপে অভিযোজিত অ্যাপ্লিকেশনগুলি তৈরি করুন যা উপলব্ধ থাকলে স্থানিক ক্ষমতার সুবিধা নেয়, যেমন UI সামগ্রীর 3D অবস্থান। শুধু তাই নয়, ব্যবহারকারী কীভাবে তাদের অ্যান্ড্রয়েড এক্সআর ডিভাইস ব্যবহার করছেন তার উপর ভিত্তি করে অভিজ্ঞতা পরিবর্তন করতে আপনার অ্যাপটি অ্যাপটি চালানোর সময় ক্ষমতার পরিবর্তনের জন্য নিরীক্ষণ করতে পারে।

পরিচিত সমস্যা

  • বর্তমানে Jetpack SceneCore ব্যবহার করার জন্য 30 এর একটি minSDK প্রয়োজন। একটি সমাধান হিসাবে 23 এর একটি minSDK দিয়ে তৈরি এবং চালানোর জন্য নিম্নলিখিত ম্যানিফেস্ট এন্ট্রি <uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/> যোগ করুন।
  • সেশনটি বিভিন্ন পরিস্থিতিতে অবৈধ হয়ে যেতে পারে যা স্বয়ংক্রিয়ভাবে একটি প্রধান প্যানেলের আকার পরিবর্তন করা, পেরিফেরাল সংযোগ করা এবং আলো এবং অন্ধকার মোডের মধ্যে পরিবর্তন সহ কার্যকলাপ পুনরায় তৈরি করে। আপনি যদি সেশনের অবৈধকরণের সমস্যার সম্মুখীন হন, তাহলে সমাধানের মধ্যে রয়েছে আপনাকে প্রধান প্যানেল অ-আকারযোগ্য করে তোলা, একটি গতিশীল প্যানেল সত্তা ব্যবহার করে, নির্দিষ্ট কনফিগার পরিবর্তনের জন্য কার্যকলাপ বিনোদন অক্ষম করা বা আলো/অন্ধকার মোড থিম পরিবর্তনগুলি অক্ষম করা।
  • GltfEntity-এ চলমান এবং পরিবর্তনযোগ্য উপাদান সমর্থিত নয়।
  • Entity.getSize() GltfEntity-এ সমর্থিত নয়।
  • Jetpack XR অ্যাপগুলিকে AndroidManifest-এ android.permission.SCENE_UNDERSTANDING অনুমতির অনুরোধ করতে হবে।
  • একটি সেশন তৈরি করা শুধুমাত্র একটি Android XR ডিভাইসে সমর্থিত। এই সময়ে, আপনি যদি একটি সেশন তৈরি করেন এবং এটি একটি নন-অ্যান্ড্রয়েড XR ডিভাইসে ব্যবহার করার চেষ্টা করেন, আপনি একটি RuntimeException পাবেন।
  • `SpatialEnvironment.setSpatialEnvironmentPreference() এর মাধ্যমে স্কাইবক্সটিকে নাল সেট করার ফলে নথিভুক্ত হিসাবে একটি কঠিন কালো স্কাইবক্স তৈরি হয় না। এর ফলে সিস্টেম ডিফল্ট স্কাইবক্স বা বর্তমান স্কাইবক্সে কোনো পরিবর্তন নাও হতে পারে।
  • SceneCore ক্লায়েন্টদের তাদের অ্যাপের নির্ভরতার জন্য তাদের Gradle কনফিগারেশনে implementation(“com.google.guava:listenablefuture-1.0”) যোগ করা উচিত। ভবিষ্যতের রিলিজে, সিনকোর এই লাইব্রেরিটিকে একটি api নির্ভরতা হিসাবে অন্তর্ভুক্ত করবে যাতে ক্লায়েন্টদের স্পষ্টভাবে এটি ঘোষণা করতে হবে না।
  • SceneCore ভুলভাবে com.google.guava:guava-31.1-android এবং com.google.protobuf:protobuf-javalite ট্রানজিটিভ নির্ভরতা হিসেবে অন্তর্ভুক্ত করে। যদি এর ফলে আপনার বিল্ডে ডুপ্লিকেট ক্লাস ত্রুটি হয়, তাহলে এই দুটি নির্ভরতা নিরাপদে বাদ দেওয়া যেতে পারে।
  • যদি আপনার অ্যাপ SceneCore ব্যবহার করে এবং ProGuard সক্ষম করে, আপনি একটি সেশন তৈরি করার সময় এটি ক্র্যাশ হয়ে যাবে। একটি সমাধান হিসাবে, ProGuard অক্ষম করুন। ProGuard কিভাবে সক্ষম করবেন সে সম্পর্কে আরও তথ্যের জন্য এই নির্দেশিকাটি দেখুন।