VRDisplay
Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.
Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.
Giao diện VRDisplay của WebVR API đại diện cho bất kỳ thiết bị thực tế ảo nào được API này hỗ trợ. Nó bao gồm thông tin chung như ID và mô tả thiết bị, cũng như các phương thức để bắt đầu hiển thị cảnh thực tế ảo, truy xuất tham số mắt và khả năng màn hình, cùng các chức năng quan trọng khác.
Note: Giao diện này là một phần của WebVR API cũ. Nó đã được thay thế bởi WebXR Device API.
Một mảng tất cả các thiết bị VR đã kết nối có thể được trả về bằng cách gọi phương thức Navigator.getVRDisplays().
Thuộc tính phiên bản
VRDisplay.capabilitiesRead only Deprecated Non-standard-
Trả về đối tượng
VRDisplayCapabilitiescho biết các khả năng khác nhau củaVRDisplay. VRDisplay.depthFarDeprecated Non-standard-
Lấy và đặt độ sâu z xác định mặt phẳng xa của khung nhìn mắt, tức là ranh giới có thể nhìn thấy xa nhất của cảnh.
VRDisplay.depthNearDeprecated Non-standard-
Lấy và đặt độ sâu z xác định mặt phẳng gần của khung nhìn mắt, tức là ranh giới có thể nhìn thấy gần nhất của cảnh.
VRDisplay.displayIdRead only Deprecated Non-standard-
Trả về mã định danh cho
VRDisplaycụ thể này, cũng được sử dụng làm điểm liên kết trong Gamepad API (xemGamepad.displayId). VRDisplay.displayNameRead only Deprecated Non-standard-
Trả về tên có thể đọc được để xác định
VRDisplay. VRDisplay.isConnectedRead only Deprecated Non-standard-
Trả về giá trị boolean cho biết liệu
VRDisplaycó đang kết nối với máy tính hay không. VRDisplay.isPresentingRead only Deprecated Non-standard-
Trả về giá trị boolean cho biết liệu
VRDisplaycó đang hiển thị nội dung hay không. VRDisplay.stageParametersRead only Deprecated Non-standard-
Trả về đối tượng
VRStageParameterschứa các tham số quy mô phòng, nếuVRDisplaycó khả năng hỗ trợ trải nghiệm quy mô phòng.
Phương thức phiên bản
VRDisplay.getEyeParameters()Deprecated Non-standard-
Trả về đối tượng
VREyeParameterschứa các tham số mắt cho mắt được chỉ định. VRDisplay.getFrameData()Deprecated Non-standard-
Nhận đối tượng
VRFrameDatavà điền vào đó các thông tin cần thiết để hiển thị khung hình hiện tại. VRDisplay.getImmediatePose()Deprecated Non-standard-
Trả về đối tượng
VRPosexác định tư thế hiện tại củaVRDisplay, không áp dụng dự đoán. Phương thức này không còn cần thiết và đã bị xóa khỏi đặc tả. VRDisplay.getLayers()Deprecated Non-standard-
Trả về các lớp hiện đang được hiển thị bởi
VRDisplay. VRDisplay.getPose()Deprecated Non-standard-
Trả về đối tượng
VRPosexác định tư thế dự đoán trong tương lai củaVRDisplaykhi khung hình hiện tại thực sự được hiển thị. Phương thức này đã lỗi thời — thay vào đó, bạn nên sử dụngVRDisplay.getFrameData(), phương thức này cũng cung cấp đối tượngVRPose. VRDisplay.resetPose()Deprecated Non-standard-
Đặt lại tư thế cho
VRDisplaynày, lấyVRPose.positionvàVRPose.orientationhiện tại làm giá trị "gốc/không". VRDisplay.cancelAnimationFrame()Deprecated Non-standard-
Triển khai đặc biệt của
Window.cancelAnimationFramecho phép hủy đăng ký các callback đã đăng ký vớiVRDisplay.requestAnimationFrame(). VRDisplay.requestAnimationFrame()Deprecated Non-standard-
Triển khai đặc biệt của
Window.requestAnimationFramechứa hàm callback được gọi mỗi lần khung hình mới của màn hìnhVRDisplayđược hiển thị. VRDisplay.requestPresent()Deprecated Non-standard-
Bắt đầu
VRDisplayhiển thị một cảnh. VRDisplay.exitPresent()Deprecated Non-standard-
Dừng
VRDisplayhiển thị một cảnh. VRDisplay.submitFrame()Deprecated Non-standard-
Ghi lại trạng thái hiện tại của
VRLayerInitđang được hiển thị và hiển thị nó trênVRDisplay.
Ví dụ
if (navigator.getVRDisplays) {
console.log("WebVR 1.1 supported");
// Then get the displays attached to the computer
navigator.getVRDisplays().then((displays) => {
// If a display is available, use it to present the scene
if (displays.length > 0) {
vrDisplay = displays[0];
// Now we have our VRDisplay object and can do what we want with it
}
});
}
Note: Bạn có thể xem mã đầy đủ tại raw-webgl-example.
Thông số kỹ thuật
Giao diện này là một phần của WebVR API cũ đã được thay thế bởi WebXR Device API. Nó không còn trên đường trở thành tiêu chuẩn.
Cho đến khi tất cả các trình duyệt triển khai WebXR API mới, nên dựa vào các framework như A-Frame, Babylon.js hoặc Three.js, hoặc một polyfill, để phát triển các ứng dụng WebXR hoạt động trên tất cả các trình duyệt. Đọc hướng dẫn Porting from WebVR to WebXR của Meta để biết thêm thông tin.