本文へスキップ

XR8.Threejs.xrScene()

XR8.Threejs.xrScene()`を使用する。

説明

xrシーン、カメラ、レンダラー、(オプションの)カメラフィードテクスチャ、および(オプションの)layerScenesへのハンドルを取得します。

パラメータ

なし

{#returns}を返す。

オブジェクト: { scene, camera, renderer, cameraTexture, layerScenes }.

プロパティタイプ説明
シーンシーン`three.jsの現場。
カメラカメラ`three.jsのメインカメラ。
レンダラレンダラー`three.jsのレンダラー。
cameraTexture [オプション]テクスチャ`カメラのフィードをキャンバスサイズにトリミングしたthree.jsテクスチャ。 XR8.Threejs.configure({renderCameraTexture: true})`](configure.md)を呼び出すことで有効になります。
layerScenes [オプション]<String, LayerScene>`レコードレイヤー名とthree.jsのレイヤーシーンのマップ。 XR8.Threejs.configure({layerScenes: ['sky']})`](configure.md)を呼び出すことで有効になるレコードが含まれます。

layerScenesオブジェクトのLayerScene` は以下のプロパティを持つ:

プロパティタイプ説明
シーンシーン`このレイヤーのthree.jsシーン。 この空に追加されたコンテンツは、このレイヤーが検出されたカメラ・フィードのエリアにいるときのみ表示されます。 例えばSky Effectsでは、立方体は空にしか表示されません。 XR8.LayersController.configure({layers: {sky: {invertLayerMask: true}}})`を使ってこれを反転させ、キューブが空にないときだけ表示されるようにします。
カメラカメラ`このレイヤーのthree.jsカメラ。 その位置と回転はメインカメラと同期する。

const {scene, camera, renderer, cameraTexture} = XR8.Threejs.xrScene()

例 - スカイシーン

XR8.LayersController.configure({layers: {sky: {}}})
XR8.Threejs.configure({layerScenes: ['sky']})
...
const {layerScenes} = XR8.Threejs.xrScene()
createSkyScene(layerScenes.sky.scene, layerScenes.sky.camera)