این راهنما به شما نشان می دهد که چگونه از افزونه Google Cardboard XR برای Unity for Unity برای ایجاد تجربیات واقعیت مجازی (VR) خود استفاده کنید.
می توانید از Cardboard SDK برای تبدیل تلفن همراه به یک پلت فرم VR استفاده کنید. یک گوشی هوشمند میتواند صحنههای سه بعدی را با رندر استریوسکوپیک نمایش دهد، حرکات سر را ردیابی کند و به آن واکنش نشان دهد، و با تشخیص زمانی که کاربر دکمه بیننده را فشار میدهد، با برنامهها تعامل داشته باشد.
برای شروع، از HelloCardboard ، یک بازی آزمایشی که ویژگیهای اصلی Cardboard SDK را نشان میدهد، استفاده خواهید کرد. در این بازی، کاربران برای یافتن و جمع آوری اشیاء به دنیای مجازی نگاه می کنند. به شما نشان می دهد که چگونه:
- محیط توسعه خود را تنظیم کنید
- برنامه دمو را دانلود و بسازید
- کد QR یک نمایشگر Cardboard را اسکن کنید تا پارامترهای آن ذخیره شود
- ردیابی حرکات سر کاربر
- با تنظیم اعوجاج صحیح برای هر چشم، تصاویر استریوسکوپی را ارائه دهید
- حالت VR را روشن و خاموش کنید
محیط توسعه خود را تنظیم کنید
نرم افزار مورد نیاز:
- Unity 2021.3.32f1 یا جدیدتر
- در حین نصب، حتماً پشتیبانی از ساخت اندروید و iOS را لحاظ کنید.
- 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 باز شود. در اسکریپت "Carboard reticle pointer"، "Interactive" را به عنوان ماسک لایه تعامل Reticle انتخاب کنید.
پیکربندی تنظیمات پروژه اندروید
به File > Build Settings بروید.
- Android را انتخاب کنید و Switch Platform را انتخاب کنید.
- Add Open Scenes را انتخاب کنید و HelloCardboard را انتخاب کنید.
تنظیمات پخش کننده
قطعنامه و ارائه
به تنظیمات پروژه > پخش کننده > وضوح و ارائه بروید.
- جهت پیش فرض را روی Landscape Left یا Landscape Right قرار دهید.
- گام بهینه فریم را غیرفعال کنید.
تنظیمات دیگر
به تنظیمات پروژه > پخش کننده > تنظیمات دیگر بروید.
-
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
در دسترسی به اینترنت انتخاب کنید. - دامنه شرکت خود را در زیر نام بسته مشخص کنید.
- اگر
Vulkan
به عنوان Graphics API انتخاب شد:- تیک گزینه اعمال چرخش نمایشگر در هنگام رندر را در تنظیمات Vulkan بردارید.
- اگر نسخه Unity 2021.2 یا بالاتر است،
ETC2
را در قالب فشرده سازی بافت انتخاب کنید.
- اگر نسخه Unity 2023.1 یا بالاتر است،
Activity
انتخاب کنید وGameActivity
در Application Entry Point پاک کنید.
تنظیمات انتشار
به تنظیمات پروژه > پخش کننده > تنظیمات انتشار بروید.
- در بخش Build ،
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.6.1' implementation 'com.google.protobuf:protobuf-javalite:3.19.4'
خطوط زیر را به
Assets/Plugins/Android/gradleTemplate.properties
اضافه کنید:android.enableJetifier=true android.useAndroidX=true
تنظیمات مدیریت پلاگین XR
به تنظیمات پروژه > مدیریت افزونه XR بروید.
-
Cardboard XR Plugin
در قسمت Plug-in Providers انتخاب کنید.
پروژه خود را بسازید
به File > Build Settings بروید.
- Build را انتخاب کنید یا دستگاهی را انتخاب کنید و Build and Run را انتخاب کنید.
پیکربندی تنظیمات پروژه iOS
به File > Build Settings بروید.
- iOS را انتخاب کنید و Switch Platform را انتخاب کنید.
- Add Open Scenes را انتخاب کنید و HelloCardboard را انتخاب کنید.
تنظیمات پخش کننده
قطعنامه و ارائه
به تنظیمات پروژه > پخش کننده > وضوح و ارائه بروید.
- جهت پیش فرض را روی Landscape Left یا Landscape Right قرار دهید.
تنظیمات دیگر
به تنظیمات پروژه > پخش کننده > تنظیمات دیگر بروید.
- در توضیحات استفاده از دوربین ، نوشتن
Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters).
. - در نسخه هدف حداقل iOS ،
12.0
را بنویسید. - دامنه شرکت خود را در زیر نام بسته مشخص کنید.
تنظیمات مدیریت پلاگین XR
به تنظیمات پروژه > مدیریت افزونه XR بروید.
-
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 فوق الذکر را نشان می دهد. در این صحنه حالت VR را می توان با زدن exit خاموش کرد ، و فقط با ضربه زدن روی هر نقطه از صفحه می توان دوباره آن را روشن کرد. VrModeController.cs را برای جزئیات در مورد نحوه انجام این کار بررسی کنید.
مراحل بعدی
- دستورالعمل های برندسازی Cardboard را مرور کنید.