شروع سریع برای Google Cardboard for Unity

این راهنما به شما نشان می دهد که چگونه از افزونه 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 و ایجاد یک پروژه جدید دنبال کنید.

  1. Unity را باز کنید و یک پروژه سه بعدی جدید ایجاد کنید.
  2. در Unity، به Window > Package Manager بروید.
  3. روی + کلیک کنید و Add package from git URL را انتخاب کنید.
  4. https://github.com/googlevr/cardboard-xr-plugin.git را در قسمت ورودی متن قرار دهید.
    بسته باید به بسته های نصب شده اضافه شود.
  5. به بسته Google Cardboard XR Plugin for Unity بروید. در بخش Samples ، Import into Project را انتخاب کنید.
    دارایی‌های نمونه باید در Assets/Samples/Google Cardboard/<version>/Hello Cardboard بارگیری شوند.

پیکربندی صحنه HelloCardboard

  1. به Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes بروید، Add Open Scenes را انتخاب کنید و HelloCardboard را برای باز کردن صحنه نمونه انتخاب کنید.
  2. منوی لایه ها را باز کرده و Edit Layers... را انتخاب کنید.
  3. یک لایه جدید به نام "Interactive" تعریف کنید.
  4. روی Treasure GameObject کلیک کنید تا پنجره Inspector باز شود. لایه آن را روی "Interactive" تنظیم کنید. اگر یک پنجره پاپ آپ ظاهر می شود که از شما می پرسد آیا می خواهید لایه را برای همه اشیاء فرزند نیز روی Interactive تنظیم کنید، روی "Yes, change children" کلیک کنید.
  5. روی Player > Camera > CardboardReticlePointer GameObject کلیک کنید تا پنجره Inspector باز شود. در اسکریپت "Carboard reticle pointer"، "Interactive" را به عنوان ماسک لایه تعامل Reticle انتخاب کنید.

پیکربندی تنظیمات پروژه اندروید

به File > Build Settings بروید.

  1. Android را انتخاب کنید و Switch Platform را انتخاب کنید.
  2. Add Open Scenes را انتخاب کنید و HelloCardboard را انتخاب کنید.

تنظیمات پخش کننده

قطعنامه و ارائه

به تنظیمات پروژه > پخش کننده > وضوح و ارائه بروید.

  1. جهت پیش فرض را روی Landscape Left یا Landscape Right قرار دهید.
  2. گام بهینه فریم را غیرفعال کنید.

تنظیمات دیگر

به تنظیمات پروژه > پخش کننده > تنظیمات دیگر بروید.

  1. OpenGLES2 ، OpenGLES3 ، یا Vulkan یا هر ترکیبی از آنها را در Graphics API انتخاب کنید.
  2. Android 8.0 'Oreo' (API level 26) یا بالاتر را در Minimum API Level انتخاب کنید.
  3. API level 33 یا بالاتر را در Target API Level انتخاب کنید.
  4. IL2CPP در Scripting Backend انتخاب کنید.
  5. معماری های مورد نظر را با انتخاب ARMv7 ، ARM64 یا هر دو در Target Architectures انتخاب کنید.
  6. Require در دسترسی به اینترنت انتخاب کنید.
  7. دامنه شرکت خود را در زیر نام بسته مشخص کنید.
  8. اگر Vulkan به عنوان Graphics API انتخاب شد:
    • تیک گزینه اعمال چرخش نمایشگر در هنگام رندر را در تنظیمات Vulkan بردارید.
    • اگر نسخه Unity 2021.2 یا بالاتر است، ETC2 را در قالب فشرده سازی بافت انتخاب کنید.
  9. اگر نسخه Unity 2023.1 یا بالاتر است، Activity انتخاب کنید و GameActivity در Application Entry Point پاک کنید.

تنظیمات انتشار

به تنظیمات پروژه > پخش کننده > تنظیمات انتشار بروید.

  1. در بخش Build ، Custom Main Gradle Template و Custom Gradle Properties Template را انتخاب کنید.
  2. خطوط زیر را به بخش وابستگی 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'
    
  3. خطوط زیر را به Assets/Plugins/Android/gradleTemplate.properties اضافه کنید:

      android.enableJetifier=true
      android.useAndroidX=true
    

تنظیمات مدیریت پلاگین XR

به تنظیمات پروژه > مدیریت افزونه XR بروید.

  1. Cardboard XR Plugin در قسمت Plug-in Providers انتخاب کنید.

پروژه خود را بسازید

به File > Build Settings بروید.

  1. Build را انتخاب کنید یا دستگاهی را انتخاب کنید و Build and Run را انتخاب کنید.

پیکربندی تنظیمات پروژه iOS

به File > Build Settings بروید.

  1. iOS را انتخاب کنید و Switch Platform را انتخاب کنید.
  2. Add Open Scenes را انتخاب کنید و HelloCardboard را انتخاب کنید.

تنظیمات پخش کننده

قطعنامه و ارائه

به تنظیمات پروژه > پخش کننده > وضوح و ارائه بروید.

  1. جهت پیش فرض را روی Landscape Left یا Landscape Right قرار دهید.

تنظیمات دیگر

به تنظیمات پروژه > پخش کننده > تنظیمات دیگر بروید.

  1. در توضیحات استفاده از دوربین ، نوشتن Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters). .
  2. در نسخه هدف حداقل iOS ، 12.0 را بنویسید.
  3. دامنه شرکت خود را در زیر نام بسته مشخص کنید.

تنظیمات مدیریت پلاگین XR

به تنظیمات پروژه > مدیریت افزونه XR بروید.

  1. Cardboard XR Plugin در قسمت Plug-in Providers انتخاب کنید.

پروژه خود را بسازید

به File > Build Settings بروید.

  1. Build یا Build and Run را انتخاب کنید.

مرکزیت مجدد

Cardboard SDK به شما امکان می دهد ردیاب هد را با استفاده از Recenter() جدیدتر تغییر دهید.

این مراحل را دنبال کنید تا با استفاده از برنامه نمونه آن را امتحان کنید:

  1. دستگاه را به موقعیتی که می‌خواهید مجدداً تغییر دهید حرکت دهید (از آن به عنوان حالت سر به جلو استفاده کنید).
  2. ماشه دستگاه Cardboard خود را حداقل سه ثانیه فعال نگه دارید.
  3. ماشه را رها کنید.
  4. ژست اولیه اکنون در جهتی است که دوربین به آن اشاره می کند.

روشن و خاموش کردن حالت VR

Unity XR Plugin Management API به شما امکان می دهد حالت VR را برای افزونه Google Cardboard XR for Unity روشن یا خاموش کنید. مستندات کاربر نهایی و مثال‌های استفاده در مستندات کاربر نهایی Unity موجود است.

صحنه VrMode در نمونه HelloCardboard یک استفاده اساسی از API فوق الذکر را نشان می دهد. در این صحنه حالت VR را می توان با زدن exit خاموش کرد ، و فقط با ضربه زدن روی هر نقطه از صفحه می توان دوباره آن را روشن کرد. VrModeController.cs را برای جزئیات در مورد نحوه انجام این کار بررسی کنید.

مراحل بعدی