Zum Hauptinhalt springen

onStart()

onStart: ({ canvas, GLctx, computeCtx, isWebgl2, orientation, videoWidth, videoHeight, canvasWidth, canvasHeight, config })

Beschreibung​

onStart() wird aufgerufen, wenn XR startet.

Parameter​

ParameterBeschreibung
canvasDie Leinwand, die die GPU-Verarbeitung und die Benutzeranzeige unterstĂĽtzt.
GLctxDer WebGLRenderingContext oder WebGL2RenderingContext der Zeichenfläche.
computeCtxDer WebGLRenderingContext oder WebGL2RenderingContext des Compute Canvas.
isWebgl2Wahr, wenn GLctx ein WebGL2RenderingContext ist.
orientierungDie Drehung der Benutzeroberfläche gegenüber dem Hochformat, in Grad (-90, 0, 90, 180).
videoWidthDie Höhe des Kamerafeeds in Pixeln.
videoHeightDie Höhe des Kamerafeeds in Pixeln.
canvasWidthDie Breite der GLctx Leinwand in Pixeln.
canvasHeightDie Höhe der GLctx Leinwand in Pixeln.
configDie Konfigurationsparameter, die an XR8.run() ĂĽbergeben wurden.

Beispiel​

XR8.addCameraPipelineModule({
name: 'mycamerapipelinemodule',
onStart: ({canvasWidth, canvasHeight}) => {
// Holen Sie sich die three.js Szene. Dies wurde von XR8.Threejs.pipelineModule().onStart() erstellt. Der
// Grund, warum wir hier jetzt darauf zugreifen können, ist, dass 'mycamerapipelinemodule' nach
// XR8.Threejs.pipelineModule() installiert wurde.
const {scene, camera} = XR8.Threejs.xrScene()

// FĂĽgen Sie der Szene einige Objekte hinzu und legen Sie die Startposition der Kamera fest.
myInitXrScene({scene, camera})

// Synchronisieren Sie die 6DoF-Position und die Kameraparameter des XR-Controllers mit unserer Szene.
XR8.XrController.updateCameraProjectionMatrix({
origin: camera.position,
facing: camera.quaternion,
})
},
})