همه چیز درباره روشهای پیاده سازی واقعیت افزوده، سخت افزار و برنامه نویسی AR
واقعیت افزوده یا AR یکی از تکنولوژیهای مدرنیست که در حوزههای مختلف کاربرد دارد. روشهای پیاده سازی واقعیت افزوده متنوع است. اکنون دیگر پای AR به حوزههای مختلف باز شده، پس جا دارد با روشهای اجرا و پیاده سازی واقعیت افزوده آشنا شویم.
در نوشتههای پیشین «پیشگامان لوتوس» از AR و پیشینهی آن برایتان نوشتهایم. در این مقاله به ۵ روش پیاده سازی واقعیت افزوده اشاره میکنیم. از سخت افزار AR و اَسِتهای موردنیاز تعریف میکنیم و اشارهای داریم به زبانهای برنامه نویسی که برای تولید AR بهکار میروند.
انواع روشهای پیاده سازی واقعیت افزوده
۱- واقعیت افزوده براساس نشانگر (Marker Based)
در این روش دوربین و نشانگر دست به دست هم میدهند تا تصویر جذابی از واقعیت افزوده پیش چشم ما شکل بگیرد. نشانگر میتواند QR کد یا هر نشان چاپشدهای باشد. زمانی که دوربین گوشی را به سمت نشانگر میگیریم، محتوای سهبعدی در اطراف آن شکل میگیرد. این محتوا میتواند تصویر سهبعدی یا ویدیو باشد. این مدل پیادهسازی واقعیت افزوده بیشتر برای رسیدن به هدفهای بازاریابی و خردهفروشی مورداستفاده قرار میگیرد.
۲- واقعیت افزوده بدون نشانگر (Marker Less)
در این مدل از پیاده سازی واقعیت افزوده، دست کاربر بازتر است. چراکه میتواند تصمیم بگیرد شی مجازی را کجا قرار دهد. این روش به سختافزار دستگاه مانند دوربین، جیپیاس، قطبنمای دیجیتال و شتابسنج متکیست تا بتواند اطلاعات لازم را برای نرمافزار AR جمعآوری کند.
از این روش پیاده سازی واقعیت افزوده بیشتر برای نقشهبرداری مسیرها، پیدا کردن کسبوکارهای نزدیک و دیگر برنامههای کاربردی بر پایهی تلفن همراه استفاده میکنیم.
۳- واقعیت افزوده تلفیقی (Superimposition Augmented Reality)
روش تلفیقی درواقع تصویری را روی تصویری دیگر قرار میدهد. اپلیکیشن وسیلهای را در دنیای فیزیکی تشخیص میدهد و آن را تقویت یا تکرار میکند. تشخیص شی نقش اصلی را در این روند بازی میکند. اپلیکیشن باید شی موردنظر را شناساسیی کند تا بتواند AR را جانشین آن کند.
از این تکنولوژی در حوزههای مختلفی استفاده میکنیم. برای مثال در حوزهی پزشکی، عکس رادیولوژی را روی تصویر واقعی بیمار میاندازند تا درک بهتری از شرایط بیمار بهدست آورند. گاهی هم ویدیویی از تصویر واقعی و تصویر ایکس ری در کنار هم قرار میگیرند.
بناهای تاریخی که آسیب دیدهاند، با کمک AR بهترتیبی دیده میشوند که انگار هیچ ویرانی و خرابی در آنها رخ نداده. کاربرد نظامی این فناوری را هم نمیشود نادیده بگیریم. همینطور جان گرفتن تصویر حیوانات وحشی برای دوستداران و محققان حیات وحش.
۴- AR براساس موقعیت مکانی (Location Based)
بهترین مثالی که این روش از واقعیت افزوده را برایمان روشن میکند، بازی پوکمن گو (Pokemon Go) است.
در این بازی کاربر باید کاراکترهای مجازیای را پیدا کند که به دنیای واقعی افزوده شدهاند.
میبینیم که در این روش زمانی که کاربر به مکان از پیش تعیین شده میرسد، چیزی به واقعیت محیط او افزوده میشود. درواقع زمانی که کاربر به نقطهی تعریفشده میرسد، اشیا روی صفحه به نمایش درمیآیند. میتوانیم اطلاعات مختلفی را بهصورت لحظهای روی مکانهای مختلف در دنیای واقعی مشاهده کنیم.
۵- روش مبتنی بر پروجکشن (Projection Based)
رسیدیم به روشی که با دیگر روشهای پیاده کردن AR کمی متفاوت است. اینجا پروژکتورها بازیگر اصلی هستند. پروژکتورها تصویر اشیای مجازی را روی محیط واقعی میتابانند. داستان همینجا به پایان نمیرسد. بهعبارت دیگر، طراحی واقعیت افزوده با تابیدن نور مصنوعی روی سطحی در دنیای واقعی پیادهسازی میشود.
از آنجا که پروژکتور سنسور و پردازنده دارد، حرکت اشیا در محیط واقعی را تشخیص میدهد. مثل پروژکتوری که حرکت دست را شناسایی میکند. شاید کیبرد مجازی را امتحان کرده باشید. در این محصول، دست ما نقش کیبرد را بازی میکند و تصویر کیبرد بهشکل مجازی روی دستمان شکل میگیرد.
اکنون ببینیم واقعیت افزوده در روشهایی که توضیح دادیم، به کمک چه سختافزاری اجرا میشود.
سختافزار اصلی واقعیت افزوده
مانیتور، سیپییو (CPU)، حسگر و دستگاههای ورودی بخشی از سختافزار مربوط به AR هستند. همچنین، نمایشگر، دوربین، شتابسنج و جیپیاس که در بیشتر تلفنهای هوشمند امروز وجود دارند، پلتفرم واقعیت افزوده را تشکیل میدهند.
زبانها و تکنولوژیهایی که در برنامه نویسی AR بهکار میروند، کدامند؟
میخواهیم کمی با زبانهای برنامهنویسی و موتورهای بازیسازی سهبعدی آشنا شویم. در تحقیقی اعلام شده برای برنامه نویسی AR بیشتر از همه از زبان های برنامه نویسی #C و C++/C استفاده میشود. این امر اتفاقی نیست. معروفترین موتورهای بازی از این زبانها استفاده می کنند:
– Unity که از #C به عنوان زبان برنامه نویسی اول استفاده میکند.
– Unreal Engine که از ++C و زبان های بر مبنای node به اسم Blueprints Visual Scripting استفاده میکند.