{} {}

Jetpack SceneCore

نمودار صحنه Android XR را با محتوای سه بعدی بسازید و دستکاری کنید.
آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
12 دسامبر 2024 - - - 1.0.0-alpha01

اعلام وابستگی ها

برای افزودن وابستگی به XR SceneCore، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.

وابستگی‌های مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

dependencies {
    implementation "androidx.xr.scenecore:scenecore:1.0.0-alpha01"
    // 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-alpha01"
}

کاتلین

dependencies {
    implementation("androidx.xr.scenecore:scenecore:1.0.0-alpha01")
    // 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-alpha01")
}

برای اطلاعات بیشتر درباره وابستگی‌ها، به افزودن وابستگی‌های ساخت نگاه کنید.

بازخورد

بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.

یک شماره جدید ایجاد کنید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه 1.0

نسخه 1.0.0-alpha01

12 دسامبر 2024

androidx.xr.scenecore:scenecore-* 1.0.0-alpha01 منتشر شد.

ویژگی های Initial Release انتشار اولیه Jetpack SceneCore توسط توسعه دهندگان، یک کتابخانه نمودار صحنه سه بعدی برای ایجاد و دستکاری صحنه ها و محیط های غوطه ور. این کتابخانه به شما امکان می دهد مدل های سه بعدی و پنل های محتوا را نسبت به یکدیگر و محیط های مجازی یا دنیای واقعی خود قرار دهید و ترتیب دهید.

  • محیط فضایی : با یک تصویر skybox و/یا هندسه مدل سه بعدی به عنوان پس‌زمینه صحنه XR محیط خود، تجربیات کاملاً فراگیر ایجاد کنید. یا عبور را فعال کنید تا صحنه مجازی شما بتواند با محیط دنیای واقعی کاربر ادغام شود.
  • PanelEntity : با قرار دادن طرح‌بندی‌ها و فعالیت‌های استاندارد اندروید در پانل‌های فضایی که می‌توانند شناور شوند یا به سطوح واقعی متصل شوند، محتوای دو بعدی را به صحنه‌های سه بعدی خود اضافه کنید.
  • GltfModelEntity : قرار دادن، متحرک سازی و تعامل با مدل های سه بعدی در صحنه خود. SceneCore از فرمت فایل glTF برای سهولت ادغام با مدل های موجود پشتیبانی می کند.
  • SpatialAudio : منابع صوتی محیطی و نقطه‌ای را به صحنه سه‌بعدی خود اضافه کنید تا صدایی کاملاً فراگیر و فضایی.
  • StereoSurfaceEntity : SceneCore از مسیریابی چشم چپ/راست محتوای ارائه شده بر روی Surface اندروید پشتیبانی می کند. این می تواند برای ارائه محتوای استریوسکوپی در قالب کنار هم یا از بالا به پایین، مانند عکس های استریو، ویدیوهای سه بعدی یا سایر رابط های کاربری که به صورت پویا ارائه می شوند، استفاده شود. برنامه ها باید از MediaPlayer یا ExoPlayer برای رمزگشایی ویدیو استفاده کنند.
  • سیستم مؤلفه: SceneCore یک سیستم مؤلفه قوی و منعطف را برای افزودن قابلیت‌هایی به محتوای XR شما ارائه می‌کند، از جمله امکاناتی برای جابجایی، تغییر اندازه و تعامل با مدل‌ها و پانل‌ها برای کاربران.
  • Anchor : با فعال کردن گذر، می‌توانید پانل‌ها و مدل‌ها را به سطوح واقعی متصل کنید و به کاربران اجازه دهید محتوای مجازی را در محیط واقعی خود یکپارچه کنند.
  • موقعیت کاربر: به موقعیت مکانی کاربر در صحنه مجازی دسترسی پیدا کنید تا محتوای خود را حول موقعیت کاربر جهت دهید.
  • قابلیت‌های فضایی : برنامه‌های کاملاً تطبیقی ​​بسازید که در صورت در دسترس بودن از قابلیت‌های فضایی مانند موقعیت‌یابی سه‌بعدی محتوای UI استفاده می‌کنند. نه تنها این، بلکه برنامه شما می‌تواند تغییرات در قابلیت‌ها را در حین اجرای برنامه کنترل کند تا تجربه را بر اساس نحوه استفاده کاربر از دستگاه Android XR خود تغییر دهد.

مسائل شناخته شده

  • در حال حاضر برای استفاده از Jetpack SceneCore یک minSDK 30 مورد نیاز است. به عنوان یک راه حل، ورودی مانیفست زیر را اضافه کنید <uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/> تا بتوانید با minSDK 23 بسازید و اجرا کنید.
  • Session می‌تواند در موقعیت‌های مختلف که به طور خودکار فعالیت را دوباره ایجاد می‌کنند، نامعتبر شود، از جمله تغییر اندازه پانل اصلی، اتصال وسایل جانبی، و تغییر بین حالت روشن و تاریک. اگر با مشکلات عدم اعتبار جلسه مواجه شدید، راه‌حل‌ها عبارتند از غیرقابل تغییر اندازه پانل اصلی، استفاده از یک موجودیت پانل پویا، غیرفعال کردن بازآفرینی فعالیت برای تغییرات پیکربندی خاص یا غیرفعال کردن تغییرات تم حالت روشن/تاریک.
  • اجزای متحرک و قابل تغییر اندازه در GltfEntity پشتیبانی نمی شوند.
  • Entity.getSize() در GltfEntity پشتیبانی نمی شود.
  • برنامه‌های Jetpack XR برای درخواست مجوز android.permission.SCENE_UNDERSTANDING در AndroidManifest مورد نیاز است.
  • ایجاد یک جلسه فقط در دستگاه Android XR پشتیبانی می شود. در این زمان، اگر یک Session ایجاد کنید و سعی کنید از آن در دستگاه غیر Android XR استفاده کنید، یک RuntimeException دریافت خواهید کرد.
  • تنظیم skybox به تهی از طریق `SpatialEnvironment.setSpatialEnvironmentPreference() منجر به ایجاد یک skybox سیاه و سفید ثابت نمی شود. ممکن است منجر به skybox پیش فرض سیستم یا عدم تغییر در skybox فعلی شود.
  • مشتریان SceneCore باید implementation(“com.google.guava:listenablefuture-1.0”) به پیکربندی Gradle خود برای وابستگی های برنامه خود اضافه کنند. در نسخه‌های بعدی، منظره این کتابخانه را به‌عنوان یک وابستگی api در بر می‌گیرد، بنابراین مشتریان نیازی به اعلام صریح آن ندارند.
  • SceneCore به اشتباه com.google.guava:guava-31.1-android و com.google.protobuf:protobuf-javalite را به عنوان وابستگی های گذرا شامل می شود. اگر این منجر به خطاهای کلاس تکراری در ساخت شما شود، این دو وابستگی را می توان با خیال راحت حذف کرد.
  • اگر برنامه شما از SceneCore استفاده می کند و ProGuard را فعال می کند، هنگام ایجاد Session از کار می افتد. به عنوان یک راه حل، ProGuard را غیرفعال کنید. برای اطلاعات بیشتر در مورد نحوه فعال کردن ProGuard به این راهنما مراجعه کنید.