نوشته‌ها

ویدیو آموزش برنامه نویسی یک بازی کوتاه با ARKIT

تینگوتیم| در این ویدیو که توسط  Brian Advent ساخته شده است یاد میگیریم که چگونه در زمانی کوتاه با استفاده از قابلیت های ARKIT یک بازی واقعیت افزوده ساده بسازیم. جهت مشاهده مطالب جدیدتر پیرامون واقعیت افزوده می توانید عضو خبرنامه یا کانال تلگرام ما بشوید.

لینک دانلود سورس کد برنامه و فایل پروژه Xcode

 

آموزش واقعیت افزوده با فناوری اپل ARKIT

تینگوتیم | در این مقاله  کیت توسعه واقعیت افزوده اپل (ARKIT) مطابق شیوه نامه آموزشی اپل معرفی و آموزش داده می شود.

 

 

 

 

تصویرسازی اپل برای بیان مفهوم واقعیت افزوده

اولین نیازمندی هر تجربه واقعیت افزوده و تعریف ویژگی برای ARKIT  امکان خلق و ردیابی  یک تناظر میان فضای دنیای حقیقی که کاربر در آن سکنی دارد و فضای مجازی که می توانید در آن محتوای مجازی را مدل نمایید.وقتی که برنامه شما آن محتوا را همراه با تصویر زنده دوربین نمایش می دهد، کاربر واقعیت افزوده را تجربه می کند.در واقع از این طریق کاربر این فریب را حس میکند که محتوای مجازی بخشی از دنیای واقعی است مانند تصویر بالا که یک جانور خیالی روی مبل خانه نشسته است.

چگونه دنیا دنبال می شود؟

برای خلق یک تناظر بین فضای واقعی و فضای مجازی ARKIT از تکنیکی که   visual-inertial odometry   یا  « مسافت پیمایی لَختیایی بصری» خوانده می شود، استفاده می گردد.این فرآيند اطلاعات  دریافتی را از سخت افزار حس کننده حرکت دستگاه مجهز به iOS   را با  تجزیه و تحلیل بینایی رایانه ای صحنه که در دوربین دستگاه قابل نمایش است ترکیب می کند. ARKIT  ویژگی های قابل توجه در صحنه و تفاوت های موقعیتی در سراسر فریم های ویدیو را دنبال کرده و با اطلاعاتی که از از داده های حسگر های حرکتی بدست می آید مقایسه می کند. نتیجه این است که مدلی دقیق از موقعیت دستگاه  و  جنب و جوش آن بدست می آید.

علاوه بر این سیستم ARKIT  محتوایی یک صحنه را مورد تجزیه و تحلیل قرار داده و درک می کند.برای درک سطح دنیای واقعی  که دوربین  به آن اشاره می کند از متد های Hit-Testing استفده کنید( به کلاس  ARHitTestResult رجوع نمایید). تست ضربه یا Hit-testing در گرافیک رایانه ای به فرآيندی گفته می شود که مکان نمای تحت کنترل کاربر مانند مکان نمای ماوس با شی گرافیکی ترسیم شده مانند خط یا شکل برخورد می کند(۱). اگر شما ( planeDetection) را در تنظیمات صحنه فعال کنید، ARKIT خود به خود سطوح تخت در تصویر دوربین را شناسایی کرده و مختصات و اندازه آن ها را گزارش می دهد. شما می توانید از نتایج Hit-Test  یا سطوح شناسایی شده برای قرار دادن محتوای مجازی  یا تعامل با آن استفاده نمایید.

 

بهترین تجارت و محدودیت ها در ARKIT

ردیابی دنیا یک علم نادقیق است. این فرآيند عموما دقت قابل توجهی دارد که تجارب واقعی در AR منجر می شود. با این حال فرآيند ردیابی دنیا به جزییات  محیط فیزیکی دستگاه مرتبط است که همیشه با

نیازمندی های ما سازگار نیست یا اینکه با مقداری خطا عمل می کند. برای ساخت تجارب با کیفیت  AR  به این نکات و اخطار ها توجه داشته باشید.

 

  • تجارب AR را برای شرایط نور قابل پیش بینی طراحی کنید: ردیابی دنیا شامل فرآیند تجزیه و تحلیل تصویر است که نیازمند یک تصویر واضح و شفاف است. کیفیت ردیابی وقتی که دروبین جزییات را نبیند کاهش پیدا می کند. مانند زمانی که دوربین به دیوار سیاه گرفته شده یا محیط خیلی تاریک است.
  • از اطلاعات کیفیت ردیابی برای ارائه بازخورد به کاربر استفاده کنید.ردیابی دنیا  با ایجاد همبستگی میان  تجزیه و تحلیل تصاویر و حرکت دستگاه کار می کند. ARKIT درک بهتری از صحنه پیدا میکند اگر دستگاه در حال حرکت باشد،‌حتی اگر اندک باشد. اما حرکت خیلی زیاد خیلی سریع یا تکان دادن سریع می تواند منجر به کاهش کیفیت تصویر و در نتیجه کاهش کیفیت ردیابی بشود.کلاس ARCamera وضعیت ردیابی را ارائه می کند و شما از این طریق می توانید واسط کاربری را ایجاد کنید که چگونه مشکلات کیفیت ردیابی پایین را حل کند.
  • به سیستم تشخیص سطح زمان بدهید تا بتواند نتایج شفافی تولید کند و  سیستم را غیرفعال کنید وقتی که نتایج لازم را دارید.  نتایج سیستم  تشخیص سطح (Plane)   در طول زمان تغییر میکند وقتی که برای اولین بار سطح تشخیص داده شود ممکن است موقعیت آن نادقیق باشد. وقتی که سطح به مرور در صحنه می ماند، سیستم ARKIT  تخمین خود از فضا و مختصات سطح را پالایش می کند. سیستم ARKIT ممکن است به تغییر موقعیت گوشه ها و فضا ادامه دهد در حالی که شما از آن فضا برای قرار دادن محتوای خود استفاده کرده اید.

 

منبع: راهنمای توسعه دهندگان اپل