WebVR API

Houve um erro de script nesta página. Enquanto este erro é encaminhado para os editores do site, você pode ver o conteúdo parcial abaixo.

Esta tradução está incompleta. Por favor, ajude a traduzir este artigo.

{{draft("The WebVR API documentation is currently being updated to cover the v1.0 spec, therefore some of this information will be out of date. Contact ~~chrisdavidmills if you have any questions about this work.")}}{{DefaultAPISidebar("WebVR API")}}{{SeeCompatTable}}

O WebVR oferece suporte para expor dispositivos de realidade virtual - por exemplo, telas montadas na cabeça, como o Oculus Rift - para aplicativos da web, permitindo que os desenvolvedores traduzam informações de posição e movimento da tela para movimento em torno de uma cena 3D. Isso tem inúmeras aplicações muito interessantes, de passeios de produtos virtuais e aplicativos de treinamento interativo para super imersivo jogos em primeira pessoa.

Conceitos e uso

Sketch of a person in a chair with wearing goggles labelled "Head mounted display (HMD)" facing a monitor with a webcam labelled "Position sensor"

Todos os dispositivos VR ligados ao computador serão devolvidos pelo {{domxref("Navigator.getVRDisplays()")}} método. Que retorna uma matriz de objetos para representar os dispositivos conectados, que herdam do objeto geral {{domxref ("VRDevice")}} Geralmente o display usado na cabeça  terá dois dispositivos - o próprio display montado na cabeça, representado por {{domxref ("HMDVRDevice")}}, e uma câmera com sensor na posição que mantéra o controle de sua posição de cabeça, representada por {{domxref("PositionSensorVRDevice")}}.

O objeto {{domxref ("PositionSensorVRDevice")}} contém o método {{domxref ("PositionSensorVRDevice.getState", "getState ()")}}, que retorna um objeto {{domxref ("VRPositionState")}} - isto Representa o estado do sensor num dado carimbo de data e inclui propriedades que contêm dados úteis tais como velocidade, aceleração e orientação actuais, úteis para actualizar o processamento de uma cena em cada trama de acordo com o movimento do visor montado na cabeça VR.

O método {{domxref ("HMDVRDevice.getEyeParameters ()")} retorna um objeto {{domxref ("VREyeParameters")}}, que pode ser usado para retornar informações do campo de exibição - quanto da cena a tela montada na cabeça pode ver. O {{domxref ("VREyeParameters.currentFieldOfView")}} retorna um objeto {{domxref ("VRFieldOfView")}} que contém 4 ângulos que descrevem a vista atual a partir de um ponto central. Você também pode alterar o campo de visualização usando {{domxref ("HMDVRDevice.setFieldOfView ()")}}.

WebVR Interfaces

{{Domxref ("VRDisplay")}}
   
Representa qualquer dispositivo VR suportado por esta API. Ele inclui informações genéricas, como IDs de dispositivo e descrições, bem como métodos para começar a apresentar uma cena VR, recuperar os parâmetros do olho e exibir capacidades e outras funcionalidades importantes.
{{Domxref ("VRDisplayCapabilities")}}
   
Descreve os recursos de um {{domxref ("VRDisplay")}} - seus recursos podem ser usados ​​para executar testes de capacidade do dispositivo VR, por exemplo, ele pode retornar informações de posição.
{{Domxref ("VRPose")}}
   
Representa o estado de posição em um dado carimbo de data / hora (que inclui orientação, posição, velocidade e aceleração).
{{Domxref ("VREyeParameters")}}
   
Fornece acesso a todas as informações necessárias para processar corretamente uma cena para cada olho, incluindo informações de campo de visão.
{{Domxref ("VRFieldOfView")}}
   
Representa um campo de visão definido por 4 valores de graus diferentes que descrevem a vista a partir de um ponto central.
{{Domxref ("VRLayer")}}
   
Representa uma camada a ser apresentada em {{domxref ("VRDisplay")}}.
{{Domxref ("VRStageParameters")}}
   
Representa os valores que descrevem a área de estágio para dispositivos que suportam experiências em escala de sala.

Extensões para outras interfces

{{Domxref ("Gamepad.displayId")}} {{readonlyInline}}
   
Retorna o {{domxref ("VRDisplay.displayId")}} do associado {{domxref ("VRDisplay")}} - o VRDisplay que o gamepad está controlando a cena exibida de.
{{Domxref ("Navigator.activeVRDisplays")}} {{readonlyInline}}
   
Retorna uma matriz contendo todos os objetos {{domxref ("VRDisplay")}} que está sendo apresentado ({{domxref ("VRDisplay.ispresenting")}}).
{{Domxref ("Navigator.getVRDisplays ()")}}
   
Retorna uma promessa que resolve uma matriz de objetos {{domxref ("VRDisplay")}} que representa qualquer dispositivo VR disponível conectado ao computador.
{{Domxref ("Window.onvrdisplayconnected")}}
   
Representa um manipulador de eventos que será executado quando um dispositivo VR compatível tiver sido conectado ao computador (quando o evento {{event ("vrdisplayconnected")}} for acionado).
{{Domxref ("Window.onvrdisplaydisconnected")}}
   
Representa um manipulador de eventos que será executado quando um dispositivo VR compatível tiver sido desconectado do computador (quando o evento {{event ("vrdisplaydisconnected")}} for acionado).
{{Domxref ("Window.onvrdisplaypresentchange")}}
   
Representa um manipulador de eventos que será executado quando o estado de apresentação de um dispositivo VR mudar - isto é, vai de apresentar a não apresentar, ou vice-versa (quando o evento {{event ("onvrdisplaypresentchange")}} é acionado).

Examplos

Você pode encontrar uma série de exemplos nesses repositórios Github:

  • A-Frame: Estrutura web de código aberto para a construção de experiências VR. Muitos exemplos.
  • mdn/webvr-tests:Demonstrações simples construídas para ilustrar o uso de recursos básicos.
  • MozVR team: Mais Demostraçoes , sobre WebVR e muito mais!

Especificações

Specificação Status Comentario
{{SpecName('WebVR')}} {{Spec2('WebVR')}} Initial definition

Compatibilidade do Browser (navegador)

{{CompatibilityTable}}

Feature Chrome Chromium Firefox (Gecko) Internet Explorer Opera Safari (WebKit)

Suporte  Basico

{{CompatNo}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatNo}} {{CompatNo}} {{CompatNo}}
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile Chrome for Android Samsung Internet for GearVR

Suporte Basico

{{CompatNo}} {{CompatVersionUnknown}} {{CompatNo}} {{CompatNo}} {{CompatNo}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}
 

Veja Também

  • webvr.info -Informações atualizadas sobre WebVR, configuração do navegador e comunidade.
  • webvr.rocks- Informações atualizadas sobre o suporte ao navegador WebVR (incluindo compilações experimentais).
  • MozVr.com — demos, downloads,outros recursos da equipe de VR da Mozilla.
  • A-Frame — a web framework Para a construção de experiências VR (com HTML), a partir da equipe Mozilla VR.
  • Console Game on WebUma coleção de demonstrações interessantes conceito de jogo, alguns dos quais incluem WebVR.
  • threejs-vr-boilerplateUm modelo de iniciador muito útil para escrever aplicações WebVR.
  • Oculus Rift homepage

Etiquetas do documento e colaboradores

 Colaboradores desta página: kausdev
 Última atualização por: kausdev,