メインコンテンツへスキップ

XR8.PlayCanvas.run()

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

概要

指定したパイプラインモジュールを追加して、カメラを開きます。

パラメータ

パラメータタイプ説明
pcCamerapc.CameraComponentARで駆動するPlayCanvasのシーンカメラです。
pcApppc.ApplicationPlayCanvasアプリで、通常 this.appを指します。
extraModules [Optional][Object]インストールする追加パイプラインモジュールのオプション配列です。
config{canvas, webgl2, ownRunLoop, cameraConfig, glContextConfig, allowedDevices, layers}XR8.run() に渡す設定パラメータと、PlayCanvas固有の設定です(例:layers )。

configは、以下のプロパティを持つオブジェクトです。

プロパティタイプデフォルト説明
canvasHTMLCanvasElementカメラフィードが描画されるHTMLキャンバスを指定します。 通常、これは document.getElementById('application-canvas')で指定されます。
webgl2 [Optional]Booleanfalsetrueの場合、利用可能であればWebGL2を使用し、そうでなければWebGL1にフォールバックします。 falseの場合、常にWebGL1を使用します。
ownRunLoop [Optional]Booleanfalsetrueの場合、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]WebGLContextAttributesnullWebGL canvasコンテキストを構成するための属性です。
allowedDevices [Optional]XR8.XrConfig.device()XR8.XrConfig.device().MOBILEパイプラインが実行されるデバイスのクラスを指定します。 現在のデバイスがそのクラスにない場合、カメラを開く前に実行に失敗します。 allowedDevicesがXR8.XrConfig.device().ANYの場合、常にカメラをオープンします。 ワールド・トラッキングは、XR8.XrConfig.device().MOBILEでのみ使用できることに注意してください。
layers [Optional][][]GlTextureRendererを用いて描画するレイヤーのリストを指定します。 キーには8th Wallのレイヤー名、バリューには8th Wallのレイヤーを使ってテクスチャとマスクにレンダリングすべきPlayCanvasのレイヤー名のリストを指定します。 値の例:{"sky": ["FirstSkyLayer", "SecondSkyLayer"]}

戻り値

なし

var layerscontroller = pc.createScript('layerscontroller')

layerscontroller.prototype.initialize = function() {
// XRが完全に読み込まれたら、カメラフィードを開いてAR表示を開始します。
const runOnLoad = ({pcCamera, pcApp}, extramodules) => () => {
// キャンバス名を渡します。 通常、これは'application-canvas'です。
const config = {
canvas: document.getElementById('application-canvas'),
layers: {"sky": ["Sky"]}
}
XR8.PlayCanvas.run({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(), // ランタイムエラー時にエラー画像を表示します。
XR8.LayersController.pipelineModule(), // スカイ・エフェクトのサポートを追加します。
])})
}