Ir al contenido principal

XR8.PlayCanvas.run()

XR8.PlayCanvas.run( {pcCamera, pcApp}, [extraModules], config )

Descripción

Añade los módulos Pipeline especificados y, a continuación, abre la cámara.

Parámetros

ParámetroTipoDescripción
pcCámarapc.CameraComponentLa cámara de escena PlayCanvas para conducir con AR.
pcApppc.ApplicationLa aplicación PlayCanvas, normalmente this.app.
extraModules [Opcional][Objeto]Una matriz opcional de módulos de tuberías adicionales para instalar.
config{canvas, webgl2, ownRunLoop, cameraConfig, glContextConfig, allowedDevices, layers}Parámetros de configuración para pasar a XR8.run() así como configuración específica de PlayCanvas, por ejemplo layers.

config es un objeto con las siguientes propiedades:

PropiedadTipoPor defectoDescripción
lonaHTMLCanvasElementEl lienzo HTML en el que se dibujará la imagen de la cámara. Normalmente es document.getElementById('application-canvas').
webgl2 [Opcional]BooleanofalseSi es true, utiliza WebGL2 si está disponible, de lo contrario, vuelve a WebGL1. Si es false, utiliza siempre WebGL1.
ownRunLoop [Opcional]BooleanofalseSi es verdadero, XR debe utilizar su propio bucle de ejecución. Si es falso, usted proporcionará su propio bucle de ejecución y será responsable de llamar a XR8.runPreRender() y a XR8.runPostRender() usted mismo [Sólo usuarios avanzados].
cameraConfig: {direction} [Opcional]Objeto`{dirección: XR8.XrConfig.camera().BACK}``Cámara deseada. Los valores admitidos para direction son XR8.XrConfig.camera().BACK o XR8.XrConfig.camera().FRONT.
glContextConfig [Opcional]WebGLContextAttributes"nullLos atributos para configurar el contexto del lienzo WebGL.
dispositivospermitidos [Opcional]XR8.XrConfig.device()XR8.XrConfig.device().MOBILEEspecifique la clase de dispositivos en los que debe ejecutarse la canalización. Si el dispositivo actual no pertenece a esa clase, la ejecución fallará antes de abrir la cámara. Si allowedDevices es XR8.XrConfig.device().ANY, abre siempre la cámara. Tenga en cuenta que el seguimiento mundial sólo puede utilizarse con XR8.XrConfig.device().MOBILE.
capas [Opcional][][]Especifica la lista de capas a dibujar usando GlTextureRenderer. La clave es el nombre de la capa de 8th Wall, y el valor es una lista de nombres de capas de PlayCanvas que debemos renderizar a una textura y máscara usando la capa de 8th Wall. Valor de ejemplo: {"sky": ["PrimeraCapaCielo", "SegundaCapaCielo"]}.

Devuelve

Ninguno

Ejemplo

var layerscontroller = pc.createScript('layerscontroller')

layerscontroller.prototype.initialize = function() {
// Después de que XR se haya cargado completamente, abre la cámara y empieza a mostrar AR.
const runOnLoad = ({pcCamera, pcApp}, extramodules) => () => {
// Introduce el nombre de tu lienzo. Normalmente es 'application-canvas'.
const config = {
canvas: document.getElementById('application-canvas'),
layers: {"cielo": ["Sky"]}
}
XR8.PlayCanvas.run({pcCamera, pcApp}, extraModules, config)
}

// Encuentra la cámara en la escena PlayCanvas, y átala al movimiento del teléfono del usuario en el
// mundo.
const pcCamera = XRExtras.PlayCanvas.findOneCamera(this.entity)

// Mientras XR aún se está cargando, muestra algunas cosas útiles.
// Almost There: Detecta si el entorno del usuario puede soportar web ar, y si no es así,
// muestra pistas sobre cómo ver la experiencia.
// Cargando: muestra solicitudes de permiso para la cámara y oculta la escena hasta que esté lista para su visualización.
// Error de tiempo de ejecución: Si algo inesperado sale mal, muestra una pantalla de error.
XRExtras.Loading.showLoading({onxrloaded: runOnLoad({pcCamera, pcApp: this.app}, [
// Módulos opcionales que los desarrolladores pueden desear personalizar o tematizar.
XRExtras.AlmostThere.pipelineModule(), // Detecta navegadores no soportados y da pistas.
XRExtras.Loading.pipelineModule(), // Gestiona la pantalla de carga al inicio.
XRExtras.RuntimeError.pipelineModule(), // Muestra una imagen de error en caso de error de ejecución.
XR8.LayersController.pipelineModule(), // Añade soporte para Sky Effects.
])})
}