Comment créer du contenu VR

Ce guide fournit un bref aperçu des composants de base d'une application VR basée sur le web réalisée avec three.js.

Flux de travail

Tout d'abord, vous devez inclure [link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/webxr/VRButton.js VRButton.js] dans votre projet.

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

*VRButton.createButton()* fait deux choses importantes : il crée un bouton qui indique la compatibilité VR. De plus, il initialise une session VR si l'utilisateur active le bouton. La seule chose que vous avez à faire est d'ajouter la ligne de code suivante à votre application.

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

Ensuite, vous devez indiquer à votre instance de `WebGLRenderer` d'activer le rendu XR.

renderer.xr.enabled = true;

Enfin, vous devez ajuster votre boucle d'animation car nous ne pouvons pas utiliser notre fonction bien connue *window.requestAnimationFrame()*. Pour les projets VR, nous utilisons `renderer.setAnimationLoop()`. Le code minimal ressemble à ceci :

renderer.setAnimationLoop( function () {

  renderer.render( scene, camera );

} );

Étapes suivantes

Jetez un œil à l'un des exemples officiels de WebVR pour voir ce flux de travail en action.

[example:webxr_xr_ballshooter WebXR / XR / tireur de balles]
[example:webxr_xr_cubes WebXR / XR / cubes]
[example:webxr_xr_dragging WebXR / XR / glisser-déposer]
[example:webxr_xr_paint WebXR / XR / peinture]
[example:webxr_xr_sculpt WebXR / XR / sculpture]
[example:webxr_vr_panorama_depth WebXR / VR / panorama-profondeur]
[example:webxr_vr_panorama WebXR / VR / panorama]
[example:webxr_vr_rollercoaster WebXR / VR / montagnes russes]
[example:webxr_vr_sandbox WebXR / VR / bac à sable]
[example:webxr_vr_video WebXR / VR / vidéo]