Untitled
unknown
plain_text
2 years ago
1.6 kB
10
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