وب وی آر
WebVR یک رابط برنامهنویسی کاربردی تجربی جاوا اسکریپت است که پشتیبانی از دستگاههای واقعیت مجازی مانند HTC Vive ,Oculus Rift , Google Cardboard یا OSVR را در مرورگر وب ایجاد میکند.[1]
این API با اهداف زیر طراحی شدهاست:[2]
- توانایی شناسایی دستگاههای واقعیت مجازی را داشته باشد.
- امکانات و تواناییهای دستگاه واقعیت مجازی را بررسی کند.
- موقعیت و جهت دستگاه واقعیت مجازی را تشخیص دهد.
- تصاویر را با فریم ریت مناسب نمایش دهد.
تاریخچه
WebVR ابتدا در بهار ۲۰۱۴ توسط ولادیمیر Vukićević از موزیلا معرفی شد. مشارکت کنندگان در این پروژه عبارتند از: Brandon Jones , Boris Smus و افراد دیگری از تیم موزیلا.[3] در ۱ مارس ۲۰۱۶, تیم VR موزیلا و تیم گوگل کروم انتشار پروپوزال نسخه 1.0 WebVR API را اعلام کردند. بازسازی API پیشرفتهای بسیاری برای WebVR به ارمغان آورد.[4]
آخرین نسخه تگ شده 1.1[5] است که آخرین ویرایش آن در۵ مارس۲۰۱۷ انجام شدهاست. ویرایشگران این نسخه اعضای تیم موزیلا و گوگل بودند البته افرادی از تیم مایکروسافت هم به آنها ملحق شدند و به صورت فعال در نوشتن نسخه ۲٫۰ رابط کاربردی برنامهنویسی webvr مشارکت میکنند.[6]
طراحی
Api مربوط به webvr با چند رابط کاربردی جدید (مثل webvr display یا webvr pose) که اجازه میدهند نرم افزارهای تحت وب، محتوای واقعیت مجازی را توسط WebGL و با تنظیمات لازم دوربین و فعل و انفعالات دستگاه (مثل controller یا point of view) نمایش دهند. ءApi از چند راه مشخص پیروی میکند که بسیار مشابه سایر Apiهای نفوذی مثل Geolocation API است. گامهای ضروری شامل:
- درخواست بررسی لیست دستگاههای واقعیت مجازی موجود
- بررسی اینکه آیا دستگاه مورد نظر از ویژگی نمایشی که نرمافزار احتیاج دارد، پشتیبانی میکند
- اگر بله، نرمافزار توانایی واقعیت افزوده را به کاربر نمایش میدهد
- کاربر حرکتی که نشان دهنده تمایل به ورود به حالت vr است را انجام میدهد
- درخواست شروع جلسه ای برای نماش محتوای vr داده میشود.
- حلقه ای که به تولید فریمهای گرافیکی که روی دستگاه واقعیت مجازی به نمایش در میآید شروع میشود.
- تا وقتی که کاربر تمایل به خروج از حالت vr داشته باشد، حلقه ادامه پیدا میکند
- پایان جلسه vr
پشتیبانی
Webvr ۱٫۰ در حال حاضر در نسخه منتشر شده ۵۵+ فایر فاکس برای ویندوز (فقط ورژن ۶۴ بیت)[7] و در کروم برای اندروید به عنوان منبع آزمایشی پشتیبانی میشود، یعنی، برنامه نویسان برای فعال کردن webvr به صورت یکپارچه بایستی درخواست یک کلید عبور (token) بکنند و ان را به وبسایتشان اضافه کنند. Webvr1.1 در ساخت 15002 Microsoft Edge و در Samsung Internet, Chromium, Servo و Oculus Carmel. پشتیبانی میشود. d[8]
کروم برای ویندوز در ساخت مخصوصی webvr 1.1 را پشتیبانی میکند. اگر تنظیمات توسط کاربر فعال شده باشد، فایرفاکس ۵۵+ برای ویندوز از webvr در macos پشتیبانی میکند.
Notable uses
- IdeaSpaceVR is an open source content management system with an API to create VR themes in order to create, publish and manage VR experiences.[9]
- Rodin (VR) enables creation and deployment of virtual reality experiences cross-platform using just JavaScript.[10]
- JanusVR JanusVR is a suite of software that makes it simple to create, share and experience spatially rich internet content.[11]
- A-Frame (VR) is an open-source web framework for building VR experiences with HTML from Mozilla.[12]
- Archilogic has successfully used WebVR to produce 3D models that can be visited in virtual reality.
- Blend4Web is used for authoring WebVR-based applications such as heritage reconstruction and games.[13]
- Kokowa: Kokowa is a webVR publishing platform aimed at non-programmers. It provides a drag and drop editor to build and share webVR experiences on the web and on social media.[14]
- Goocreate: Goo Create is a cloud based 3D WebGL content creation editor. It can be used to create games, ads, campaign websites product showcases and scientific visualizations that run in a web browser.
- PlayCanvas: PlayCanvas is an open source 3D game engine/interactive 3D application engine.
- Vizor: Vizor is a platform for creating and sharing VR content on the web.
- Sketchfab: allows people to display and share 3D content online. It provides a 3D model viewer that allows the display of 3D models on any mobile, desktop webpage or VR headset.
- X3DOM: is an open-source framework and runtime for 3D graphics on the Web including WebVR. It leverages X3D, the current ISO open standard for web3D.[15]
- Within: Extraordinary storytelling in Virtual Reality. Choose and watch many movies from the Within catalog in WebVR.[16]
تکنولوژیهای مشابه
هرچند webvr به عنوان یک api منحصر به فرد است، اپلیکیشنهای نیتیو ای روی سختافزارهای زیادی وجود دارد که قابلیت دسترسی به شبکه و دسترسی به محتوای وب را میدهد. چندین ابزار کلیدی مثل unity و بلندر قابلیت دادن خروجی محتوای وب را دارند و به کاربران این امکان را میدهند که از محتوای آنها بدون نصب اپلیکیشن اختصاصی استفده کنند.
منابع
- "WebVR API". Mozilla Developer Network. Retrieved 2015-11-04.
- "w3c/webvr". GitHub. Retrieved 2017-04-08.
- "WebVR - Bringing Virtual Reality to the Web". webvr.info. Retrieved 2016-07-08.
- "Introducing the WebVR 1.0 API Proposal ★ Mozilla Hacks – the Web developer blog". hacks.mozilla.org. Retrieved 2016-07-08.
- "WebVR". w3c.github.io. Retrieved 2017-04-08.
- "WebVR". w3c.github.io. Retrieved 2017-04-08.
- https://hacks.mozilla.org/2017/08/firefox-55-supports-webvr/
- https://webvr.rocks/chrome_for_android
- "IdeaSpaceVR". IdeaSpaceVR.org.
- "Rodin: WebVR made easy". rodin.io. Archived from the original on 18 January 2019. Retrieved 27 September 2019.
- "JanusVR: The World Inside the Web".
- "A-Frame". aframe.io.
- "Blend4Web 16.06 LTS Released". Blend4Web.com. Retrieved 2016-07-12.
- "Want to Kick It With Putin in Your Own Virtual World? Kokowa Is for You". wired.com.
- "X3DOM". x3dom.org.
- "Within". Within.