WebVR API
Deprecated
Avoid using this feature in new projects. Development of the WebVR API halted in favor of WebXR. This feature may be a candidate for removal from web standards or browsers. >
Consider using the following features instead: WebXR. >
å®éªæ§: è¿æ¯ä¸é¡¹å®éªæ§ææ¯
å¨å°å
¶ç¨äºç产ä¹åï¼è¯·ä»ç»æ£æ¥æµè§å¨å
¼å®¹æ§è¡¨æ ¼ã
WebVR API è½ä¸ºèæç°å®è®¾å¤ç渲ææä¾æ¯æââä¾å¦å Oculus Rift æè HTC Vive è¿æ ·ç头æ´å¼è®¾å¤ä¸ Web åºç¨çè¿æ¥ãå®è½è®©å¼åè å°ä½ç½®åå¨ä½ä¿¡æ¯è½¬æ¢æ 3D åºæ¯ä¸çè¿å¨ãåºäºè¿é¡¹ææ¯è½äº§çå¾å¤æè¶£çåºç¨ï¼æ¯å¦èæç产åå±ç¤ºï¼å¯äº¤äºçå¹è®è¯¾ç¨ï¼ä»¥åè¶ å¼ºæ²æµ¸æç第ä¸äººç§°æ¸¸æã
æ¦å¿µåä½¿ç¨æ¹æ³

è¿æ¥å°çµèçææ VR 设å¤é½å°ç± Navigator.getVRDevices() æ¹æ³è¿åãè¿ä¸ªæ¹æ³å°è¿åä¸ä¸ªå
å«äºææå·²è¿æ¥è®¾å¤ç对象æ°ç»ï¼æ¯ä¸ªè®¾å¤å¯¹åºä¸ä¸ªå¯¹è±¡ï¼è¯¥å¯¹è±¡ç»§æ¿èª VRDeviceââé常ä¸ä¸ªå¤´æ¾å°å
å«ä¸¤ä¸ªè®¾å¤ââ头æ¾èªèº«ç± HMDVRDevice 表示ï¼åä¸ä¸ªè·è¸ªå¤´é¨ä½ç½®çä½ç½®ææä¼ æå¨ï¼ç± PositionSensorVRDevice 表示ã
PositionSensorVRDevice 对象æä¸ä¸ª getState() æ¹æ³ï¼è¯¥æ¹æ³è¿åä¸ä¸ªVRPositionState 对象ââè¿ä¸ªå¯¹è±¡ä»£è¡¨ä½ç½®ä¼ æå¨å¨æå®æ¶å»çç¶æï¼å
å«äºä¸äºååæç¨çä¿¡æ¯ï¼ä¾å¦é度ãå é度以åè¿å¨æ¹åï¼å¯ç¨äºæ ¹æ®å¤´é¨è¿å¨å·æ°ç»é¢æ¾ç¤ºã
HMDVRDevice.getEyeParameters() æ¹æ³è¿åä¸ä¸ª VREyeParameters 对象ï¼å¯ç¨äºè·åæ¾ç¤ºåºåçä¿¡æ¯ââ头æ¾å¯ä»¥çå°å¤å°ç»é¢ã VREyeParameters.currentFieldOfView è¿åä¸ä¸ª VRFieldOfView 对象ï¼è¯¥å¯¹è±¡å
å«äº 4 个è§åº¦ä¿¡æ¯æ¥æè¿°å½åçæ¾ç¤ºåºåãä½ å¯ä»¥ç¨ HMDVRDevice.setFieldOfView() æ¥æ¹åå½åçæ¾ç¤ºåºåã
夿³¨ï¼è¦äºè§£æ´å¤å ³äºå¦ä½å¨ä½ çåºç¨ç¨åºä¸ä½¿ç¨è¿äºæ¥å£ï¼è¯·é 读æç« ä½¿ç¨ WebVR APIãè¦å¦ä¹ æ´å¤å ³äº VR ææ¯èåçåºç¡æ¦å¿µï¼è¯·é 读æç« WebVR æ¦å¿µã
ä½¿ç¨æ§å¶å¨ï¼å° WebVR ä¸ Gamepad API ç¸ç»å
Many WebVR hardware setups feature controllers that go along with the headset. These can be used in WebVR apps via the Gamepad API, and specifically the Gamepad Extensions API that adds API features for accessing controller pose, haptic actuators, and more.
夿³¨ï¼Our Using VR controllers with WebVR article explains the basics of how to use VR controllers with WebVR apps.
WebVR æ¥å£
-
è¿åä¸ä¸ªä¼å ç°è¿æ¥å°çµèç VR è®¾å¤æ°ç»ç promiseã
VRDevice-
è¿åä¸ä¸ªå æ¬äº VR è®¾å¤ IDsï¼æè¿°çä¿¡æ¯çç±»ãç±
HMDVRDeviceåPositionSensorVRDeviceç»§æ¿ã HMDVRDevice-
头æ´è®¾å¤ãæä¾è®¾å¤åç¼ãå½åè§éï¼FOVï¼ä¿¡æ¯ã
PositionSensorVRDevice-
VR 设å¤çä½ç½®ä¼ æå¨ãè·åä½ç½®ãæ¹åä¿¡æ¯ã
VRPose-
æ ¹æ®ä¸ä¸ªæ¶é´æ³è¿åå æ¬ï¼æ¹åãä½ç½®ãé度ãå é度ï¼çç¶æã
VREyeParameters-
ç»åç¼æä¾æ£ç¡®æ¸²æåºæ¯çææä¿¡æ¯ï¼å æ¬ FOVã
VRFieldOfView-
è¿å以è§çªçä¸å¿ç¹ä¸ºåºç¹çï¼è¡¨ç¤º FOV ç 4 个è§åº¦å¼ï¼downDegrees, leftDegrees, rightDegrees, upDegreesï¼ã
VRFieldOfViewReadOnly-
å®ä¹ä¸ä¸ª FOV å¿ é¡»çè§åº¦å±æ§ãç±
VRFieldOfViewç»§æ¿ã
示ä¾
ä½ å¯ä»¥å¨ Github çåè®®ä¸æ¾å°ä¸ç³»åçæ¡ä¾ï¼
- mdn/webvr-testsï¼ç®åæå»ºçæ¼ç¤ºç¨äºéæåºæ¬çä½¿ç¨æ¹æ³ã
- MozVR teamï¼æ´å¤å¤æçæ¼ç¤ºï¼å ³äº WebVR ç¹å«çèµæºï¼ä»¥åæ´å¤çå 容ï¼
è§è
该 API 卿§ç WebVR APIï¼å·²è¢« WebXR Device API å代ï¼ä¸å®ä¹ãå®ä¸åæææä¸ºæ åã
å¨æææµè§å¨é½å®ç°æ°ç WebXR API ä¹åï¼å»ºè®®ä½¿ç¨æ¡æ¶ï¼å¦ï¼A-FrameãBabylon.js æ Three.jsï¼æ polyfill æ¥å¼åéç¨äºæææµè§å¨ç WebXR åºç¨ç¨åºã
æµè§å¨å ¼å®¹æ§
åè§
- å»ºç« WebVR çè¿è¡ç¯å¢
- WebVR çç¸å ³æ¦å¿µ
- ææ ·ä½¿ç¨ WebVR API
- Console Game on Webââä¸ç³»åæè¶£çæ¦å¿µæ¸¸ææ¼ç¤ºçéåï¼å ¶ä¸æäºå æ¬äº WebVRã
- threejs-vr-boilerplateââä¸ä¸ªå½ä½ ç¼å WebVR APP æ¶ï¼é常æç¨çç¨äºå¼å§ç¼ç¨ç模æ¿ã
- Oculus Rift 主页