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

این راهنما یک نمای کلی از توسعه با Unity برای Android XR ارائه می دهد. Android XR با ابزارها و ویژگی‌های آشنایی که از Unity انتظار داشتید کار می‌کند، و از آنجایی که پشتیبانی از Android XR یونیتی بر روی OpenXR ساخته شده است، بسیاری از ویژگی‌هایی که در OpenXR Overview توضیح داده شده‌اند در Unity نیز پشتیبانی می‌شوند.

این راهنما را دنبال کنید تا در مورد:

  • پشتیبانی یونیتی برای اندروید XR
    • مبانی Unity XR
    • توسعه و انتشار اپلیکیشن برای اندروید XR
    • بسته های یونیتی برای اندروید XR
      • Unity OpenXR: بسته Android XR
      • برنامه های افزودنی Android XR برای Unity
      • ویژگی ها و ملاحظات سازگاری
  • ورودی و تعامل

پشتیبانی یونیتی برای اندروید XR

وقتی برنامه‌های Unity را برای Android XR می‌سازید، می‌توانید از ابزارها و قابلیت‌های واقعیت ترکیبی در Unity 6 استفاده کنید. این شامل الگوهای واقعیت ترکیبی است که از جعبه ابزار تعامل XR ، بنیاد AR ، و پلاگین OpenXR استفاده می‌کنند تا به شما در شروع سریع کمک کنند. هنگام ساخت برنامه‌ها با Unity برای Android XR، خط لوله رندر جهانی (URP) را به عنوان خط لوله رندر و Vulkan را به‌عنوان API گرافیکی شما توصیه می‌کنیم. این ویژگی ها به شما این امکان را می دهد که از برخی از ویژگی های گرافیکی جدیدتر Unity که فقط با Vulkan پشتیبانی می شوند، استفاده کنید. برای اطلاعات بیشتر در مورد نحوه پیکربندی این تنظیمات ، راهنمای تنظیم پروژه را مرور کنید.

مبانی یونیتی XR

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

توسعه و انتشار اپلیکیشن برای اندروید

یونیتی مستندات عمیقی را برای توسعه، ساخت و انتشار برای Android ارائه می‌کند، موضوعاتی از جمله مجوزهای Android در یونیتی ، تنظیمات ساخت اندروید ، ساخت برنامه شما برای Android و تحویل به Google Play را پوشش می‌دهد.

بسته های یونیتی برای اندروید XR

دو بسته وجود دارد که از ساخت برنامه های Unity برای Android XR پشتیبانی می کند. هر دوی این بسته‌ها افزونه‌های ارائه‌دهنده XR هستند که می‌توانند از طریق بسته مدیریت پلاگین XR Unity فعال شوند. مدیر پلاگین XR تنظیمات پروژه را برای مدیریت و ارائه کمک در مورد بارگیری، مقداردهی اولیه، تنظیمات و پشتیبانی ساخت برای پلاگین های XR اضافه می کند. برای اینکه برنامه شما بتواند ویژگی های OpenXR را در زمان اجرا اجرا کند، پروژه باید این ویژگی ها را از طریق مدیر پلاگین فعال کند.

این تصویر نمونه ای را نشان می دهد که در آن می توانید این گروه های ویژگی را از طریق ویرایشگر Unity فعال کنید.

نمونه ای از صفحه مدیریت پلاگین unity xr

Unity OpenXR Android XR

بسته Unity OpenXR Android XR یک افزونه XR برای افزودن پشتیبانی از Android XR به یونیتی است. این افزونه XR اکثر پشتیبانی از Android XR را از Unity ارائه می‌کند و پشتیبانی دستگاه Android XR را برای پروژه‌های بنیاد AR فعال می‌کند. بنیاد AR برای توسعه دهندگانی طراحی شده است که می خواهند تجربیات واقعیت افزوده یا واقعیت ترکیبی ایجاد کنند. این رابط برای ویژگی های AR فراهم می کند، اما خود هیچ ویژگی را پیاده سازی نمی کند. بسته Unity OpenXR Android XR پیاده سازی را فراهم می کند. برای شروع کار با این بسته، راهنمای بسته را مشاهده کنید که حاوی راهنمای شروع کار است.

برنامه های افزودنی Android XR برای Unity

افزونه‌های Android XR برای Unity مکمل بسته Unity OpenXR Android XR است و شامل ویژگی‌های اضافی برای کمک به شما در ایجاد تجربیات همه‌جانبه است. می توان از آن به تنهایی یا همراه با بسته Unity OpenXR Android XR استفاده کرد.

برای شروع کار با این بسته، راهنمای راه‌اندازی پروژه یا شروع سریع برای وارد کردن برنامه‌های افزودنی Android XR برای Unity را دنبال کنید.

ویژگی ها و ملاحظات سازگاری

جدول زیر ویژگی های پشتیبانی شده توسط Unity OpenXR را شرح می دهد: بسته Android XR و Android XR Extensions for Unity، و می توان از آن برای تعیین اینکه کدام بسته شامل ویژگی های مورد نیاز شما و هرگونه ملاحظات سازگاری است استفاده کرد.

ویژگی

Unity OpenXR: رشته ویژگی Android XR

رشته ویژگی Android XR Extensions for Unity

موارد استفاده و رفتار مورد انتظار

جلسه AR

Android XR: جلسه AR

  • تنظیمات ویژگی عبارتند از Optimize Buffer Discards (Vulkan)

Android XR (برنامه‌های افزودنی): مدیریت جلسه

  • تنظیمات ویژگی عبارتند از Subsampling (Vulkan) و URP SpaceWarp (Vulkan)

برای استفاده از ویژگی‌های هر بسته، باید ویژگی AR Session را برای آن بسته فعال کنید. شما می توانید هر دو مجموعه ویژگی را به طور همزمان فعال کنید. ویژگی های فردی مطابق با تعارض ها رسیدگی می کنند.

ردیابی دستگاه

n/a

n/a

ردیابی دستگاه برای ردیابی موقعیت و چرخش دستگاه در فضای فیزیکی استفاده می شود. GameObject XR Origin به طور خودکار ردیابی دستگاه را کنترل می کند و ردیابی ها را از طریق مؤلفه XROrigin و سلسله مراتب GameObject با دوربین و TrackedPoseDriver به سیستم مختصات Unity تبدیل می کند.

دوربین

Android XR: دوربین AR

n/a

این ویژگی از تخمین نور و عبور تمام صفحه پشتیبانی می کند.

تشخیص هواپیما

Android XR: AR Plane

Android XR (برنامه های افزودنی): هواپیما

این دو ویژگی یکسان هستند. از یکی یا دیگری استفاده کنید Android XR (برنامه‌های افزودنی): Plane برای توسعه دهندگان گنجانده شده است تا توسعه دهندگان بتوانند از Android XR (برنامه‌های افزودنی) استفاده کنند: ویژگی‌های Object Tracking و Anchors مداوم بدون نیاز به وابستگی به بسته Unity OpenXR Android XR. در آینده، Android XR (برنامه‌های افزودنی): Plane به نفع Android XR حذف خواهد شد: AR Anchor.

ردیابی اشیا

n/a

Android XR (برنامه‌های افزودنی): ردیابی اشیا

این ویژگی برای شناسایی و ردیابی اشیاء در محیط فیزیکی که در ترکیب با کتابخانه اشیاء مرجع استفاده می شود، پشتیبانی می کند.

ردیابی چهره

Android XR: AR Face

  • فقط XR_ANDROID_avatar_eyes
  • بدون ردیابی چهره

اندروید XR: ردیابی چهره

  • XR_ANDROID_face_tracking

پشتیبانی از چشم‌های آواتار از طریق ویژگی Android XR: AR Face ارائه می‌شود. از طریق ویژگی Android XR: Face Tracking به حالات چهره کاربر دسترسی پیدا کنید. در صورت تمایل می توان از این دو ویژگی با هم استفاده کرد.

ری کست می کند

Android XR: AR Raycast

  • لنگر هواپیما
  • لنگر عمقی

n/a

این ویژگی به شما امکان می دهد یک پرتو پرتاب کنید و تقاطع بین آن پرتو و صفحه قابل ردیابی یا ردیابی عمقی که در محیط فیزیکی شناسایی می شود را محاسبه کنید.

لنگرها

Android XR: AR Anchor

Android XR (برنامه‌های افزودنی): Anchor

  • تنظیمات ویژگی شامل ماندگاری است.

هر دو ویژگی شامل پشتیبانی از لنگرهای فضایی و لنگرهای صفحه است. از یک ویژگی یا ویژگی دیگر استفاده کنید. برای لنگرهای پایدار، از Android XR (برنامه‌های افزودنی): Anchor استفاده کنید. در آینده، Android XR (برنامه‌های افزودنی): Anchor حذف خواهد شد و همه ویژگی‌های Anchor در Android XR خواهند بود: AR Anchor.

انسداد

Android XR: AR Occlusion

  • عمق محیط

n/a

Occlusion به محتوای واقعیت ترکیبی در برنامه شما اجازه می دهد تا در پشت اشیاء در محیط فیزیکی پنهان یا تا حدی مبهم به نظر برسد.

معیارهای عملکرد

معیارهای عملکرد Android XR

n/a

از این ویژگی برای دسترسی به معیارهای عملکرد دستگاه‌های Android XR استفاده کنید.

لایه های ترکیب

پشتیبانی از لایه ترکیب (پلاگین OpenXR و لایه ترکیب XR مورد نیاز است)

Android XR: لایه ترکیب گذر

  • XR_ANDROID_composition_layer_passthrough_mesh

از پشتیبانی لایه ترکیبی Unity برای ایجاد لایه های ترکیبی اولیه (به عنوان مثال چهار، سیلندر، طرح ریزی) استفاده کنید. Android XR: Passthrough Composition Layer می تواند برای ایجاد یک لایه عبور با یک مش سفارشی استفاده شود که از GameObject Unity خوانده می شود.

Foveated Rendering

Foveated Rendering (پلاگین OpenXR مورد نیاز است)

  • پشتیبانی از رندر فوودار با ردیابی چشم: ناحیه وضوح بالاتر در مرکز جایی است که کاربر در حال حاضر به آن نگاه می کند و این امر برای کاربر کمتر آشکار می شود.

Foveation (میراث)

رندر Foveated با کاهش وضوح نواحی در دید محیطی کاربر، سرعت رندر را افزایش می دهد. ویژگی رندر فووید یونیتی فقط برای برنامه هایی که از URP و Vulkan استفاده می کنند پشتیبانی می شود. ویژگی Foveation (Legacy) در افزونه‌های Android XR برای Unity همچنین از خط لوله رندر داخلی و OpenGL ES پشتیبانی می‌کند. توصیه می کنیم در صورت امکان از ویژگی رندر فووید Unity استفاده کنید و توجه داشته باشید که URP و Vulkan هنگام ساخت برای Android XR توصیه می شوند.

فضای مرجع نامحدود

n/a

Android XR: فضای مرجع نامحدود

این ویژگی حالت مبدا ردیابی XRInputSubsystem را روی Unbounded تنظیم می کند. نامحدود نشان می دهد که XRInputSubsystem تمام دستگاه های ورودی را در ارتباط با یک لنگر جهانی ردیابی می کند که می تواند تغییر کند.

حالت ترکیبی محیطی

n/a

حالت ترکیبی محیطی

این ویژگی به شما امکان می‌دهد حالت ترکیبی محیط XR را تنظیم کنید، که نحوه ترکیب تصاویر مجازی با محیط واقعی را در هنگام فعال کردن عبور کنترل می‌کند.

ورودی و تعامل

Android XR از ورودی طبیعی چند وجهی پشتیبانی می کند.

علاوه بر ردیابی دست و چشم، تجهیزات جانبی مانند کنترلرهای 6DoF، ماوس و صفحه کلید فیزیکی نیز پشتیبانی می شود. این بدان معناست که انتظار می‌رود برنامه‌های اندروید XR از تعامل دستی پشتیبانی کنند و نمی‌توان تصور کرد که همه دستگاه‌ها دارای کنترلر هستند.

پروفایل های تعامل

Unity از نمایه تعامل برای مدیریت نحوه ارتباط برنامه XR شما با دستگاه ها و پلتفرم های مختلف XR استفاده می کند. این پروفایل‌ها ورودی‌ها و خروجی‌های مورد انتظار را برای پیکربندی‌های سخت‌افزاری مختلف ایجاد می‌کنند و از سازگاری و عملکرد سازگار در طیف وسیعی از پلتفرم‌ها اطمینان می‌دهند. با فعال کردن نمایه‌های تعامل، می‌توانید اطمینان حاصل کنید که برنامه XR شما با دستگاه‌های مختلف به درستی کار می‌کند، نقشه ورودی ثابت را حفظ می‌کند و به ویژگی‌های خاص XR دسترسی دارد. برای تنظیم نمایه تعامل:

  1. پنجره تنظیمات پروژه را باز کنید (منو: ویرایش > تنظیمات پروژه ).
  2. برای گسترش بخش افزونه (در صورت لزوم) روی XR Plug-in Management کلیک کنید.
  3. OpenXR را در لیست پلاگین های XR انتخاب کنید.
  4. در قسمت Interaction Profiles ، دکمه + را برای افزودن پروفایل انتخاب کنید.
  5. نمایه را برای افزودن از لیست انتخاب کنید.

تعامل دست

تعامل دستی ( XR_EXT_hand_interaction ) توسط پلاگین OpenXR ارائه شده است و شما می توانید طرح‌بندی دستگاه در سیستم ورودی Unity با فعال کردن نمایه تعامل دست . از این نمایه تعامل برای ورودی دستی که توسط چهار حالت عمل تعریف شده توسط OpenXR پشتیبانی می‌شود، استفاده کنید: "pinch"، "poke"، "aim" و "grip". اگر به تعامل دست یا قابلیت ردیابی دست اضافی نیاز دارید، به XR Hands در این صفحه مراجعه کنید.

تعامل بینایی چشم

تعامل نگرش چشم ( XR_EXT_eye_gaze_interaction ) توسط پلاگین OpenXR ارائه شده است، و شما می توانید از این طرح برای بازیابی داده های حالت چشم (موقعیت و چرخش) که افزونه برمی گرداند استفاده کنید. در راهنمای ورودی OpenXR درباره تعامل با نگاه چشم بیشتر بخوانید .

تعامل کنترلر

Android XR از Oculus Touch Controller Profile برای کنترلرهای 6DoF پشتیبانی می کند. هر دوی این پروفایل ها توسط پلاگین OpenXR ارائه شده اند.

تعامل ماوس

نمایه تعامل موس Android XR ( XR_ANDROID_mouse_interaction ) توسط افزونه‌های Android XR برای Unity ارائه شده است. این طرح‌بندی دستگاه <AndroidXRMouse> را در سیستم ورودی Unity نشان می‌دهد.

تعامل پوز کف دست

پلاگین OpenXR از تعامل Palm Pose ( XR_EXT_palm_pose ) پشتیبانی می‌کند، که طرح‌بندی <PalmPose> را در سیستم ورودی Unity نشان می‌دهد. قرار نیست حالت کف دست جایگزینی برای اکستنشن ها یا بسته هایی باشد که ردیابی دست را برای موارد استفاده پیچیده تر انجام می دهند. در عوض می توان از آن برای قرار دادن محتوای بصری خاص برنامه مانند تصاویری آواتار استفاده کرد. حالت کف دست شامل موقعیت و جهت کف دست است.

دست های XR

بسته XR Hands به شما امکان می‌دهد به داده‌های ردیابی دست ( XR_EXT_hand_tracking و XR_FB_hand_tracking_aim ) دسترسی داشته باشید و یک بسته‌بندی برای تبدیل داده‌های مفصل دست از ردیابی دست به حالت ورودی ارائه می‌دهد. برای استفاده از ویژگی های ارائه شده توسط بسته XR Hands، ویژگی های زیرسیستم ردیابی دست و Meta Hand Tracking Aim OpenXR را فعال کنید.

مثالی که نحوه فعال کردن ردیابی دست را نشان می دهد

بسته دستی XR می‌تواند مفید باشد اگر به ژست‌های دانه‌دار بیشتر یا داده‌های مفصل دست نیاز دارید یا زمانی که نیاز به کار با حرکات سفارشی دارید.

برای جزئیات بیشتر، به مستندات Unity برای راه اندازی XR Hands در پروژه خود مراجعه کنید

راهی برای دست دادن انتخاب کنید

Android XR از دو روش رندر دست پشتیبانی می‌کند: یک توری دستی و یک ویژوالایزر پیش ساخته.

توری دستی

بسته Android XR Unity حاوی یک ویژگی Hand Mesh است که دسترسی به XR_ANDROID_hand_mesh extension فراهم می کند. قابلیت Hand Mesh مش هایی را برای دستان کاربر فراهم می کند. مش عقربه شامل رئوس مثلث هایی است که هندسه عقربه را نشان می دهد. این ویژگی در نظر گرفته شده است که برای ارائه یک شبکه شخصی سازی شده هندسه واقعی دست های کاربر برای تجسم استفاده شود.

پیش ساخته XR Hands

بسته XR Hands شامل نمونه‌ای به نام Hands Visualizer است که شامل دست‌های چپ و راست کاملاً اصلاح‌شده برای نمایش دست‌های کاربر با زمینه مناسب است.

حرکات سیستمی

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

هنگامی که کاربر در حال تعامل با منوی ناوبری سیستم است، برنامه فقط به رویدادهای ردیابی سر پاسخ می دهد. بسته XR Hands می تواند تشخیص دهد که کاربر چه زمانی اقدامات خاصی مانند تعامل با این منوی ناوبری سیستم را انجام می دهد. بررسی AimFlags SystemGesture و DominantHand به شما اطلاع می دهد که این عملکرد سیستم چه زمانی انجام می شود. برای اطلاعات بیشتر در مورد AimFlags، به مستندات Enum MetaAimFlags Unity مراجعه کنید.

جعبه ابزار تعامل XR

بسته XR Interaction Toolkit یک سیستم تعاملی سطح بالا و مبتنی بر مؤلفه برای ایجاد تجربیات VR و AR است. این چارچوبی را فراهم می کند که تعاملات سه بعدی و رابط کاربری را از رویدادهای ورودی Unity در دسترس قرار می دهد. از وظایف تعاملی از جمله بازخورد لمسی، بازخورد بصری و حرکت پشتیبانی می کند.

،

این راهنما یک نمای کلی از توسعه با Unity برای Android XR ارائه می دهد. Android XR با ابزارها و ویژگی‌های آشنایی که از Unity انتظار داشتید کار می‌کند، و از آنجایی که پشتیبانی از Android XR یونیتی بر روی OpenXR ساخته شده است، بسیاری از ویژگی‌هایی که در OpenXR Overview توضیح داده شده‌اند در Unity نیز پشتیبانی می‌شوند.

این راهنما را دنبال کنید تا در مورد:

  • پشتیبانی یونیتی برای اندروید XR
    • مبانی Unity XR
    • توسعه و انتشار اپلیکیشن برای اندروید XR
    • بسته های یونیتی برای اندروید XR
      • Unity OpenXR: بسته Android XR
      • برنامه های افزودنی Android XR برای Unity
      • ویژگی ها و ملاحظات سازگاری
  • ورودی و تعامل

پشتیبانی یونیتی برای اندروید XR

وقتی برنامه‌های Unity را برای Android XR می‌سازید، می‌توانید از ابزارها و قابلیت‌های واقعیت ترکیبی در Unity 6 استفاده کنید. این شامل الگوهای واقعیت ترکیبی است که از جعبه ابزار تعامل XR ، بنیاد AR ، و پلاگین OpenXR استفاده می‌کنند تا به شما در شروع سریع کمک کنند. هنگام ساخت برنامه‌ها با Unity برای Android XR، خط لوله رندر جهانی (URP) را به عنوان خط لوله رندر و Vulkan را به‌عنوان API گرافیکی شما توصیه می‌کنیم. این ویژگی ها به شما این امکان را می دهد که از برخی از ویژگی های گرافیکی جدیدتر Unity که فقط با Vulkan پشتیبانی می شوند، استفاده کنید. برای اطلاعات بیشتر در مورد نحوه پیکربندی این تنظیمات ، راهنمای تنظیم پروژه را مرور کنید.

مبانی یونیتی XR

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

توسعه و انتشار اپلیکیشن برای اندروید

یونیتی مستندات عمیقی را برای توسعه، ساخت و انتشار برای Android ارائه می‌کند، موضوعاتی از جمله مجوزهای Android در یونیتی ، تنظیمات ساخت اندروید ، ساخت برنامه شما برای Android و تحویل به Google Play را پوشش می‌دهد.

بسته های یونیتی برای اندروید XR

دو بسته وجود دارد که از ساخت برنامه های Unity برای Android XR پشتیبانی می کند. هر دوی این بسته‌ها افزونه‌های ارائه‌دهنده XR هستند که می‌توانند از طریق بسته مدیریت پلاگین XR Unity فعال شوند. مدیر پلاگین XR تنظیمات پروژه را برای مدیریت و ارائه کمک در مورد بارگیری، مقداردهی اولیه، تنظیمات و پشتیبانی ساخت برای پلاگین های XR اضافه می کند. برای اینکه برنامه شما بتواند ویژگی های OpenXR را در زمان اجرا اجرا کند، پروژه باید این ویژگی ها را از طریق مدیر پلاگین فعال کند.

این تصویر نمونه ای را نشان می دهد که در آن می توانید این گروه های ویژگی را از طریق ویرایشگر Unity فعال کنید.

نمونه ای از صفحه مدیریت پلاگین unity xr

Unity OpenXR Android XR

بسته Unity OpenXR Android XR یک افزونه XR برای افزودن پشتیبانی از Android XR به یونیتی است. این افزونه XR اکثر پشتیبانی از Android XR را از Unity ارائه می‌کند و پشتیبانی دستگاه Android XR را برای پروژه‌های بنیاد AR فعال می‌کند. بنیاد AR برای توسعه دهندگانی طراحی شده است که می خواهند تجربیات واقعیت افزوده یا واقعیت ترکیبی ایجاد کنند. این رابط برای ویژگی های AR فراهم می کند، اما خود هیچ ویژگی را پیاده سازی نمی کند. بسته Unity OpenXR Android XR پیاده سازی را فراهم می کند. برای شروع کار با این بسته، راهنمای بسته را مشاهده کنید که حاوی راهنمای شروع کار است.

برنامه های افزودنی Android XR برای Unity

افزونه‌های Android XR برای Unity مکمل بسته Unity OpenXR Android XR است و شامل ویژگی‌های اضافی برای کمک به شما در ایجاد تجربیات همه‌جانبه است. می توان از آن به تنهایی یا همراه با بسته Unity OpenXR Android XR استفاده کرد.

برای شروع کار با این بسته، راهنمای راه‌اندازی پروژه یا شروع سریع برای وارد کردن برنامه‌های افزودنی Android XR برای Unity را دنبال کنید.

ویژگی ها و ملاحظات سازگاری

جدول زیر ویژگی های پشتیبانی شده توسط Unity OpenXR را شرح می دهد: بسته Android XR و Android XR Extensions for Unity، و می توان از آن برای تعیین اینکه کدام بسته شامل ویژگی های مورد نیاز شما و هرگونه ملاحظات سازگاری است استفاده کرد.

ویژگی

Unity OpenXR: رشته ویژگی Android XR

رشته ویژگی Android XR Extensions for Unity

موارد استفاده و رفتار مورد انتظار

جلسه AR

Android XR: جلسه AR

  • تنظیمات ویژگی عبارتند از Optimize Buffer Discards (Vulkan)

Android XR (برنامه‌های افزودنی): مدیریت جلسه

  • تنظیمات ویژگی عبارتند از Subsampling (Vulkan) و URP SpaceWarp (Vulkan)

برای استفاده از ویژگی‌های هر بسته، باید ویژگی AR Session را برای آن بسته فعال کنید. شما می توانید هر دو مجموعه ویژگی را به طور همزمان فعال کنید. ویژگی های فردی مطابق با تعارض ها رسیدگی می کنند.

ردیابی دستگاه

n/a

n/a

ردیابی دستگاه برای ردیابی موقعیت و چرخش دستگاه در فضای فیزیکی استفاده می شود. GameObject XR Origin به طور خودکار ردیابی دستگاه را کنترل می کند و ردیابی ها را از طریق مؤلفه XROrigin و سلسله مراتب GameObject با دوربین و TrackedPoseDriver به سیستم مختصات Unity تبدیل می کند.

دوربین

Android XR: دوربین AR

n/a

این ویژگی از تخمین نور و عبور تمام صفحه پشتیبانی می کند.

تشخیص هواپیما

Android XR: AR Plane

Android XR (برنامه های افزودنی): هواپیما

این دو ویژگی یکسان هستند. از یکی یا دیگری استفاده کنید Android XR (برنامه‌های افزودنی): Plane برای توسعه دهندگان گنجانده شده است تا توسعه دهندگان بتوانند از Android XR (برنامه‌های افزودنی) استفاده کنند: ویژگی‌های Object Tracking و Anchors مداوم بدون نیاز به وابستگی به بسته Unity OpenXR Android XR. در آینده، Android XR (برنامه‌های افزودنی): Plane به نفع Android XR حذف خواهد شد: AR Anchor.

ردیابی اشیا

n/a

Android XR (برنامه‌های افزودنی): ردیابی اشیا

این ویژگی برای شناسایی و ردیابی اشیاء در محیط فیزیکی که در ترکیب با کتابخانه اشیاء مرجع استفاده می شود، پشتیبانی می کند.

ردیابی چهره

Android XR: AR Face

  • فقط XR_ANDROID_avatar_eyes
  • بدون ردیابی چهره

اندروید XR: ردیابی چهره

  • XR_ANDROID_face_tracking

پشتیبانی از چشم‌های آواتار از طریق ویژگی Android XR: AR Face ارائه می‌شود. از طریق ویژگی Android XR: Face Tracking به حالات چهره کاربر دسترسی پیدا کنید. در صورت تمایل می توان از این دو ویژگی با هم استفاده کرد.

ری کست می کند

Android XR: AR Raycast

  • لنگر هواپیما
  • لنگر عمقی

n/a

این ویژگی به شما امکان می دهد یک پرتو پرتاب کنید و تقاطع بین آن پرتو و صفحه قابل ردیابی یا ردیابی عمقی که در محیط فیزیکی شناسایی می شود را محاسبه کنید.

لنگرها

Android XR: AR Anchor

Android XR (برنامه‌های افزودنی): Anchor

  • تنظیمات ویژگی شامل ماندگاری است.

هر دو ویژگی شامل پشتیبانی از لنگرهای فضایی و لنگرهای صفحه است. از یک ویژگی یا ویژگی دیگر استفاده کنید. برای لنگرهای پایدار، از Android XR (برنامه‌های افزودنی): Anchor استفاده کنید. در آینده، Android XR (برنامه‌های افزودنی): Anchor حذف خواهد شد و همه ویژگی‌های Anchor در Android XR خواهند بود: AR Anchor.

انسداد

Android XR: AR Occlusion

  • عمق محیط

n/a

Occlusion به محتوای واقعیت ترکیبی در برنامه شما اجازه می دهد تا در پشت اشیاء در محیط فیزیکی پنهان یا تا حدی مبهم به نظر برسد.

معیارهای عملکرد

معیارهای عملکرد Android XR

n/a

از این ویژگی برای دسترسی به معیارهای عملکرد دستگاه‌های Android XR استفاده کنید.

لایه های ترکیب

پشتیبانی از لایه ترکیب (پلاگین OpenXR و لایه ترکیب XR مورد نیاز است)

Android XR: لایه ترکیب گذر

  • XR_ANDROID_composition_layer_passthrough_mesh

از پشتیبانی لایه ترکیبی Unity برای ایجاد لایه های ترکیبی اولیه (به عنوان مثال چهار، سیلندر، طرح ریزی) استفاده کنید. Android XR: Passthrough Composition Layer می تواند برای ایجاد یک لایه عبور با یک مش سفارشی استفاده شود که از GameObject Unity خوانده می شود.

Foveated Rendering

Foveated Rendering (پلاگین OpenXR مورد نیاز است)

  • پشتیبانی از رندر فوودار با ردیابی چشم: ناحیه وضوح بالاتر در مرکز جایی است که کاربر در حال حاضر به آن نگاه می کند و این امر برای کاربر کمتر آشکار می شود.

Foveation (میراث)

رندر Foveated با کاهش وضوح نواحی در دید محیطی کاربر، سرعت رندر را افزایش می دهد. ویژگی رندر فووید یونیتی فقط برای برنامه هایی که از URP و Vulkan استفاده می کنند پشتیبانی می شود. ویژگی Foveation (Legacy) در افزونه‌های Android XR برای Unity همچنین از خط لوله رندر داخلی و OpenGL ES پشتیبانی می‌کند. توصیه می کنیم در صورت امکان از ویژگی رندر فووید Unity استفاده کنید و توجه داشته باشید که URP و Vulkan هنگام ساخت برای Android XR توصیه می شوند.

فضای مرجع نامحدود

n/a

Android XR: فضای مرجع نامحدود

این ویژگی حالت مبدا ردیابی XRInputSubsystem را روی Unbounded تنظیم می کند. نامحدود نشان می دهد که XRInputSubsystem تمام دستگاه های ورودی را در ارتباط با یک لنگر جهانی ردیابی می کند که می تواند تغییر کند.

حالت ترکیبی محیطی

n/a

حالت ترکیبی محیطی

این ویژگی به شما امکان می‌دهد حالت ترکیبی محیط XR را تنظیم کنید، که نحوه ترکیب تصاویر مجازی با محیط واقعی را در هنگام فعال کردن عبور کنترل می‌کند.

ورودی و تعامل

Android XR از ورودی طبیعی چند وجهی پشتیبانی می کند.

علاوه بر ردیابی دست و چشم، تجهیزات جانبی مانند کنترلرهای 6DoF، ماوس و صفحه کلید فیزیکی نیز پشتیبانی می شود. این بدان معناست که انتظار می‌رود برنامه‌های اندروید XR از تعامل دستی پشتیبانی کنند و نمی‌توان تصور کرد که همه دستگاه‌ها دارای کنترلر هستند.

پروفایل های تعامل

Unity از نمایه تعامل برای مدیریت نحوه ارتباط برنامه XR شما با دستگاه ها و پلتفرم های مختلف XR استفاده می کند. این پروفایل‌ها ورودی‌ها و خروجی‌های مورد انتظار را برای پیکربندی‌های سخت‌افزاری مختلف ایجاد می‌کنند و از سازگاری و عملکرد سازگار در طیف وسیعی از پلتفرم‌ها اطمینان می‌دهند. با فعال کردن نمایه‌های تعامل، می‌توانید اطمینان حاصل کنید که برنامه XR شما با دستگاه‌های مختلف به درستی کار می‌کند، نقشه ورودی ثابت را حفظ می‌کند و به ویژگی‌های خاص XR دسترسی دارد. برای تنظیم نمایه تعامل:

  1. پنجره تنظیمات پروژه را باز کنید (منو: ویرایش > تنظیمات پروژه ).
  2. برای گسترش بخش افزونه (در صورت لزوم) روی XR Plug-in Management کلیک کنید.
  3. OpenXR را در لیست پلاگین های XR انتخاب کنید.
  4. در قسمت Interaction Profiles ، دکمه + را برای افزودن پروفایل انتخاب کنید.
  5. نمایه را برای افزودن از لیست انتخاب کنید.

تعامل دست

تعامل دستی ( XR_EXT_hand_interaction ) توسط پلاگین OpenXR ارائه شده است و شما می توانید طرح‌بندی دستگاه در سیستم ورودی Unity با فعال کردن نمایه تعامل دست . از این نمایه تعامل برای ورودی دستی که توسط چهار حالت عمل تعریف شده توسط OpenXR پشتیبانی می‌شود، استفاده کنید: "pinch"، "poke"، "aim" و "grip". اگر به تعامل دست یا قابلیت ردیابی دست اضافی نیاز دارید، به XR Hands در این صفحه مراجعه کنید.

تعامل بینایی چشم

تعامل نگرش چشم ( XR_EXT_eye_gaze_interaction ) توسط پلاگین OpenXR ارائه شده است، و شما می توانید از این طرح برای بازیابی داده های حالت چشم (موقعیت و چرخش) که افزونه برمی گرداند استفاده کنید. در راهنمای ورودی OpenXR درباره تعامل با نگاه چشم بیشتر بخوانید .

تعامل کنترلر

Android XR از Oculus Touch Controller Profile برای کنترلرهای 6DoF پشتیبانی می کند. هر دوی این پروفایل ها توسط پلاگین OpenXR ارائه شده اند.

تعامل ماوس

نمایه تعامل موس Android XR ( XR_ANDROID_mouse_interaction ) توسط افزونه‌های Android XR برای Unity ارائه شده است. این طرح‌بندی دستگاه <AndroidXRMouse> را در سیستم ورودی Unity نشان می‌دهد.

تعامل پوز کف دست

پلاگین OpenXR از تعامل Palm Pose ( XR_EXT_palm_pose ) پشتیبانی می‌کند، که طرح‌بندی <PalmPose> را در سیستم ورودی Unity نشان می‌دهد. قرار نیست حالت کف دست جایگزینی برای اکستنشن ها یا بسته هایی باشد که ردیابی دست را برای موارد استفاده پیچیده تر انجام می دهند. در عوض می توان از آن برای قرار دادن محتوای بصری خاص برنامه مانند تصاویری آواتار استفاده کرد. حالت کف دست شامل موقعیت و جهت کف دست است.

دست های XR

بسته XR Hands به شما امکان می‌دهد به داده‌های ردیابی دست ( XR_EXT_hand_tracking و XR_FB_hand_tracking_aim ) دسترسی داشته باشید و یک بسته‌بندی برای تبدیل داده‌های مفصل دست از ردیابی دست به حالت ورودی ارائه می‌دهد. برای استفاده از ویژگی های ارائه شده توسط بسته XR Hands، ویژگی های زیرسیستم ردیابی دست و Meta Hand Tracking Aim OpenXR را فعال کنید.

مثالی که نحوه فعال کردن ردیابی دست را نشان می دهد

بسته دستی XR می‌تواند مفید باشد اگر به ژست‌های دانه‌دار بیشتر یا داده‌های مفصل دست نیاز دارید یا زمانی که نیاز به کار با حرکات سفارشی دارید.

برای جزئیات بیشتر، به مستندات Unity برای راه اندازی XR Hands در پروژه خود مراجعه کنید

راهی برای دست دادن انتخاب کنید

Android XR از دو روش رندر دست پشتیبانی می‌کند: یک توری دستی و یک ویژوالایزر پیش ساخته.

توری دستی

بسته Android XR Unity حاوی یک ویژگی Hand Mesh است که دسترسی به XR_ANDROID_hand_mesh extension فراهم می کند. قابلیت Hand Mesh مش هایی را برای دستان کاربر فراهم می کند. مش عقربه شامل رئوس مثلث هایی است که هندسه عقربه را نشان می دهد. این ویژگی در نظر گرفته شده است که برای ارائه یک شبکه شخصی سازی شده هندسه واقعی دست های کاربر برای تجسم استفاده شود.

پیش ساخته XR Hands

بسته XR Hands شامل نمونه‌ای به نام Hands Visualizer است که شامل دست‌های چپ و راست کاملاً اصلاح‌شده برای نمایش دست‌های کاربر با زمینه مناسب است.

حرکات سیستمی

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

هنگامی که کاربر در حال تعامل با منوی ناوبری سیستم است، برنامه فقط به رویدادهای ردیابی سر پاسخ می دهد. بسته XR Hands می تواند تشخیص دهد که کاربر چه زمانی اقدامات خاصی مانند تعامل با این منوی ناوبری سیستم را انجام می دهد. بررسی AimFlags SystemGesture و DominantHand به شما اطلاع می دهد که این عملکرد سیستم چه زمانی انجام می شود. برای اطلاعات بیشتر در مورد AimFlags، به مستندات Enum MetaAimFlags Unity مراجعه کنید.

جعبه ابزار تعامل XR

بسته XR Interaction Toolkit یک سیستم تعاملی سطح بالا و مبتنی بر مؤلفه برای ایجاد تجربیات VR و AR است. این چارچوبی را فراهم می کند که تعاملات سه بعدی و رابط کاربری را از رویدادهای ورودی Unity در دسترس قرار می دهد. از وظایف تعاملی از جمله بازخورد لمسی، بازخورد بصری و حرکت پشتیبانی می کند.

،

این راهنما یک نمای کلی از توسعه با Unity برای Android XR ارائه می دهد. Android XR با ابزارها و ویژگی‌های آشنایی که از Unity انتظار داشتید کار می‌کند، و از آنجایی که پشتیبانی از Android XR یونیتی بر روی OpenXR ساخته شده است، بسیاری از ویژگی‌هایی که در OpenXR Overview توضیح داده شده‌اند در Unity نیز پشتیبانی می‌شوند.

این راهنما را دنبال کنید تا در مورد:

  • پشتیبانی یونیتی برای اندروید XR
    • مبانی Unity XR
    • توسعه و انتشار اپلیکیشن برای اندروید XR
    • بسته های یونیتی برای اندروید XR
      • Unity OpenXR: بسته Android XR
      • برنامه های افزودنی Android XR برای Unity
      • ویژگی ها و ملاحظات سازگاری
  • ورودی و تعامل

پشتیبانی یونیتی برای اندروید XR

وقتی برنامه‌های Unity را برای Android XR می‌سازید، می‌توانید از ابزارها و قابلیت‌های واقعیت ترکیبی در Unity 6 استفاده کنید. این شامل الگوهای واقعیت ترکیبی است که از جعبه ابزار تعامل XR ، بنیاد AR ، و پلاگین OpenXR استفاده می‌کنند تا به شما در شروع سریع کمک کنند. هنگام ساخت برنامه‌ها با Unity برای Android XR، خط لوله رندر جهانی (URP) را به عنوان خط لوله رندر و Vulkan را به‌عنوان API گرافیکی شما توصیه می‌کنیم. این ویژگی ها به شما این امکان را می دهد که از برخی از ویژگی های گرافیکی جدیدتر Unity که فقط با Vulkan پشتیبانی می شوند، استفاده کنید. برای اطلاعات بیشتر در مورد نحوه پیکربندی این تنظیمات ، راهنمای تنظیم پروژه را مرور کنید.

مبانی یونیتی XR

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

توسعه و انتشار اپلیکیشن برای اندروید

یونیتی مستندات عمیقی را برای توسعه، ساخت و انتشار برای Android ارائه می‌کند، موضوعاتی از جمله مجوزهای Android در یونیتی ، تنظیمات ساخت اندروید ، ساخت برنامه شما برای Android و تحویل به Google Play را پوشش می‌دهد.

بسته های یونیتی برای اندروید XR

دو بسته وجود دارد که از ساخت برنامه های Unity برای Android XR پشتیبانی می کند. هر دوی این بسته‌ها افزونه‌های ارائه‌دهنده XR هستند که می‌توانند از طریق بسته مدیریت پلاگین XR Unity فعال شوند. مدیر پلاگین XR تنظیمات پروژه را برای مدیریت و ارائه کمک در مورد بارگیری، مقداردهی اولیه، تنظیمات و پشتیبانی ساخت برای پلاگین های XR اضافه می کند. برای اینکه برنامه شما بتواند ویژگی های OpenXR را در زمان اجرا اجرا کند، پروژه باید این ویژگی ها را از طریق مدیر پلاگین فعال کند.

این تصویر نمونه ای را نشان می دهد که در آن می توانید این گروه های ویژگی را از طریق ویرایشگر Unity فعال کنید.

نمونه ای از صفحه مدیریت پلاگین unity xr

Unity OpenXR Android XR

بسته Unity OpenXR Android XR یک افزونه XR برای افزودن پشتیبانی از Android XR به یونیتی است. این افزونه XR اکثر پشتیبانی Android XR را برای وحدت فراهم می کند و پشتیبانی دستگاه Android XR را برای پروژه های بنیاد AR امکان پذیر می کند. بنیاد AR برای توسعه دهندگان طراحی شده است که می خواهند AR یا تجربیات واقعیت مختلط را ایجاد کنند. این رابط برای ویژگی های AR فراهم می کند ، اما هیچ ویژگی خود را پیاده سازی نمی کند. بسته Unity OpenXR Android XR اجرای آن را ارائه می دهد. برای شروع با این بسته ، کتابچه راهنمای بسته بندی ، که شامل یک راهنمای شروع کار است.

پسوندهای Android XR برای وحدت

پسوندهای Android XR For Unity بسته بندی Unity OpenXR Android XR را شامل می شود و شامل ویژگی های دیگری برای کمک به شما در ایجاد تجربیات همهجانبه است. می توان از آن به تنهایی یا همراه با بسته Unity OpenXR Android XR استفاده کرد.

برای شروع با این بسته ، راهنمای تنظیم پروژه ما یا QuickStart را برای وارد کردن پسوندهای Android XR برای وحدت دنبال کنید.

ویژگی ها و ملاحظات سازگاری

در جدول زیر ویژگی های پشتیبانی شده توسط Unity OpenXR: Android XR Package و Android XR Extensions for Unity توضیح داده شده است و می توان از آن برای تعیین اینکه کدام بسته شامل ویژگی های مورد نیاز شما و هرگونه ملاحظات سازگاری است ، استفاده کرد.

ویژگی

Unity OpenXR: رشته ویژگی Android XR

پسوندهای Android XR برای رشته ویژگی وحدت

از موارد و رفتار مورد انتظار استفاده کنید

جلسه

Android XR: جلسه AR

  • تنظیمات ویژگی شامل بهینه سازی بافر (Vulkan)

Android XR (برنامه های افزودنی): مدیریت جلسه

  • تنظیمات ویژگی شامل نمونه برداری (Vulkan) و URP Space -Warp (Vulkan)

برای استفاده از ویژگی های هر یک از بسته ها ، باید ویژگی AR Session را برای آن بسته فعال کنید. می توانید هر دو مجموعه ویژگی را همزمان فعال کنید. ویژگی های فردی بر این اساس درگیری ها را برطرف می کند.

ردیابی دستگاه

n/a

n/a

از ردیابی دستگاه برای ردیابی موقعیت و چرخش دستگاه در فضای فیزیکی استفاده می شود. XR Origin GameObject به طور خودکار ردیابی دستگاه را کنترل می کند و آهنگ های را به سیستم مختصات Unity از طریق اجزای Xrorigin و سلسله مراتب GameObject خود با یک دوربین و TrackedPosedRiver تبدیل می کند.

دوربین

Android XR: دوربین AR

n/a

این ویژگی پشتیبانی از تخمین نور و گذرگاه تمام صفحه را فراهم می کند.

تشخیص هواپیما

Android XR: هواپیمای AR

Android XR (برنامه های افزودنی): هواپیما

این دو ویژگی یکسان هستند. از یکی یا دیگری استفاده کنید Android XR (پسوند): هواپیما به گونه ای گنجانده شده است که توسعه دهندگان می توانند از Android XR (پسوندها) استفاده کنند: ردیابی شیء و ویژگی های لنگر مداوم بدون داشتن وابستگی به بسته Android XR Unity OpenXR. در آینده ، Android XR (پسوندها): هواپیما به نفع Android XR: AR Anchor حذف می شود.

ردیابی اشیا

n/a

Android XR (پسوند): ردیابی شیء

این ویژگی پشتیبانی از تشخیص و ردیابی اشیاء در محیط فیزیکی را که در ترکیب با یک کتابخانه شیء مرجع استفاده می شود ، فراهم می کند.

پیگیری صورت

Android XR: AR Face

  • فقط xr_android_avatar_eyes
  • بدون ردیابی صورت

Android XR: ردیابی صورت

  • xr_android_face_tracking

پشتیبانی آواتار از طریق ویژگی Android XR: AR Face ارائه می شود. از طریق ویژگی Android XR: Face Tracking به عبارات چهره کاربر دسترسی پیدا کنید. در صورت تمایل از این دو ویژگی می توان با هم استفاده کرد.

ری

Android XR: AR Raycast

  • لنگر هواپیما
  • لنگر عمق

n/a

این ویژگی به شما امکان می دهد تا یک پرتوی ریخته و تقاطع بین آن پرتوهای پرتو و هواپیما یا قابل استفاده های عمق را که در محیط فیزیکی شناسایی شده اند محاسبه کنید.

لنگرها

Android XR: AR Anchor

Android XR (پسوندها): لنگر

  • تنظیمات ویژگی شامل پایداری است.

هر دو ویژگی شامل پشتیبانی از لنگرگاه های مکانی و لنگرگاه های هواپیما است. از یک ویژگی یا دیگری استفاده کنید. برای لنگرهای مداوم ، از Android XR (پسوندها) استفاده کنید: لنگر. در آینده ، Android XR (پسوندها): لنگر برداشته می شود و تمام ویژگی های لنگر در Android XR: AR Anchor خواهد بود.

انسداد

Android XR: انسداد AR

  • عمق محیط

n/a

انسداد اجازه می دهد تا محتوای واقعیت مختلط در برنامه شما پنهان یا جزئی از پشت اشیاء در محیط فیزیکی ظاهر شود.

معیارهای عملکرد

معیارهای عملکرد Android XR

n/a

از این ویژگی برای دسترسی به معیارهای عملکرد برای دستگاه های Android XR استفاده کنید.

لایه های ترکیب

پشتیبانی لایه ترکیب (افزونه OpenXR و لایه ترکیب XR مورد نیاز است)

Android XR: لایه ترکیب Passthrough

  • xr_android_composition_layer_passthrough_mesh

برای ایجاد لایه های ترکیب اساسی از پشتیبانی لایه ترکیب وحدت استفاده کنید (به عنوان مثال چهار ، سیلندر ، طرح ریزی). Android XR: از لایه ترکیب Passthrough می توان برای ایجاد یک لایه گذر با مش سفارشی استفاده کرد و از GameObject Unity می خواند.

ارائه دهنده

رندر foveated (افزونه OpenXR لازم است)

  • پشتیبانی از رندر مبهم با ردیابی چشم: منطقه با وضوح بالاتر در جایی است که کاربر در حال حاضر به دنبال آن است که آن را برای کاربر کمتر آشکار کند

foveation (میراث)

ارائه رندر با کاهش وضوح مناطق در دید محیطی کاربر ، سرعت بخشیدن به رندر را فراهم می کند. ویژگی رندر Foveated Unity فقط برای برنامه هایی با استفاده از URP و Vulkan پشتیبانی می شود. ویژگی Foveation (Legacy) در برنامه های افزودنی Android XR For Unity همچنین از خط لوله رندر داخلی و OpenGL پشتیبانی می کند. توصیه می کنیم در صورت امکان از ویژگی رندر Foveated Unity استفاده کنید و توجه داشته باشید که URP و Vulkan هنگام ساخت Android XR توصیه می شوند.

فضای مرجع بدون مرز

n/a

Android XR: فضای مرجع بدون مرز

این ویژگی حالت Origin Tracking XRInputSubsystem را به صورت بی حد و حصر تنظیم می کند. بی حد و مرز نشان می دهد که XRInputSubsystem تمام ورودی های ورودی را در رابطه با یک لنگر جهانی ردیابی می کند ، که می تواند تغییر کند.

حالت ترکیب محیط

n/a

حالت ترکیب محیط

این ویژگی به شما امکان می دهد حالت XR Environment Mode را تنظیم کنید ، که کنترل می کند که چگونه تصاویر مجازی با محیط دنیای واقعی در هنگام فعال شدن Passthrough ترکیب می شود.

ورودی و تعامل

Android XR از ورودی طبیعی چند منظوره پشتیبانی می کند.

علاوه بر ردیابی دست و چشم ، لوازم جانبی مانند کنترل کننده های 6DOF ، موش و صفحه کلید فیزیکی نیز پشتیبانی می شوند. این بدان معنی است که برنامه های Android XR از تعامل دستی پشتیبانی می کنند و نمی توان فرض کرد که همه دستگاه ها با کنترل کننده همراه هستند.

پروفیل های تعامل

Unity از پروفایل تعامل برای مدیریت نحوه برقراری ارتباط برنامه XR شما با دستگاه ها و سیستم عامل های مختلف XR استفاده می کند. این پروفایل ها ورودی ها و خروجی های مورد انتظار را برای تنظیمات سخت افزاری مختلف ایجاد می کنند ، و از سازگاری و عملکرد مداوم در طیف وسیعی از سیستم عامل ها اطمینان می دهند. با فعال کردن پروفایل های تعامل ، می توانید اطمینان حاصل کنید که کاربرد XR شما به درستی با دستگاه های مختلف عملکرد دارد ، نقشه برداری ورودی مداوم را حفظ می کند و به ویژگی های خاص XR دسترسی دارد. برای تنظیم مشخصات تعامل:

  1. پنجره تنظیمات پروژه را باز کنید (منو: ویرایش> تنظیمات پروژه ).
  2. برای گسترش بخش افزونه (در صورت لزوم) روی مدیریت افزونه XR کلیک کنید.
  3. OpenXR را در لیست افزونه های XR انتخاب کنید.
  4. در بخش تعامل پروفایل ، دکمه + را برای اضافه کردن یک پروفایل انتخاب کنید.
  5. نمایه را برای افزودن از لیست انتخاب کنید.

تعامل دست

تعامل دستی ( XR_EXT_hand_interaction ) توسط افزونه OpenXR ارائه شده است ، و می توانید در معرض طرح دستگاه در سیستم ورودی وحدت با فعال کردن مشخصات تعامل دستی . از این پروفایل تعامل برای ورودی دستی پشتیبانی شده توسط چهار نمایش عملی تعریف شده توسط OpenXR استفاده کنید: "Pinch" ، "Poke" ، "AIM" و "Grip". اگر به تعامل اضافی دست یا قابلیت ردیابی دستی نیاز دارید ، در این صفحه به XR Hands مراجعه کنید.

تعامل چشم چشم

تعامل چشم Gaze ( XR_EXT_eye_gaze_interaction ) توسط افزونه OpenXR ارائه شده است ، و می توانید از این طرح برای بازیابی داده های Pose Eye (موقعیت و چرخش) استفاده کنید که پسوند باز می گردد. اطلاعات بیشتر در مورد تعامل Eye Gaze در راهنمای ورودی OpenXR را بخوانید .

تعامل کنترل کننده

Android XR از پروفایل کنترلر Oculus Touch برای کنترل کننده های 6DOF پشتیبانی می کند. هر دوی این پروفایل توسط افزونه OpenXR ارائه شده است.

تعامل موش

مشخصات تعامل ماوس Android XR ( XR_ANDROID_mouse_interaction ) توسط پسوندهای Android XR برای وحدت ارائه شده است. این یک طرح <AndroidXRMouse> در سیستم ورودی وحدت را در معرض دید قرار می دهد.

تعامل پوز نخل

افزونه OpenXR پشتیبانی از تعامل Palm Pose ( XR_EXT_palm_pose ) را فراهم می کند ، که طرح <PalmPose> را در سیستم ورودی وحدت قرار می دهد. Palm Pose به معنای جایگزینی برای پسوندها یا بسته هایی است که برای موارد استفاده پیچیده تر ردیابی دست را انجام می دهند. در عوض می توان از آن برای قرار دادن محتوای بصری خاص برنامه مانند تصاویر آواتار استفاده کرد. نخل حاوی هم از موقعیت نخل و هم جهت گیری تشکیل شده است.

دست های XR

بسته XR Hands به شما امکان می دهد تا به داده های ردیابی دستی ( XR_EXT_hand_tracking و XR_FB_hand_tracking_aim ) دسترسی پیدا کنید و یک بسته بندی را برای تبدیل داده های مشترک دستی از ردیابی دستی به قسمت های ورودی فراهم می کند. برای استفاده از ویژگی های ارائه شده توسط بسته XR Hands ، زیر سیستم ردیابی Hand Tracking و Tracking Hand Aim AIM OpenXR را فعال کنید.

مثال نشان می دهد که چگونه می توان ردیابی دستی را فعال کرد

بسته XR Hands در صورت نیاز به داده های دستی یا داده مشترک دستی یا در صورت نیاز به کار با حرکات سفارشی ، می تواند مفید باشد.

برای اطلاعات بیشتر ، به مستندات Unity برای تنظیم HANDS XR در پروژه خود مراجعه کنید

راهی برای ارائه دست انتخاب کنید

Android XR از دو روش ارائه دست پشتیبانی می کند: یک مش دستی و یک تصویرگر prefab.

مش

بسته Android XR Unity شامل یک ویژگی مش دستی است که دسترسی به XR_ANDROID_hand_mesh extension را فراهم می کند. ویژگی Hand Mesh مشی را برای دست کاربر فراهم می کند. مش دستی حاوی راس های مثلث است که نشان دهنده هندسه یک دست است. این ویژگی در نظر گرفته شده است تا یک مش شخصی سازی شده نشان دهنده هندسه واقعی دست کاربر برای تجسم باشد.

دستهای XR prefab

بسته XR Hands حاوی نمونه ای به نام Hands Hands Visualizer است که شامل دست های چپ و راست کاملاً سفت و سخت برای ارائه بازنمایی متناسب با متن از دست کاربر است.

حرکات سیستم

Android XR شامل یک ژست سیستم برای باز کردن منو برای بازگشت کاربران ، باز کردن پرتاب یا بررسی کلی از برنامه های در حال اجرا است. کاربر می تواند این منوی سیستم را با استفاده از یک خرج کردن غالب فعال کند.

هنگامی که کاربر در حال تعامل با منوی ناوبری سیستم است ، برنامه فقط به رویدادهای ردیابی سر پاسخ می دهد. بسته XR Hands می تواند هنگامی که کاربر اقدامات خاصی مانند تعامل با این منوی ناوبری سیستم را انجام می دهد ، تشخیص دهد. بررسی AIMFLAGS SystemGESTURE و DOMINANTHAND به شما اطلاع می دهد که این عمل سیستم انجام می شود. برای کسب اطلاعات بیشتر در مورد AIMFLAGS ، به مستندات Enum Enum Metaaimflags مراجعه کنید.

جعبه ابزار تعامل XR

بسته ابزار تعامل XR یک سیستم تعامل سطح بالا و مبتنی بر مؤلفه برای ایجاد تجربیات VR و AR است. این چارچوبی را فراهم می کند که باعث می شود تعامل سه بعدی و UI از رویدادهای ورودی وحدت در دسترس باشد. این وظایف تعامل از جمله بازخورد هاپتیک ، بازخورد بصری و تحرک را پشتیبانی می کند.