WebXR Device API
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
WebXR là một nhóm các tiêu chuẩn được dùng cùng nhau để hỗ trợ việc dựng các cảnh 3D lên phần cứng được thiết kế cho việc trình bày các thế giới ảo (virtual reality, hay VR), hoặc để bổ sung hình ảnh đồ họa vào thế giới thực (augmented reality, hay AR). WebXR Device API triển khai phần lõi của tập tính năng WebXR, quản lý việc chọn thiết bị đầu ra, dựng cảnh 3D lên thiết bị đã chọn với tốc độ khung hình phù hợp, và quản lý các vector chuyển động được tạo từ các bộ điều khiển nhập liệu.
Các thiết bị tương thích WebXR bao gồm headset 3D đắm chìm hoàn toàn với tính năng theo dõi chuyển động và hướng, kính đeo phủ đồ họa lên cảnh thế giới thực đi qua khung kính, và điện thoại di động cầm tay bổ sung thực tại bằng cách ghi lại thế giới bằng camera rồi bổ sung cảnh đó bằng hình ảnh do máy tính tạo ra.
Để làm được những việc này, WebXR Device API cung cấp các năng lực chính sau:
- Tìm các thiết bị đầu ra VR hoặc AR tương thích
- Dựng một cảnh 3D lên thiết bị ở tốc độ khung hình phù hợp
- (Tùy chọn) phản chiếu đầu ra lên một màn hình 2D
- Tạo các vector biểu diễn chuyển động của các điều khiển nhập liệu
Ở mức cơ bản nhất, một cảnh được trình bày trong 3D bằng cách tính toán phối cảnh áp dụng cho cảnh để dựng nó từ góc nhìn của từng mắt người dùng, bằng cách tính vị trí của mỗi mắt và dựng cảnh từ vị trí đó, nhìn theo hướng mà người dùng hiện đang hướng tới. Mỗi một trong hai hình ảnh này được dựng vào cùng một framebuffer, với ảnh được dựng của mắt trái ở bên trái và góc nhìn của mắt phải được dựng vào nửa phải của bộ đệm. Sau khi cả hai phối cảnh của cảnh đã được dựng xong, framebuffer thu được sẽ được chuyển đến thiết bị WebXR để trình bày cho người dùng thông qua headset hoặc một thiết bị hiển thị phù hợp khác.
Trong khi WebVR API cũ hơn chỉ được thiết kế để hỗ trợ Virtual Reality (VR), WebXR cung cấp hỗ trợ cho cả VR và Augmented Reality (AR) trên web. Hỗ trợ cho chức năng AR được bổ sung bởi WebXR Augmented Reality Module.
Một thiết bị XR điển hình có thể có 3 hoặc 6 bậc tự do và có thể có hoặc không có cảm biến vị trí bên ngoài.
Thiết bị cũng có thể bao gồm gia tốc kế, áp kế hoặc các cảm biến khác được dùng để phát hiện khi người dùng di chuyển trong không gian, xoay đầu, hoặc các chuyển động tương tự.
Tài liệu tham khảo WebXR
Khởi tạo
navigator.xrXRSystemXRPermissionStatusPermissions-Policy:xr-spatial-tracking
Phiên
Vòng lặp khung hình
Không gian
Góc nhìn
Các khối hình học cơ bản
Tư thế
Đầu vào
Lớp
XRLayerXRLayerEventXRCompositionLayerXRCubeLayerXRCylinderLayerXREquirectLayerXRProjectionLayerXRQuadLayerXRMediaBinding
Liên kết WebGL
Neo
Cảm nhận độ sâu
Kiểm tra va chạm
Ước lượng ánh sáng
Hướng dẫn và bài viết
Các hướng dẫn và bài viết sau là nguồn tham khảo hữu ích để tìm hiểu WebXR và các khái niệm đồ họa 3D, VR/AR nền tảng.
Nền tảng và kiến thức cơ bản
Tạo trải nghiệm thực tế hỗn hợp
- Starting up and shutting down a WebXR session
- Geometry and reference spaces in WebXR
- Spatial tracking in WebXR
- Rendering and the WebXR frame animation callback
- Viewpoints and viewers: Simulating cameras in WebXR
- A perspective retrospective for WebXR developers
- Lighting a WebXR setting
- Using bounded reference spaces
Làm cho nó tương tác
- Movement, orientation, and motion: A WebXR example
- Inputs and input sources
- Targeting and hit detection
Hiệu năng và bảo mật
Đặc tả
Tương thích trình duyệt
Xem thêm
- Drawing graphics
- WebGL API: Accelerated 2D and 3D graphics on the web
- Canvas API: 2D drawing for the web
- Canvas tutorial