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 }
Propiedad | Tipo | Descripción |
---|---|---|
scene | Escena | La escena tres.js. |
camera | Cámara | La cámara principal tres.js. |
renderer | Renderizador | El renderizador de three.js. |
cameraTexture [Opcional] | Textura | Una 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:
Propiedad | Tipo | Descripción |
---|---|---|
scene | Escena | La 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. |
camera | Cámara | La 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)