WebVR API
Experimental: Esta é uma tecnologia experimental (en-US)
Verifique a tabela de compatibilidade entre Navegadores cuidadosamente antes de usar essa funcionalidade em produção.
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
Todos os dispositivos VR ligados ao computador serão devolvidos pelo Navigator.getVRDisplays()
(en-US) método. Que retorna uma matriz de objetos para representar os dispositivos conectados, que herdam do objeto geral VRDevice
(en-US) Geralmente o display usado na cabeça terá dois dispositivos - o próprio display montado na cabeça, representado por HMDVRDevice
(en-US), e uma câmera com sensor na posição que manterá o controle de sua posição de cabeça, representada por PositionSensorVRDevice
(en-US).
O objeto PositionSensorVRDevice
(en-US) contém o método getState()
(en-US), que retorna um objeto VRPositionState
(en-US) - 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 atuais, úteis para atualizar o processamento de uma cena em cada trama de acordo com o movimento do visor montado na cabeça VR.
O método HMDVRDevice.getEyeParameters()
(en-US) retorna um objeto VREyeParameters
(en-US), 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 VREyeParameters.currentFieldOfView
(en-US) retorna um objeto VRFieldOfView
(en-US) 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 HMDVRDevice.setFieldOfView()
(en-US).
WebVR Interfaces
VRDisplay
(en-US)
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.
VRDisplayCapabilities
(en-US)
Descreve os recursos de um VRDisplay
(en-US) - seus recursos podem ser usados para executar testes de capacidade do dispositivo VR, por exemplo, ele pode retornar informações de posição.
VRPose
(en-US)
Representa o estado de posição em um dado carimbo de data/hora (que inclui orientação, posição, velocidade e aceleração).
VREyeParameters
(en-US)
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.
VRFieldOfView
(en-US)
Representa um campo de visão definido por 4 valores de graus diferentes que descrevem a vista a partir de um ponto central.
VRLayer
(en-US)
Representa uma camada a ser apresentada em VRDisplay
(en-US).
VRStageParameters
(en-US)
Representa os valores que descrevem a área de estágio para dispositivos que suportam experiências em escala de sala.
Extensões para outras interfaces
Gamepad.displayId
(en-US) Somente leitura
Retorna o VRDisplay.displayId
(en-US) do associado VRDisplay
(en-US) - o VRDisplay que o gamepad está controlando a cena exibida de.
Navigator.activeVRDisplays
(en-US) Somente leitura
Retorna uma matriz contendo todos os objetos VRDisplay
(en-US) que está sendo apresentado (VRDisplay.ispresenting
(en-US)).
Navigator.getVRDisplays()
(en-US)
Retorna uma promessa que resolve uma matriz de objetos VRDisplay
(en-US) que representa qualquer dispositivo VR disponível conectado ao computador.
Window.onvrdisplayconnected
(en-US)
Representa um manipulador de eventos que será executado quando um dispositivo VR compatível tiver sido conectado ao computador (quando o evento vrdisplayconnected
for acionado).
Window.onvrdisplaydisconnected
(en-US)
Representa um manipulador de eventos que será executado quando um dispositivo VR compatível tiver sido desconectado do computador (quando o evento vrdisplaydisconnected
for acionado).
Window.onvrdisplaypresentchange
(en-US)
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 onvrdisplaypresentchange
é acionado).
Exemplos
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 demonstrações, sobre WebVR e muito mais!
Especificações
No specification found
No specification data found for api.Navigator.getVRDisplays
.
Check for problems with this page or contribute a missing spec_url
to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.
Compatibilidade com navegadores
BCD tables only load in the browser
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 Web- Uma coleção de demonstrações interessantes conceito de jogo, alguns dos quais incluem WebVR.
- threejs-vr-boilerplate- Um modelo de iniciador muito útil para escrever aplicações WebVR.
- Oculus Rift homepage