واقعیت افزوده و ARKit

واقعیت افزوده و ARKit

واقعیت افزوده (AR) تجربه ی کاربری ای را ارائه می دهد که از طریق آن عناصر دوبعدی یا سه بعدی به تصاویر زنده ای که از طریق دوربین کاربر قابل مشاهده است اضافه می شود، آنچنان که عناصر به نحوی مربوط به همان فضای واقعی درک و تصور می شوند. ARKit ردیابی های حرکتی دستگاه، ثبت صحنه دوربین، قابلیت های پیشرفته پردازش صحنه را با هم ترکیب کرده و تصویر ترکیبی ای ارائه میدهد، بدین ترتیب کار ایجاد یک تجربه ی AR را تسهیل می نماید.

واقعیت افزوده AR

مفاهیم، ویژگی ها و بهترین نمونه ها برای ساختن یک تجربه فوق العاده AR

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

در همه ی تجربه های AR، ARKit از سیستم انطباق دوربین و جهان واقعی برطبق قاعده دست راست (فیزیک) استفاده می کند: نقاط محورY   به سمت بالا، و (در صورت موضوعیت داشتن) نقاط محور Z به سمت بیننده و نقاط محور X  به سمت راست بیننده.

در پیکربندی میتوان مبدا و جهت های سیستم مختصات  را با توجه به دنیای واقعی تغییر داد.  هر لنگر در AR  سیستم هماهنگی محلی خود را تعریف می کند، در هر حال برطبق قاعده دست راست، محور Z به سمت بیننده است.

اما این سیستم ترکینگ World Tracking چگونه کار می کنند؟

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

World tracking همچنین محتوای یک صحنه را تحلیل و درک می کند. از روش تست ضربه برای پیدا کردن سطوح دنیای واقعی متناظر با نقاط تصویر استفاده می کند. اگر تنظیمات Plane Detection را در هنگام پیکربندی فعال نمایید، ARKit سطوح تخت را در تصویر دوربین شناسایی کرده و موقعیت و اندازه آنها را گزارش میکند. می توانید از نتایج تست ضربه یا سطوح شناسایی شده برای مکان دهی استفاده کرده یا با محتوای مجازی روی تصویرتان تعامل کنید.

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

دانش ترکینگ علم دقیقی نیست. این فرآیند اغلب می تواند دقت قابل توجهی را ایجاد کند، که منجر به تجارب واقعی AR شود. با این حال روی جزئیات محیط فیزیکی دستگاه تکیه می کند که اغلب ثابت نیستند و یا اندازه گیری آنها در واقعیت بدون داشتن خطا مشکل است. برای ایجاد تجارب باکیفیت AR  از این نکات و توصیه ها آگاه باشید.

تجارب AR را برای شرایط روشنایی و قابل پیش بینی طراحی کنید. World tracking شامل تحلیل عکس می شود که این امر مستلزم داشتن تصاویری واضح است. کیفیت ردیابی وقتیکه دوربین نمیتواند جزئیات را ببیند کاهش می یابد، مثل وقتیکه دوربین به یک دیوار خالی  اشاره میکند یا اینکه صحنه بسیار تاریک است.

برای ارائه بازخور به کاربر از اطلاعات ترکینگ استفاده کنید. World tracking تحلیل عکسها را با حرکت دستگاه مرتبط می کند. اگر دستگاه درحال حرکت باشد، حتی اگر دستگاه فقط بصورت نامحسوس حرکت کند، ARkit درک بهتری از صحنه ارایه می کند. حرکت بیش از اندازه- بسیار دور، بسیار تند، حتی تکان های بسیار شدید- که باعث تیره یا تار شدن عکس میشود، یا فاصله بسیار زیاد برای ویژگی های ترکینگ بین فریم های ویدیو کیفیت ترکینگ را کاهش میدهند. کلاس ARCamera اطلاعاتی در مورد حالت و منطق ترکینگ ارائه می دهد که برای توسعه UI به کار می رود و به کاربران میگوید که چطور مشکل موقعیت های ترکینگ با کیفیت پایین را حل کنند.

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