توسعه دادن با Unreal Engine برای Android XR

دستگاه‌های XR واجدشرایط
این راهنمایی به شما کمک می‌کند برای این نوع دستگاه‌های واقعیت گسترده تجربه بسازید.
هدست‌های واقعیت گسترده
عینک واقعیت گسترده سیمی

پشتیبانی Unreal Engine برای توسعه «واقعیت گسترده» براساس استاندارد OpenXR ساخته شده است، که تضمین می‌کند ویژگی‌های OpenXR پشتیبانی‌شده برای Android XR به‌طور بومی در Unreal پشتیبانی می‌شوند.

این راهنما را دنبال کنید تا درباره موارد زیر اطلاعات کسب کنید:

  • پشتیبانی Unreal Engine از Android XR
    • مبانی Unreal Engine XR
    • توسعه و انتشار برنامه‌ها برای Android XR
    • افزایه‌های Unreal Engine برای Android XR
    • دریافت پشتیبانی
  • ورودی و تعامل
  • افزونه‌های پشتیبانی‌شده

پشتیبانی Unreal Engine از Android XR

وقتی برنامه‌های Unreal را برای Android XR می‌سازید، می‌توانید از قابلیت‌های رایانش فضایی جدیدترین نسخه‌های Unreal Engine 5 بهره ببرید. Unreal Engine 5 از مشخصات اصلی OpenXR پشتیبانی می‌کند، درحالی‌که «افزونه‌های Android XR برای Unreal» از Android XR و سایر افزونه‌های خاص پشتیبانی می‌کند تا به شما کمک کند به‌سرعت شروع کنید.

مبانی Unreal Engine XR

اگر با Unreal یا توسعه XR آشنایی ندارید، می‌توانید به مستندات توسعه XR Unreal مراجعه کنید تا با مفاهیم و گردش‌های کاری پایه آشنا شوید. در اینجا چند حوزه کلیدی برای کاوش آورده شده است:

توسعه و انتشار برنامه‌ها برای Android

Unreal Engine اسناد جامعی برای توسعه، ساخت، و انتشار برای Android ارائه می‌دهد. این سند شامل مدیریت اجازه‌های Android در Engine، پیکربندی «تنظیمات ساخت Android» (ازطریق «تنظیمات پروژه» > «پلاتفرم‌ها» > Android)، و استفاده از Unreal Automation Tool (UAT) است.

علاوه‌براین، برای الزامات خاصی که برای برنامه‌های فضایی توزیع‌شده در «فروشگاه Google Play» اعمال می‌شود، به اسناد مربوط به بسته‌بندی و توزیع برنامه‌ها برای Android XR مراجعه کنید. مطمئن شوید که برنامه‌تان از رهنمودهای کیفیت برای تجربه‌های فراگیر نیز پیروی می‌کند تا تجربه کاربری یکپارچه و راحتی در Android XR ارائه دهد.

افزایه‌های Unreal Engine برای Android XR

دو افزایه اصلی وجود دارد که از ساختن برنامه‌های Unreal برای Android XR پشتیبانی می‌کند. این افزایه‌ها ازطریق منو «افزایه‌ها» (ویرایش > افزایه‌ها) مدیریت می‌شوند.

افزایه Android XR OpenXR

«افزونه Android XR OpenXR» میانای موتور اصلی است که پشتیبانی Android XR را به Unreal اضافه می‌کند. این برنامه افزونه‌های OpenXR را که برای ردیابی فضایی، درک محیطی، و ادراک لازم است پیاده‌سازی می‌کند. برای آشنایی با نحوه افزودن و پیکربندی این افزایه، به سند Unreal Engine OpenXR مراجعه کنید.

افزونه‌های Android XR برای Unreal

«افزونه‌های Android XR» برای Unreal (نسخه ۱.۱.۰، با پشتیبانی از Unreal Engine 5.6.x و 5.8.x) مکمل پشتیبانی پایه OpenXR است و شامل ویژگی‌های تکمیلی برای کمک به شما در ساختن تجربه‌های فراگیر مانند موجودیت‌های فضایی، پرتوتابی فضایی و عمقی، محو کردن لبه‌های نمای پورت، نقشه مکعبی تخمین نور، داده‌های پیشرفته مش دست، و بهینه‌سازی‌های سخت‌افزاری خاص می‌شود. برای آشنایی با نحوه وارد کردن و پیکربندی این بسته، شروع سریع افزونه‌های Android XR را دنبال کنید یا مرجع میانای برنامه‌سازی کاربردی افزونه‌های Android XR برای Unreal را کاوش کنید.

دریافت پشتیبانی

اگر با مشکلی مواجه شدید، برای دریافت راهنمایی به بخش پشتیبانی Unreal Engine در صفحه پشتیبانی ما مراجعه کنید.

ورودی و تعامل

ایجاد تجربه‌های فضایی تعاملی مستلزم نگاشت حرکات فیزیکی به کنش‌های دیجیتال است. Unreal Engine از سیستم Enhanced Input در ترکیب با OpenXR برای مدیریت کنترل‌کننده‌های حرکتی و ردیابی دست استفاده می‌کند. با راه‌اندازی «کنش‌های ورودی» و «زمینه‌های نگاشت ورودی»، می‌توانید تعاملات انعطاف‌پذیری مانند گرفتن، اشاره کردن، و پیمایش میانای کاربر ایجاد کنید که به‌طور یکپارچه در روش‌های ورودی مختلف Android XR کار می‌کنند.

برای راهنمای جامع درباره ساختن این مکانیک‌ها، به اسناد Unreal Engine درباره ساختن تجربه‌های تعاملی واقعیت گسترده مراجعه کنید.

Android XR از روش‌های تعامل خاص زیر در Unreal Engine پشتیبانی می‌کند:

نمایه‌های تعامل

می‌توانید نمایه‌های تعامل را در «تنظیمات پروژه» در بخش OpenXR پیکربندی کنید. این کار به برنامه شما اجازه می‌دهد نگاشت ورودی ثابتی را در کنترل‌کننده‌ها و روش‌های ردیابی مختلف حفظ کند.

تعامل با دست

تعامل با دست ازطریق افزونه OpenXR Hand Tracking ارائه می‌شود. می‌توانید ازطریق مؤلفه‌های «ردگیری واقعیت گسترده» در Blueprints یا C++‎ به داده‌های مفصل دست و ژست‌ها دسترسی پیدا کنید.

تعامل با نگاه چشم

داده‌های نگاه چشم را می‌توان به‌عنوان یک حالت ورودی استاندارد بازیابی کرد، که به شما امکان می‌دهد تمرکز واسط کاربر یا ویژگی‌های حضور اجتماعی را هدایت کنید. این کار به اجازه android.permission.EYE_TRACKING_FINE نیاز دارد.

ردیابی چهره

برای پویانمایی کردن چهرک‌ها یا هدایت تعامل‌های اجتماعی، به داده‌های هم‌زمان حالت چهره دسترسی پیدا کنید. این کار از افزونه XR_ANDROID_face_tracking استفاده می‌کند.

افزونه‌های پشتیبانی‌شده

افزونه‌های OpenXR زیر هنگام توسعه برای Android XR در Unreal پشتیبانی می‌شوند:

ویژگی یا قابلیت رشته افزونه OpenXR ارائه‌شده توسط:

پایداری لنگر دستگاه

XR_ANDROID_device_anchor_persistence

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

Raycast

XR_ANDROID_raycast

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

قابل‌ردیابی (صفحات/عمق)

XR_ANDROID_trackables

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

ردیابی شیء

XR_ANDROID_trackables_object

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

مش‌بندی صحنه

XR_ANDROID_scene_meshing

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

ردگیری چهره

XR_ANDROID_face_tracking

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

ردگیری چشم

XR_ANDROID_eye_tracking

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

وضعیت دوربین انتقالی

XR_ANDROID_passthrough_camera_state

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

لایه مشبک Passthrough

XR_ANDROID_composition_layer_passthrough_mesh

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

بافت عمق

XR_ANDROID_depth_texture

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

برآورد نور

XR_ANDROID_light_estimation

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

نقشه مکعبی تخمین نور

XR_ANDROID_light_estimation_cubemap

افزونه‌های Android XR برای Unreal (نسخه ۱.۱.۰)

سنجه‌های عملکرد

XR_ANDROID_performance_metrics

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

وضوح توصیه‌شده

XR_ANDROID_recommended_resolution

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

تعامل با دست

XR_EXT_hand_interaction

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

ابزارهای اشکال‌زدایی

XR_EXT_debug_utils

Unreal Native OpenXR

تنظیمات عملکرد

XR_EXT_performance_settings

Unreal Native OpenXR

نرخ بازآوری نمایشگر

XR_FB_display_refresh_rate

Unreal Native OpenXR

توری ردیابی دست

XR_FB_hand_tracking_mesh

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

Space Warp

XR_FB_space_warp

Unreal Native OpenXR

لایه ترکیب‌بندی Equirect2

XR_KHR_composition_layer_equirect2

Unreal Native OpenXR

تنظیمات Thread در Android

XR_KHR_android_thread_settings

Unreal Native OpenXR

کم‌نور کردن سراسری نمای بیرونی

XR_ANDROID_global_passthrough_dimming

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

System Extension Properties

XR_ANDROID_enumerate_system_extension_properties

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

نهادهای فضایی

XR_EXT_spatial_entity

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

ردیابی صفحه فضایی

XR_EXT_spatial_plane_tracking

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

ردیابی نشانگر فضایی

XR_EXT_spatial_marker_tracking

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

لنگرهای فضایی و پایداری

XR_EXT_spatial_anchor، XR_EXT_spatial_persistence

افزونه‌های Android XR برای Unreal (نسخه ۱.۰.۰)

محو کردن لبه‌های نمای دید

XR_ANDROID_viewport_feathering

افزونه‌های Android XR برای Unreal (نسخه ۱.۱.۰)

Spatial Discovery و Depth Raycast

XR_ANDROID_spatial_discovery_raycast

افزونه‌های Android XR برای Unreal (نسخه ۱.۱.۰)

افزونه‌ها توسط یکی از این منابع ارائه می‌شوند:

  • افزونه‌های Android XR برای Unreal: این‌ها افزونه‌های مختص Google (ANDROID) و افزونه‌های موجودیت فضایی (EXT) هستند که برای پلاتفرم Android XR توسعه یافته‌اند. برای استفاده از این قابلیت‌های فضایی، افزونه Android XR Extensions را در .uproject نصب و فعال کنید و برای استفاده از Blueprint و C++‎ به مرجع Android XR Extensions for Unreal API مراجعه کنید.
  • Unreal Native OpenXR: این ویژگی‌ها از افزونه‌های استاندارد Khronos (KHR)، Extension (EXT)، و Meta (FB) که قبلاً به‌طور مستقیم در افزونه اصلی OpenXR در Unreal Engine ادغام و نگهداری شده‌اند، استفاده می‌کنند.