Como criar conteúdo de VR

Este guia fornece uma breve visão geral dos componentes básicos de uma aplicação de VR baseada na web feita com three.js.

Workflow

Primeiro, você deve incluir [link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/webxr/VRButton.js VRButton.js] em seu projeto.

import { VRButton } from 'three/addons/webxr/VRButton.js';

*VRButton.createButton()* faz duas coisas importantes: Cria um botão que indica compatibilidade com VR. Além disso, inicia uma sessão de VR se o usuário ativar o botão. A única coisa que você tem fazer é adicionar a seguinte linha de código ao seu aplicativo.

document.body.appendChild( VRButton.createButton( renderer ) );

Em seguida, você deve informar sua instância do `WebGLRenderer` para habilitar a renderização XR.

renderer.xr.enabled = true;

Finalmente, você precisa ajustar seu loop de animação, pois não podemos usar nossa conhecida função *window.requestAnimationFrame()*. Para projetos de VR usamos [page:WebGLRenderer.setAnimationLoop setAnimationLoop]. O código mínimo fica assim:

renderer.setAnimationLoop( function () { renderer.render( scene, camera ); } );

Próximos Passos

Dê uma olhada em um dos exemplos oficiais de WebVR para ver esse workflow em ação

[example:webxr_vr_ballshooter WebXR / VR / ballshooter]
[example:webxr_vr_cubes WebXR / VR / cubes]
[example:webxr_vr_dragging WebXR / VR / dragging]
[example:webxr_vr_paint WebXR / VR / paint]
[example:webxr_vr_panorama_depth WebXR / VR / panorama_depth]
[example:webxr_vr_panorama WebXR / VR / panorama]
[example:webxr_vr_rollercoaster WebXR / VR / rollercoaster]
[example:webxr_vr_sandbox WebXR / VR / sandbox]
[example:webxr_vr_sculpt WebXR / VR / sculpt]
[example:webxr_vr_video WebXR / VR / video]