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

XR8.XrController.hitTest()

XrController.hitTest(X, Y, includedTypes = [])

概要

カメラフィード上の点の3次元位置を推定します。 XとYは、0から1の間の数値で指定します。(0, 0)はカメラフィードの左上隅、(1, 1)はカメラフィードの右下隅です。このカメラフィードは、 XR8.XrController.updateCameraProjectionMatrix()で指定したカメラでレンダリングしたものになります。 3次元位置推定に使用されたデータのソースに基づく1回のヒットテストに対して、複数の位置推定が返される場合があります。 位置の推定に使用されたデータソースは、hitTest.typeで示されます。

パラメータ

パラメータタイプ説明
XNumberカメラフィードの左から右への水平位置を表す 0~1の値です。
YNumberカメラフィードの上から下への垂直位置を表す0〜1の値です。
includedTypes[String]'FEATURE_POINT'を含むリストです。

戻り値

ヒットテストから推定される3次元位置の配列です。

[{ type, position, rotation, distance }]

パラメータタイプ説明
タイプString'FEATURE_POINT', 'ESTIMATED_SURFACE', 'DETECTED_SURFACE','UNSPECIFIED'のいずれか一つを返します。
position{x, y, z}カメラフィード上でクエリされた地点の推定3Dポジションです。
rotation{x, y, z, w}カメラフィード上でクエリされた地点の推定3Dローテーションです。
distanceNumberカメラフィード上でクエリされた地点の機器からの推定距離です。

const hitTestHandler = (e) => {
const x = e.touches[0].clientX / window.innerWidth
const y = e.touches[0].clientY / window.innerHeight
const hitTestResults = XR8.XrController.hitTest(x, y, ['FEATURE_POINT'])
}