我想使用基于位置的标记来增强固定网络摄像头的图像。这将被添加到已经在其他部分使用 three.js(通过react-three-fiber )的现有 React 应用程序中,因此这些技术将被重用。
虽然计算标记(已知位置)相对于相机(已知位置)的位置非常容易,但我正在努力配置相机,以便在“真实”对象和 AR 之间获得良好的视觉匹配标记。
我创建了一个带有人工示例的代码框,以说明挑战。
这是我配置相机的尝试:
const camera = {
position: [0, 1.5, 0],
fov: 85,
near: 0.005,
far: 1000
};
const bearing = 109; // degrees
<Canvas camera={camera}>
<Scene bearing={bearing}/>
</Canvas>
在场景组件的更下方,我根据网络摄像头的方位旋转摄像头,如下所示:
...
const rotation = { x: 0, y: bearing * -1, z: 0 };
camera.rotation.x = (rotation.x * Math.PI) / 180;
camera.rotation.y = (rotation.y * Math.PI) / 180;
camera.rotation.z = (rotation.z * Math.PI) / 180;
...
关于如何将相机配置为很好地匹配 three.js 框和现实生活对象的任何提示/想法?