XR8.run()
XR8.run(canvas, webgl2, ownRunLoop, cameraConfig, glContextConfig, allowedDevices, sessionConfiguration)
概要
カメラを開き、カメラランループの実行を開始します。
パラメータ
プロパティ | タイプ | デフォルト | 説明 |
---|---|---|---|
canvas | HTMLCanvasElement | カメラフィードが描画されるHTMLキャンバスを指定します。 | |
webgl2 [Optional] | Boolean | true | trueの場合、利用可能であればWebGL2を使用し、そうでなければWebGL1にフォールバックします。 falseの場合、常にWebGL1を使用します。 |
ownRunLoop [Optional] | Boolean | true | trueの場合、XRはそれ自身の実行ループを使用します。 falseの場合、実行ループを自分で用意し、runPreRenderとrunPostRenderを自ら呼び出さなければなりません【上級開発者限定】。 |
cameraConfig: {direction} [Optional] | Object | {direction: XR8.XrConfig.camera().BACK} | 使用したいカメラです。 direction でサポートされている値は、XR8.XrConfig.camera().BACK またはXR8.XrConfig.camera().FRONT です。 |
glContextConfig [Optional] | WebGLContextAttributes | null | WebGL canvasコンテキストを構成するための属性です。 |
allowedDevices [Optional] | XR8.XrConfig.device() | XR8.XrConfig.device().MOBILE_AND_HEADSETS | パイプラインが実行されるデバイスのクラスを指定します。 現在のデバイスがそのクラスにない場合、カメラを開く前に実行に失敗します。 allowedDevicesがXR8.XrConfig.device().ANY の場合、常にカメラをオープンします。 ワールド・トラッキングは、XR8.XrConfig.device().MOBILE_AND_HEADSETS またはXR8.XrConfig.device().MOBILE でしか使用できないことに注意して下さい。 |
sessionConfiguration: {disableXrTablet, xrTabletStartsMinimized, defaultEnvironment} [Optional] | Object | {} | 様々なタイプのセッションに関連するオプションを設定します。 |
sessionConfiguration
は、以下の[Optional]のプロパティを持つオブジェクトです。
プロパティ | タイプ | デフォルト | 説明 |
---|---|---|---|
disableXrTablet [Optional] | Boolean | false | イマーシブセッションでは、タブレットの表示を無効にします。 |
xrTabletStartsMinimized [Optional] | Boolean | false | タブレットが最小化されて起動します。 |
defaultEnvironment {disabled, floorScale, floorTexture, floorColor, fogIntensity, skyTopColor, skyBottomColor, skyGradientStrength} [Optional] | Object | {} | イマーシブセッションのデフォルト環境に関するオプションを設定します。 |
defaultEnvironment
は、以下の[Optional]のプロパティを持つオブジェクトです。
プロパティ | タイプ | デフォルト | 説明 |
---|---|---|---|
disabled [Optional] | Boolean | false | デフォルトの "void space" 背景を無効にします。 |
floorScale [Optional] | Number | 1 | 床のテクスチャを縮小または拡大させます。 |
floorTexture [Optional] | Asset | タイル張りの代替テクスチャのアセットまたはURLを指定します。 | |
floorColor [Optional] | Hex Color | #1A1C2A | 床の色を設定します。 |
fogIntensity [Optional] | Number | 1 | 霧の濃度を増減します。 |
skyTopColor [Optional] | Hex Color | #BDC0D6 | ユーザーの真上にある空の色を設定します。 |
skyBottomColor [Optional] | Hex Color | #1A1C2A | 水平線の空の色を設定します。 |
skyGradientStrength [Optional] | Number | 1 | 空のグラデーションがどのようにシャープに遷移するかをコントロールします。 |
注意事項:
cameraConfig
: ワールド・トラッキング (SLAM)は、back
カメラにのみ対応しています。front
カメラを使用する場合は、まずXR8.XrController.configure({disableWorldTracking: true})
を呼び出し、ワールド・トラッキングを無効にする必要があります。
戻り値
なし
例
// カメラを開き、カメラランループの実行を開始します。
// index.html内: <canvas id="camerafeed"></canvas>
XR8.run({canvas: document.getElementById('camerafeed')})
例)フロントカメラの使用(画像追跡のみ)
// ワールド・トラッキング(SLAM)を無効にします。 これはフロントカメラを使用する際に必要です。
XR8.XrController.configure({disableWorldTracking: true})
// カメラを開いてカメラランループの実行を開始します。
// index.html 内: <canvas id="camerafeed"></canvas>
XR8.run({canvas: document.getElementById('camerafeed'), cameraConfig: {direction: XR8.XrConfig.camera().FRONT}})
例)glContextConfigの設定
// カメラを開き、不透明なキャンバスでカメラランループの実行を開始します。
// index.html内: <canvas id="camerafeed"></canvas>
XR8.run({canvas: document.getElementById('camerafeed'), glContextConfig: {alpha: false, preserveDrawingBuffer: false}})