Untitled

 avatar
unknown
plain_text
2 years ago
1.6 kB
7
Indexable
const render = (timestamp: any, frame: XRFrame) => {
    if (frame) {
      if (hitTestSource) {
        const hitTestResults = frame.getHitTestResults(hitTestSource);
        if (hitTestResults.length > 0 && marker) {
          const hit = hitTestResults[0];
          const pose = hit?.getPose(localSpace);
          marker.visible = true;
          marker.matrix.fromArray(pose?.transform.matrix);
          afterTap(pose, hit);
        } else {
          const viewerPointPose = frame?.getViewerPose(viewerSpace);
          if (viewerPointPose?.views?.length && viewerPointPose?.views?.length > 0) {
            const depthInformations = (frame as any)?.getDepthInformation(viewerPointPose.views?.[0]);
            if (depthInformations) {
              $("#center-screen-distance").text(depthInformations.getDepthInMeters(0.5, 0.5));
              const distance = depthInformations.getDepthInMeters(0.5, 0.5);
              const position = new THREE.Vector3(0, 0, -distance);
              position.unproject(camera);
              const quaternion = new THREE.Quaternion();
              quaternion.setFromAxisAngle(new THREE.Vector3(1, 0, 0), Math.PI / 2);
              marker.position.copy(position);
              marker.setRotationFromQuaternion(quaternion);
              marker.updateMatrix();
              marker.visible = true;
            }
          } else {
            marker.visible = false;
          }
          marker.visible = false;
        }
      }
      updateObjectPositions(frame);
    }

    renderEngine.render(scene, camera);
  };
Editor is loading...
Leave a Comment