Saltar al contenido principal

XR8.XrController.hitTest()

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

Descripción

Estima la posición 3D de un punto en la alimentación de la cámara. X e Y se especifican como números entre 0 y 1, donde (0, 0) es la esquina superior izquierda y (1, 1) es la esquina inferior derecha de la alimentación de la cámara tal y como se renderiza en la cámara que se especificó mediante XR8.XrController.updateCameraProjectionMatrix(). Pueden devolverse varias estimaciones de posición 3d para una sola prueba de acierto, según la fuente de datos que se utilice para estimar la posición. La fuente de datos que se utilizó para estimar la posición se indica en hitTest.type.

Parámetros

ParámetroTipoDescripción
XNúmeroValor entre 0 y 1 que representa la posición horizontal en la alimentación de la cámara de izquierda a derecha.
YNúmeroValor entre 0 y 1 que representa la posición vertical en la alimentación de la cámara de arriba a abajo.
includedTypesCadenaLista que debe contener 'FEATURE_POINT'.

Vuelta

Una matriz de posiciones 3D estimadas a partir de la prueba de impacto:

{#can-i-find-my-scans-after-vps-activation-is-done}

ParámetroTipoDescripción
tipoCadenaUno de los siguientes: 'FEATURE_POINT', 'ESTIMATED_SURFACE', 'DETECTED_SURFACE', o 'UNSPECIFIED'
posición{x, y, z}La posición 3D estimada del punto consultado en la imagen de la cámara.
rotación{x, y, z, w}La rotación 3D estimada del punto consultado en la imagen de la cámara.
distanciaNúmeroLa distancia estimada desde el dispositivo del punto consultado en la alimentación de la cámara.

Ejemplo

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'])
}