این راهنما به شما نشان می دهد که چگونه از افزونه Google Cardboard XR برای Unity for Unity برای ایجاد تجربیات واقعیت مجازی (VR) خود استفاده کنید.
می توانید از Cardboard SDK برای تبدیل تلفن همراه به یک پلت فرم VR استفاده کنید. یک دستگاه تلفن همراه میتواند صحنههای سهبعدی را با رندر استریوسکوپی نمایش دهد، حرکات سر را ردیابی کند و به آن واکنش نشان دهد، و با تشخیص زمانی که کاربر دکمه بیننده را فشار میدهد، با برنامهها تعامل داشته باشد.
برای شروع، از HelloCardboard ، یک بازی آزمایشی که ویژگیهای اصلی Cardboard SDK را نشان میدهد، استفاده خواهید کرد. در این بازی، کاربران برای یافتن و جمع آوری اشیاء به دنیای مجازی نگاه می کنند. به شما نشان می دهد که چگونه:
- محیط توسعه خود را تنظیم کنید
- برنامه دمو را دانلود و بسازید
- کد QR یک نمایشگر Cardboard را اسکن کنید تا پارامترهای آن ذخیره شود
- ردیابی حرکات سر کاربر
- با تنظیم اعوجاج صحیح برای هر چشم، تصاویر استریوسکوپی را ارائه دهید
- حالت VR را روشن و خاموش کنید
محیط توسعه خود را تنظیم کنید
نرم افزار مورد نیاز:
- Unity 2021.3.44f1 یا جدیدتر
- در حین نصب، حتماً پشتیبانی از ساخت اندروید و iOS را لحاظ کنید.
- حتماً پچ نسخه 44f1 یا بالاتر را نصب کنید.
- Git باید نصب شده باشد و فایل اجرایی
git
باید روی متغیر محیطیPATH
باشد. برای جزئیات بیشتر به اسناد پشتیبانی git مدیر بسته Unity مراجعه کنید.
SDK را وارد کنید و یک پروژه جدید ایجاد کنید
این مراحل را برای وارد کردن Unity SDK و ایجاد یک پروژه جدید دنبال کنید.
- Unity را باز کنید و یک پروژه سه بعدی جدید ایجاد کنید.
- در Unity، به Window > Package Manager بروید.
- روی + کلیک کنید و Add package from git URL را انتخاب کنید.
-
https://github.com/googlevr/cardboard-xr-plugin.git
در قسمت ورودی متن قرار دهید.
بسته باید به بسته های نصب شده اضافه شود. - به بسته Google Cardboard XR Plugin for Unity بروید. در بخش Samples ، Import into Project را انتخاب کنید.
داراییهای نمونه باید درAssets/Samples/Google Cardboard/<version>/Hello Cardboard
بارگیری شوند.
صحنه HelloCardboard را پیکربندی کنید
- به
Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes
بروید، Add Open Scenes را انتخاب کنید و HelloCardboard را برای باز کردن صحنه نمونه انتخاب کنید. - منوی لایه ها را باز کرده و Edit Layers... را انتخاب کنید.
- یک لایه جدید به نام "Interactive" تعریف کنید.
- روی Treasure GameObject کلیک کنید تا پنجره Inspector باز شود. لایه آن را روی "Interactive" تنظیم کنید. اگر یک پنجره پاپ آپ ظاهر می شود که از شما می پرسد آیا می خواهید لایه را برای همه اشیاء فرزند نیز روی Interactive تنظیم کنید، روی "Yes, change children" کلیک کنید.
- روی Player > Camera > CardboardReticlePointer GameObject کلیک کنید تا پنجره Inspector باز شود. در اسکریپت "Cardboard reticle pointer"، "Interactive" را به عنوان ماسک لایه تعامل Reticle انتخاب کنید.
تنظیمات ساخت اندروید را پیکربندی کنید
به File > Build Settings بروید.
- Android را انتخاب کنید و Switch Platform را انتخاب کنید.
- Add Open Scenes را انتخاب کنید و HelloCardboard را انتخاب کنید.
تنظیمات پخش کننده
به ویرایش > تنظیمات پروژه... بروید.
تنظیمات Resolution و Presentation را پیکربندی کنید
Player > Resolution and Presentation را پیمایش کنید.
- جهت پیش فرض را روی Landscape Left یا Landscape Right قرار دهید.
- گام بهینه فریم را غیرفعال کنید.
تنظیمات دیگر را پیکربندی کنید
به Player > Other Settings بروید.
-
OpenGLES2
،OpenGLES3
، یاVulkan
یا هر ترکیبی از آنها را در Graphics API انتخاب کنید. -
Android 8.0 'Oreo' (API level 26)
یا بالاتر را در Minimum API Level انتخاب کنید. -
API level 33
یا بالاتر را در Target API Level انتخاب کنید. -
IL2CPP
در Scripting Backend انتخاب کنید. - معماری های مورد نظر را با انتخاب
ARMv7
،ARM64
یا هر دو در Target Architectures انتخاب کنید. -
Require
در دسترسی به اینترنت انتخاب کنید. -
Input System Package (New)
در Active Input Handling انتخاب کنید. - دامنه شرکت خود را در زیر نام بسته مشخص کنید.
- اگر
Vulkan
به عنوان Graphics API انتخاب شد:- کادر بررسی اعمال چرخش نمایشگر در هنگام رندر را در تنظیمات Vulkan پاک کنید.
- اگر نسخه Unity 2021.2 یا بالاتر است،
ETC2
در قالب فشرده سازی بافت انتخاب کنید.
- اگر نسخه Unity 2023.1 یا بالاتر است،
Activity
را انتخاب کنید وGameActivity
در Application Entry Point پاک کنید.
تنظیمات انتشار را پیکربندی کنید
به Player > Publishing Settings بروید.
- در بخش ساخت ،
Custom Main Gradle Template
وCustom Gradle Properties Template
انتخاب کنید. خطوط زیر را به بخش وابستگیهای
Assets/Plugins/Android/mainTemplate.gradle
اضافه کنید:implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.gms:play-services-vision:20.1.3' implementation 'com.google.android.material:material:1.12.0' implementation 'com.google.protobuf:protobuf-javalite:3.19.4'
خطوط زیر را به
Assets/Plugins/Android/gradleTemplate.properties
اضافه کنید:android.enableJetifier=true android.useAndroidX=true
تنظیمات مدیریت پلاگین XR را پیکربندی کنید
به XR Plug-in Management بروید.
-
Cardboard XR Plugin
در قسمت Plug-in Providers انتخاب کنید.
پروژه خود را بسازید
به File > Build Settings بروید.
- Build را انتخاب کنید یا دستگاهی را انتخاب کنید و Build and Run را انتخاب کنید.
تنظیمات پروژه iOS را پیکربندی کنید
به File > Build Settings بروید.
- iOS را انتخاب کنید و Switch Platform را انتخاب کنید.
- Add Open Scenes را انتخاب کنید و HelloCardboard را انتخاب کنید.
تنظیمات پخش کننده
به ویرایش > تنظیمات پروژه... بروید.
تنظیمات Resolution و Presentation را پیکربندی کنید
به Player > Resolution and Presentation بروید.
- جهت پیش فرض را روی Landscape Left یا Landscape Right قرار دهید.
تنظیمات دیگر را پیکربندی کنید
به Player > Other Settings بروید.
- در توضیحات استفاده از دوربین ، نوشتن
Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters).
. - در نسخه هدف حداقل iOS ،
12.0
را بنویسید. - دامنه شرکت خود را در زیر نام بسته مشخص کنید.
-
Top Edge
،Left Edge
وRight Edge
در حرکات Defer سیستم روی لبه ها علامت بزنید .
تنظیمات مدیریت پلاگین XR را پیکربندی کنید
به XR Plug-in Management بروید.
-
Cardboard XR Plugin
در قسمت Plug-in Providers انتخاب کنید.
پروژه خود را بسازید
به File > Build Settings بروید.
- Build یا Build and Run را انتخاب کنید.
مرکز جدید
Cardboard SDK به شما امکان می دهد ردیاب هد را با استفاده از Recenter()
دوباره تغییر دهید.
این مراحل را دنبال کنید تا با استفاده از برنامه نمونه آن را امتحان کنید:
- دستگاه را به موقعیتی که میخواهید مجدداً تغییر دهید حرکت دهید (از آن به عنوان حالت سر به جلو استفاده کنید).
- ماشه دستگاه Cardboard خود را حداقل سه ثانیه فعال نگه دارید.
- ماشه را رها کنید.
- ژست اولیه اکنون در جهتی است که دوربین به آن اشاره می کند.
حالت VR را روشن و خاموش کنید
Unity XR Plugin Management API به شما امکان می دهد حالت VR را برای افزونه Google Cardboard XR for Unity روشن یا خاموش کنید. مستندات کاربر نهایی و مثالهای استفاده در مستندات کاربر نهایی Unity موجود است.
صحنه VrMode در نمونه HelloCardboard یک استفاده اساسی از API فوق الذکر را نشان می دهد. در این صحنه می توان با زدن exit حالت VR را خاموش کرد ، و فقط با ضربه زدن روی هر نقطه از صفحه می توان دوباره آن را روشن کرد. VrModeController.cs را برای جزئیات در مورد نحوه انجام این کار بررسی کنید.
مراحل بعدی
- دستورالعمل های برندسازی Cardboard را مرور کنید.