بستهابزار XR Interaction Toolkit در اصل یه مجموعه ابزارهای نرمافزاری است که توسط تیم توسعهی نرمافزاری شرکت یونیتی با نام Unity Technologies در حال توسعه میباشد. نسخه پیشنمایش اولیهی آن [0.0.3-preview] در اواسط سال ۲۰۱۹ منتشر شد و آخرین نسخهی آن که در زمان نوشتن این متن منتشر شده نسخهی [1.0.0-pre.2] است که تاریخ انتشار آن در وبسایت گیتهاب 20-01-2021 است. در حال حاضر این بستهابزار بر روی یونیتی نسخههای 2019.4 به بعد قابل نصب و بکارگیری است. این نکته را باید در نظر گرفت که این نرمافزار هنوز به صورت پیشنمایش است و نسخهی نهایی آن هنوز منتشر نشده است، به همین دلیل امکان استفاده تجاری از آن غیر منطقی به نظر میرسد. با این وجود اجرای پروژههای آزمایشی کمک زیادی به درک بهتر آن و شناسایی پتانسیلهای آن خواهد کرد، در ضمن بازخوردها و گزارشهایی که به طور پیوسته توسط کاربران به تیم توسعهی آن ارسال میشود امکان رفع خطاها و افزایش کارایی آن را در نسخهی نهایی افزایش خواهد داد.
اما اهمیت این بستهابزار برای تولیدکنندگان محتوای واقعیت مجازی و واقعیت افزوده چیست؟ شاید بتوان سادگی در اجرا را مهمترین ویژگی این بستهابزار دانست. اجرای تعاملهایی مانند انتخاب و گرفتن یک شئ در محیط تعاملی و یا نسبت دادن این تعاملها به کنترلکنندههای۱ مختلف سختافزاری که در دست کاربر قرار میگیرند و یا حتی امکان نسبت دادن آنها به دادههای ردگیری دست۲ و انگشتها بدون نیاز به کنترلکنندههای سختافزاری که در گذشته نیاز به دانش برنامهنویسی گستردهای داشت که عملا توسط شرکتهای بزرگ تولید محتوا انجام میشد و تیمهای کوچک و مستقل کمتر رغبتی به آن نشان میدادند.
امکان اجرای محتوای تعاملی تولید شده توسط آن بر روی چند بنسازه (پلتفرم)۳ هم از امکاناتی است که استفاده از آن را بسیار با اهمیت میسازد. در حال حاضر هر محتوایی در این حوزه تنها برای اجرا بر روی یک بنسازه هدفگذاری میشود. به این معنی که محتوای تولید شده بر پایهی بستهابزار SteamVR تنها بر روی هدست HTC Vive قابل اجراست هر چند بستهابزار SteamVR از سایر بنسازههای سختافزاری مثل Oculus Rift و Windows Mixed Reality هم پشتیبانی میکند ولی تولید برای هر کدام از آنها باید در ابتدا برنامهریزی شود و در نتیجه تهیهی نسخهی سازگار با بنسازهای متفاوت از آنچه محتوا مورد نظر بر روی آن توسعه پیدا کرده و نهایی شده است معمولا کار سادهای نیست. به همین دلیل میتوان بستهابزار XR Interaction Toolkit و البته افزونه (پلاگ-این) OpenXR را بهترین ترکیب برای تولید محتوا برای انواع “واقعیتها” دانست که میتوان بوسیلهی آنها تنها یک بار محتوای تعاملی را تولید و در نهایت بر روی تمام بنسازههای سختافزاری و نرمافزاری اجرا کرد. به عنوان نمونه شما با ساخت یک محتوای آموزشی تعاملی برای حوزهی پزشکی این امکان را خواهید داشت که آن را بر روی تمام هدستهایی که از شش جهت چرخش آزاد۴ سر کاربر پشتیبانی میکنند اجرا کنید و کار اضافی که برای این پشتیبانی باید انجام شود حداقل خواهد بود.
در نوشتهی جداگانهای به تشریح افزونهی OpenXR خواهیم پرداخت و اهمیت آن را در تولید محتوایی که برای اجرا بر روی چند بنسازهی سختافزاری هدفگذاری شده است را تشریح خواهیم کرد و نحوهی بکارگیری آن را در موتور یونیتی نشان خواهیم داد. در تصویر زیر موقعیت بستهابزار XR Interaction Toolkit در کل مجموعهی مدیریت تولید و اجرای محتوای تعاملی برای اِکسآر قابل مشاهده است.
در ویدئوی یوتیوب زیر تمام مراحل نصب و وارد کردن کنشگرها۵ جهت نسبت دادن به کنترلکنندههای دست راست و چپ نشان داده شده است. در نهایت خروجی آن را بر روی هدست آکیولوس کوئست۶ دو مشاهده خواهید کرد.
تمام مراحل انجام شده در ویدئوی یوتیوبی بالا را میتوانید به صورت یک پروژهی یونیتی از طریق این لینک در وبسایت گیتهاب دانلود کنید. در ضمن از طریق نرمافزار GitHub Desktop امکان Clone آن وجود دارد.
۱ Controllers
۲ Hand Tracking
۳ Cross-platform
۴ Six Degrees of Freedom (6DOF)
۵ Input Actions
۶ Oculus Quest
جالب بود کارهایی مثل باز کردن در و تله پورت رو هم میشه باهاش اجرا کرد؟
بله درسته اینها موارد مهمی هستند که ابزارهای لازم برای اجرای اونها در این بستهابزار جاسازی شده. سعی میکنم در نوشتههای بعدی به نحوهی اجرای اونها هم اشاره کنم.