XR8.PlayCanvas.runXr() (非推奨)
XR8.PlayCanvas.runXr( {pcCamera, pcApp}, [extraModules], config )
概要
カメラを開き、PlayCanvasのシーンでワールド・トラッキングおよび/またはイメージ・ターゲットの実行を開始します。
パラメータ
パラメータ | 説明 |
---|---|
pcCamera | ARで駆動するPlayCanvasのシーンカメラです。 |
pcApp | PlayCanvasアプリで、通常 this.app を指します。 |
extraModules [Optional] | インストールする追加パイプラインモジュールのオプション配列です。 |
config | XR8.run() に渡す設定パラメータです。 |
config
は、以下のプロパティを持つオブジェクトです。
プロパティ | タイプ | デフォルト | 説明 |
---|---|---|---|
canvas | HTMLCanvasElement | カメラフィードが描画されるHTMLキャンバスを指定します。 通常、これは'application-canvas'です。 | |
webgl2 [Optional] | Boolean | false | trueの場合、利用可能であればWebGL2を使用し、そうでなければWebGL1にフォールバックします。 falseの場合、常にWebGL1を使用します。 |
ownRunLoop [Optional] | Boolean | false | trueの場合、XRはそれ自身の実行ループを使用します。 falseの場合、実行ループを自分で用意し、XR8.runPreRender() とXR8.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 | パイプラインが実行されるデバイスのクラスを指定します。 現在のデバイスがそのクラスにない場合、カメラを開く前に実行に失敗します。 allowedDevicesがXR8.XrConfig.device().ANY の場合、常にカメラをオープンします。 ワールド・トラッキングは、XR8.XrConfig.device().MOBILE でのみ使用できる ことに注意してください。 |
戻り値
なし
例
var xrcontroller = pc.createScript('xrcontroller')
// オプションで、ワールド・トラッキングを無効にして、イメージ・ターゲットをトラッキングするときの効率を上げること ができます。
xrcontroller.attributes.add('disableWorldTracking', {type: 'Boolean'})
xrcontroller.prototype.initialize = function() {
const disableWorldTracking = this.disableWorldTracking
// XRが完全に読み込まれてから、カメラフィードを開いてAR表示を開始します。
const runOnLoad = ({pcCamera, pcApp}, extramodules) => () => {
XR8.xrController().configure({disableWorldTracking})
// canvas名を渡します。 通常、これは'application-canvas'です。
const config = {canvas: document.getElementById('application-canvas') }
XR8.PlayCanvas.runXr({pcCamera, pcApp}, extraModules, config)
}
// PlayCanvasのシーンでカメラを見つけ、
// 現実のユーザーの携帯電話の動きに紐づけます。
const pcCamera = XRExtras.PlayCanvas.findOneCamera(this.entity)
// XRのローディング中、役に立つ情報を表示します。
// Almost There:ユーザーの環境がWeb ARをサポートできるかどうかを検出し、サポートできない場合は、
// 体験を表示するためのヒントを表示します。
// Loading: カメラ許可を求めるプロンプトを表示し、表示できる状態になるまでシーンを隠します。
// Runtime Error:予期せぬ事態が発生した場合、エラー画面を表示します。
XRExtras.Loading.showLoading({onxrloaded: runOnLoad({pcCamera, pcApp: this.app}, [
// 開発者がカスタマイズやテーマにしたいオプションのモジュールです。
XRExtras.AlmostThere.pipelineModule(), // 未対応のブラウザを検出し、ヒントを与えることができます。
XRExtras.Loading.pipelineModule(), // 起動時のローディング画面を管理します。
XRExtras.RuntimeError.pipelineModule(), // ランタイムエラー時にエラー画像を表示します。
])})
}