onStart()
onStart: ({ canvas, GLctx, computeCtx, isWebgl2, orientation, videoWidth, videoHeight, canvasWidth, canvasHeight, config })
概要
onStart()
は、XRの起動時に呼び出されます。
パラメータ
パラメータ | 説明 |
---|---|
canvas | GPU処理とユーザー表示をバックアップするキャンバス。 |
GLctx | 描画キャンバスの WebGLRenderingContext または WebGL2RenderingContext 。 |
computeCtx | 計算canvasの WebGLRenderingContext または WebGL2RenderingContext 。 |
isWebgl2 | GLctx が WebGL2RenderingContext の場合は true。 |
orientation | 縦向き(-90, 0, 90, 180)のUIの回転。 |
videoWidth | カメラフィードの高さ をピクセル単位で指定します。 |
videoHeight | カメラフィードの高さをピクセル単位で指定します。 |
canvasWidth | GLctx キャンバスの幅をピクセル単位で指定します。 |
canvasHeight | GLctx キャンバスの高さをピクセル単位で指定します。 |
config | XR8.run() に渡された設定パラメータです。 |
例
XR8.addCameraPipelineModule({
name: 'mycamerapipelinemodule',
onStart: ({canvasWidth, canvasHeight}) => {
// three.js のシーンを取得します。 XR8.Threejs.pipelineModule().onStart()で作成されたものです。
// 今ここでアクセスできるのは、'mycamerapipelinemodule'が
// XR8.Threejs.pipelineModule() の後に設定されたためです。
const {scene, camera} = XR8.Threejs.xrScene()
// シーンにいくつかのオブジェクトを追加し、開始カメラ位置を設定します。
myInitXrScene({scene, camera})
// xrコントローラの6DoF位置とカメラパラメータをシーンと同期させます。
XR8.XrController.updateCameraProjectionMatrix({
origin: camera.position,
facing: camera.quaternion,
})
},
})