Saltar al contenido principal

XR8.Threejs.xrScene()

XR8.Threejs.xrScene()

Descripción

Obtiene un manejador de la escena xr, la cámara, el renderizador, la textura de alimentación de la cámara (opcional) y layerScenes (opcional).

Parámetros

Ninguno

Vuelta

Un objeto: { scene, camera, renderer, cameraTexture, layerScenes }

PropiedadTipoDescripción
sceneEscenaLa escena tres.js.
cameraCámaraLa cámara principal tres.js.
rendererRenderizadorEl renderizador de three.js.
cameraTexture [Opcional]TexturaUna textura three.js con la imagen de la cámara recortada al tamaño del lienzo. Se activa llamando a XR8.Threejs.configure({renderCameraTexture: true}).
layerScenes [Opcional]Record<String, LayerScene<Un mapa de nombres de capas a escenas de capas de three.js. Contendrá los registros que se habiliten llamando a XR8.Threejs.configure({layerScenes: ['sky']}).

La LayerScene en el objeto layerScenes tiene las siguientes propiedades:

PropiedadTipoDescripción
sceneEscenaLa escena three.js para esta capa. El contenido añadido a este cielo sólo será visible cuando se encuentre en una zona de la alimentación de la cámara en la que se haya detectado esta capa. Por ejemplo, en Efectos Cielo un cubo sólo aparecerá en el cielo. Utiliza XR8.LayersController.configure({layers: {sky: {invertLayerMask: true}}}) para invertir esto y hacer que el cubo sólo aparezca cuando no esté en el cielo.
cameraCámaraLa cámara three.js para esta capa. Tendrá su posición y rotación sincronizadas con la cámara principal.

Ejemplo

const {scene, camera, renderer, cameraTexture} = XR8.Threejs.xrScene()

Ejemplo - Escena del cielo

XR8.LayersController.configure({layers: {sky: {}}})
XR8.Threejs.configure({layerScenes: ['sky']})
...
const {layerScenes} = XR8.Threejs.xrScene()
createSkyScene(layerScenes.sky.scene, layerScenes.sky.camera)