برای شروع استفاده از ARCore با Android، میتوانید برنامه نمونه hello_ar_kotlin یا hello_ar_java همراه با ARCore SDK را اجرا کنید. این برنامههای نمونه از OpenGL ، یک رابط برنامهنویسی برای رندر کردن گرافیکهای برداری دو بعدی و سه بعدی استفاده میکنند. برنامه ها هر هواپیمای شناسایی شده را نمایش می دهند و به کاربر اجازه می دهند تا برای قرار دادن یک مدل سه بعدی روی هواپیما ضربه بزند.
محیط توسعه خود را تنظیم کنید
Android Studio نسخه 3.1 یا بالاتر را با Android SDK Platform نسخه 7.0 (سطح API 24) یا بالاتر نصب کنید.
اگر تازه وارد Android هستید، به ساخت اولین برنامه اندروید خود مراجعه کنید.
یک پروژه نمونه باز کنید
در Android Studio، مخزن ARCore SDK GitHub را کلون کنید.
راه های زیادی برای انجام این کار وجود دارد:
برای نصب اندروید استودیو ثابت:
- از منوی Git ، Clone انتخاب کنید.
- در کشویی Version control ، Git به عنوان سیستم کنترل نسخه انتخاب کنید.
در قسمت URL ، آدرس زیر را به مخزن ARCore GitHub وارد کنید:
https://github.com/google-ar/arcore-android-sdk.git
همچنین می توانید یک Terminal باز کنید و دستور
git clone
را به صورت زیر صادر کنید:git clone https://github.com/google-ar/arcore-android-sdk.git
یکی از نمونه پروژه ها را به صورت زیر باز کنید (برای ساخت و اجرای آن باید به صراحت یک پروژه را باز کنید).
- از منوی File ، Open انتخاب کنید.
- در پوشه arcore-android-sdk/samples ، پوشه hello_ar_kotlin یا hello_ar_java را انتخاب کنید و روی Open کلیک کنید.
دستگاه یا شبیه ساز خود را آماده کنید
میتوانید برنامههای واقعیت افزوده را روی یک دستگاه پشتیبانیشده یا در شبیهساز Android اجرا کنید. قبل از اجرای برنامه، باید Google Play Services for AR را در شبیه ساز به روز کنید. برای اطلاعات بیشتر به اجرای برنامه های AR در شبیه ساز اندروید مراجعه کنید.
نمونه را اجرا کنید
مطمئن شوید که دستگاه اندرویدی شما به دستگاه توسعه متصل است و روی Run کلیک کنید در اندروید استودیو
Android Studio پروژه شما را در یک APK قابل اشکالزدایی میسازد، APK را نصب میکند و سپس برنامه را روی دستگاه شما اجرا میکند. برای اطلاعات بیشتر، به ساخت و اجرای برنامه خود مراجعه کنید.
ممکن است از شما خواسته شود که اگر سرویسهای Google Play برای واقعیت افزوده وجود ندارد یا قدیمی است، آن را نصب یا بهروزرسانی کنید. برای نصب آن از فروشگاه Google Play CONTINUE را انتخاب کنید، یا به صورت دستی آن را همانطور که در بهروزرسانی خدمات Google Play برای AR توضیح داده شده، بهروزرسانی کنید.
برنامه hello_ar_java به شما امکان می دهد یک پیاده ARCore سه بعدی را روی سطوح هواپیمای AR شناسایی شده قرار دهید. این با Android GL SurfaceView پیادهسازی شده است که برای رندر کردن پیشنمایش دوربین و اشیاء AR اساسی مانند Planes و Anchors استفاده میشود. نمونه چارچوب رندر hello_ar_java را می توان در com/google/ar/core/examples/java/common/samplerender
پیدا کرد.
از Instant Placement استفاده کنید
Instant Placement API به کاربر این امکان را می دهد که یک شی AR را بدون نیاز به منتظر ماندن ARCore برای تشخیص هندسه سطح روی صفحه نمایش قرار دهد. با حرکت بیشتر کاربر در اطراف محیط، قرار دادن اشیا در زمان واقعی اصلاح می شود.
برای قرار دادن یک شی روی صفحه ضربه بزنید. مطمئن شوید که پس از مشاهده شی هولوگرافیک روی صفحه نمایش به حرکت دادن دستگاه ادامه دهید تا ARCore بتواند اطلاعات کافی در مورد محیط اطراف شما برای لنگر انداختن دقیق شی مجازی به دست آورد.
هنگامی که ARCore هندسه سطح را تشخیص داد و یک قابل ردیابی را در منطقه ای که شی قرار می گیرد ایجاد کرد، وضعیت جسم به طور خودکار برای دقت به روز می شود.
در شکل 1، Instant Placement غیرفعال است و هندسه سطح تعریف نشده است. اشیایی که در سمت راست میز بیلیارد روی زمین قرار می گیرند (چهار نقطه کوچک آبی رنگ) به نظر می رسد ضربه خورده است، وضعیت آنها نامشخص است.
در شکل 2، Instant Placement از منوی زیر نماد چرخ دنده فعال شده است.
در شکل 3، با فعال کردن Instant Placement، یک شی جدید در صحنه قرار می گیرد. به جای رنگی در مقیاس خاکستری به نظر می رسد که نشان می دهد هنوز برای یک حالت دقیق تصحیح نشده است.
در شکل 4، زمانی که هندسه سطح (توصیف شده توسط خطوط شبکه قابل ردیابی ) تشخیص داده شود، شی جدید رنگی می شود و حالت آن دقیق است.
از عمق استفاده کنید
هنگامی که Depth فعال است، ARCore هندسه و مکان اشیاء در صحنه را در نظر می گیرد و موقعیت اشیاء قرار گرفته در صحنه را نسبت به سایر اشیاء در صحنه محاسبه می کند. این اجازه می دهد تا اشیاء قرار داده شده توسط اشیاء در صحنه مسدود شوند، و واقع گرایی را به برنامه شما می بخشد.
در شکل 1، Depth غیرفعال است. یک شی زیر میز بیلیارد قرار می گیرد.
در شکل 2، همانطور که دستگاه در اطراف میز بیلیارد حرکت می کند، به نظر می رسد که شی بدون توجه به اشیاء موجود در صحنه، دستگاه را دنبال می کند.
در شکل 3، Depth فعال است.
در شکل 4، در حالی که دستگاه در اطراف صحنه حرکت می کند، اکنون شیء توسط میز بیلیارد مسدود شده به نظر می رسد.
مراحل بعدی
- سعی کنید پروژه های نمونه دیگری را در ARCore SDK بسازید و اجرا کنید.
- برای نمونه برنامه های بیشتری که می توانید بسازید و اجرا کنید ، کدهای واقعیت افزوده را بررسی کنید.
- با نحوه فعال کردن ARCore در برنامه خود آشنا شوید.
- ملاحظات زمان اجرا را مرور کنید.
- دستورالعمل های طراحی را مرور کنید.
برای شروع استفاده از ARCore با Android، میتوانید برنامه نمونه hello_ar_kotlin یا hello_ar_java همراه با ARCore SDK را اجرا کنید. این برنامههای نمونه از OpenGL ، یک رابط برنامهنویسی برای رندر کردن گرافیکهای برداری دو بعدی و سه بعدی استفاده میکنند. برنامه ها هر هواپیمای شناسایی شده را نمایش می دهند و به کاربر اجازه می دهند تا برای قرار دادن یک مدل سه بعدی روی هواپیما ضربه بزند.
محیط توسعه خود را تنظیم کنید
Android Studio نسخه 3.1 یا بالاتر را با Android SDK Platform نسخه 7.0 (سطح API 24) یا بالاتر نصب کنید.
اگر تازه وارد Android هستید، به ساخت اولین برنامه اندروید خود مراجعه کنید.
یک پروژه نمونه باز کنید
در Android Studio، مخزن ARCore SDK GitHub را کلون کنید.
راه های زیادی برای انجام این کار وجود دارد:
برای نصب اندروید استودیو ثابت:
- از منوی Git ، Clone انتخاب کنید.
- در کشویی Version control ، Git به عنوان سیستم کنترل نسخه انتخاب کنید.
در قسمت URL ، آدرس زیر را به مخزن ARCore GitHub وارد کنید:
https://github.com/google-ar/arcore-android-sdk.git
همچنین می توانید یک Terminal باز کنید و دستور
git clone
را به صورت زیر صادر کنید:git clone https://github.com/google-ar/arcore-android-sdk.git
یکی از نمونه پروژه ها را به صورت زیر باز کنید (برای ساخت و اجرای آن باید به صراحت یک پروژه را باز کنید).
- از منوی File ، Open انتخاب کنید.
- در پوشه arcore-android-sdk/samples ، پوشه hello_ar_kotlin یا hello_ar_java را انتخاب کنید و روی Open کلیک کنید.
دستگاه یا شبیه ساز خود را آماده کنید
میتوانید برنامههای واقعیت افزوده را روی یک دستگاه پشتیبانیشده یا در شبیهساز Android اجرا کنید. قبل از اجرای برنامه، باید Google Play Services for AR را در شبیه ساز به روز کنید. برای اطلاعات بیشتر به اجرای برنامه های AR در شبیه ساز اندروید مراجعه کنید.
نمونه را اجرا کنید
مطمئن شوید که دستگاه اندرویدی شما به دستگاه توسعه متصل است و روی Run کلیک کنید در اندروید استودیو
Android Studio پروژه شما را در یک APK قابل اشکالزدایی میسازد، APK را نصب میکند و سپس برنامه را روی دستگاه شما اجرا میکند. برای اطلاعات بیشتر، به ساخت و اجرای برنامه خود مراجعه کنید.
ممکن است از شما خواسته شود اگر سرویسهای Google Play برای واقعیت افزوده وجود ندارد یا قدیمی است، آن را نصب یا بهروزرسانی کنید. برای نصب آن از فروشگاه Google Play CONTINUE را انتخاب کنید، یا به صورت دستی آن را همانطور که در بهروزرسانی خدمات Google Play برای AR توضیح داده شده، بهروزرسانی کنید.
برنامه hello_ar_java به شما امکان می دهد یک پیاده ARCore سه بعدی را روی سطوح هواپیمای AR شناسایی شده قرار دهید. این با Android GL SurfaceView پیادهسازی شده است که برای رندر کردن پیشنمایش دوربین و اشیاء AR اساسی مانند Planes و Anchors استفاده میشود. نمونه چارچوب رندر hello_ar_java را می توان در com/google/ar/core/examples/java/common/samplerender
پیدا کرد.
از Instant Placement استفاده کنید
Instant Placement API به کاربر این امکان را می دهد که یک شی AR را بدون نیاز به منتظر ماندن ARCore برای تشخیص هندسه سطح روی صفحه نمایش قرار دهد. با حرکت بیشتر کاربر در اطراف محیط، قرار دادن اشیا در زمان واقعی اصلاح می شود.
برای قرار دادن یک شی روی صفحه ضربه بزنید. مطمئن شوید که پس از مشاهده شی هولوگرافیک روی صفحه نمایش به حرکت دادن دستگاه ادامه دهید تا ARCore بتواند اطلاعات کافی در مورد محیط اطراف شما برای لنگر انداختن دقیق شی مجازی به دست آورد.
هنگامی که ARCore هندسه سطح را تشخیص داد و یک قابل ردیابی را در منطقه ای که شی قرار می گیرد ایجاد کرد، وضعیت جسم به طور خودکار برای دقت به روز می شود.
در شکل 1، Instant Placement غیرفعال است و هندسه سطح تعریف نشده است. اشیایی که در سمت راست میز بیلیارد روی زمین قرار می گیرند (چهار نقطه کوچک آبی رنگ) به نظر می رسد ضربه خورده است، وضعیت آنها نامشخص است.
در شکل 2، Instant Placement از منوی زیر نماد چرخ دنده فعال شده است.
در شکل 3، با فعال کردن Instant Placement، یک شی جدید در صحنه قرار می گیرد. به جای رنگی در مقیاس خاکستری به نظر می رسد که نشان می دهد هنوز برای یک حالت دقیق تصحیح نشده است.
در شکل 4، زمانی که هندسه سطح (توصیف شده توسط خطوط شبکه قابل ردیابی ) تشخیص داده شود، شی جدید رنگی می شود و حالت آن دقیق است.
از عمق استفاده کنید
هنگامی که Depth فعال است، ARCore هندسه و مکان اشیاء در صحنه را در نظر می گیرد و موقعیت اشیاء قرار گرفته در صحنه را نسبت به سایر اشیاء در صحنه محاسبه می کند. این اجازه می دهد تا اشیاء قرار داده شده توسط اشیاء در صحنه مسدود شوند، و واقع گرایی را به برنامه شما می بخشد.
در شکل 1، Depth غیرفعال است. یک شی زیر میز بیلیارد قرار می گیرد.
در شکل 2، همانطور که دستگاه در اطراف میز بیلیارد حرکت می کند، به نظر می رسد که شی بدون توجه به اشیاء موجود در صحنه، دستگاه را دنبال می کند.
در شکل 3، Depth فعال است.
در شکل 4، در حالی که دستگاه در اطراف صحنه حرکت می کند، اکنون شیء توسط میز بیلیارد مسدود شده به نظر می رسد.
مراحل بعدی
- سعی کنید پروژه های نمونه دیگری را در ARCore SDK بسازید و اجرا کنید.
- برای نمونه برنامه های بیشتری که می توانید بسازید و اجرا کنید ، کدهای واقعیت افزوده را بررسی کنید.
- با نحوه فعال کردن ARCore در برنامه خود آشنا شوید.
- ملاحظات زمان اجرا را مرور کنید.
- دستورالعمل های طراحی را مرور کنید.