XR8.HandController.pipelineModule()
XR8.HandController.pipelineModule()
Descripción
Crea un módulo de canalización de cámara que, cuando se instala, recibe llamadas de retorno sobre cuándo se ha iniciado la cámara, eventos de proceso de cámara y otros cambios de estado. Se utilizan para calcular la posición de la cámara.
Parámetros
Ninguno
Devuelve
El valor devuelto es un objeto puesto a disposición de onUpdate como:
processCpuResult.handcontroller: { rotation, position, intrinsics, cameraFeedTexture }
| Propiedad | Tipo | Descripción |
|---|---|---|
| rotación | {w, x, y, z} | La orientación (cuaternión) de la cámara en la escena. |
| posición | {x, y, z} | La posición de la cámara en la escena. |
| intrínsecos | [Número] | Una matriz de proyección 4x4 de 16 dimensiones de columna mayor que proporciona a la cámara de la escena el mismo campo de visión que la alimentación de la cámara renderizada. |
| cameraFeedTexture | WebGLTexture | La textura que contiene los datos de alimentación de la cámara. |
Eventos enviados
Carga manual: Se dispara cuando comienza la carga para obtener recursos adicionales de AR manual.
`handloading.detail : {maxDetections, pointsPerDetection, rightIndices, leftIndices}``
| Propiedad | Tipo | Descripción |
|---|---|---|
| maxDetecciones | Número | El número máximo de manos que se pueden procesar simultáneamente. |
| puntosPorDetección | Número | Número de vértices que se extraerán por mano. |
| rightIndices | [{a, b, c}] | Índices en la matriz de vértices que forman los triángulos de la malla de la mano. |
| leftIndices | [{a, b, c}] | Índices en la matriz de vértices que forman los triángulos de la malla de la mano. |
Escaneado manual: Se dispara cuando se han cargado todos los recursos AR manuales y ha comenzado la exploración.
`handscanning.detail : {maxDetections, pointsPerDetection, rightIndices, leftIndices}``
| Propiedad | Tipo | Descripción |
|---|---|---|
| maxDetecciones | Número | El número máximo de manos que se pueden procesar simultáneamente. |
| puntosPorDetección | Número | Número de vértices que se extraerán por mano. |
| rightIndices | [{a, b, c}] | Índices en la matriz de vértices que forman los triángulos de la malla de la mano. |
| leftIndices | [{a, b, c}] | Índices en la matriz de vértices que forman los triángulos de la malla de la mano. |
Mano encontrada: Se activa cuando se encuentra una mano por primera vez.
`handfound.detail : {id, transform, vertices, normales, attachmentPoints}``
| Propiedad | Tipo | Descripción |
|---|---|---|
| id | Número | Id numérico de la mano localizada. |
| transformar | {position, rotation, scale} | Transformar información de la mano localizada. |
| vértices | [{x, y, z}] | Posición de los puntos de la mano, relativa a la transformación. |
| normales | [{x, y, z}] | Dirección normal de los vértices, relativa a la transformación. |
| handKind | Número | Representación numérica de la lateralidad de la mano localizada. Los valores válidos son 0 (sin especificar), 1 (izquierda) y 2 (derecha). |
| attachmentPoints | {nombre, posición: {x,y,z}} | Véase XR8.HandController.AttachmentPoints para consultar la lista de puntos de fijación disponibles. La posición es relativa a la transformación. |
transform es un objeto con las siguientes propiedades:
| Propiedad | Tipo | Descripción |
|---|---|---|
| posición | {x, y, z} | La posición 3d de la mano localizada. |
| rotación | {w, x, y, z} | La orientación local 3d de la mano localizada. |
| escala | Número | Factor de escala que debe aplicarse a los objetos unidos a esta mano. |
attachmentPoints es un objeto con las siguientes propiedades:
| Propiedad | Tipo | Descripción |
|---|---|---|
| nombre | Cadena | Nombre del punto de fijación. Véase XR8.HandController.AttachmentPoints para consultar la lista de puntos de fijación disponibles. |
| posición | {x, y, z} | La posición 3d del punto de enganche en la mano localizada. |
| rotación | {w, x, y, z} | El cuaternión de rotación que rota el vector Y positivo al vector óseo del punto de fijación. |
| innerPoint | {x, y, z} | Punto interior de un punto de enganche. (ej. mano palma lado) |
| outerPoint | {x, y, z} | Punto exterior de un punto de enganche. (ej. dorso de la mano) |
| radio | Número | El radio de los puntos de fijación de los dedos. |
| minorRadius | Número | El radio más corto desde la superficie de la mano hasta el punto de fijación de la muñeca. |
| majorRadius | Número | El radio más largo desde la superficie de la mano hasta el punto de fijación de la muñeca. |
manoactualizada: Se activa cuando se encuentra una mano.
`handupdated.detail : {id, transform, vertices, normales, attachmentPoints}``
| Propiedad | Tipo | Descripción |
|---|---|---|
| id | Número | Id numérico de la mano localizada. |
| transformar | {position, rotation, scale} | Transformar información de la mano localizada. |
| vértices | [{x, y, z}] | Posición de los puntos de la mano, relativa a la transformación. |
| normales | [{x, y, z}] | Dirección normal de los vértices, relativa a la transformación. |
| handKind | Número | Representación numérica de la lateralidad de la mano localizada. Los valores válidos son 0 (sin especificar), 1 (izquierda) y 2 (derecha). |
| attachmentPoints | {nombre, posición: {x,y,z}} | Véase XR8.HandController.AttachmentPoints para consultar la lista de puntos de fijación disponibles. La posición es relativa a la transformación. |
transform es un objeto con las siguientes propiedades:
| Propiedad | Tipo | Descripción |
|---|---|---|
| posición | {x, y, z} | La posición 3d de la mano localizada. |
| rotación | {w, x, y, z} | La orientación local 3d de la mano localizada. |
| escala | Número | Factor de escala que debe aplicarse a los objetos unidos a esta mano. |
**Mano perdida: Se dispara cuando una mano deja de ser rastreada.
handlost.detail : { id }
| Propiedad | Tipo | Descripción |
|---|---|---|
| id | Número | Id numérico de la mano localizada. |
Ejemplo: añadir el módulo
XR8.addCameraPipelineModule(XR8.HandController.pipelineModule())