Javascript 具有大坐标的3.JS相交倾斜

Javascript 具有大坐标的3.JS相交倾斜,javascript,three.js,raycasting,Javascript,Three.js,Raycasting,我正在使用THREE.js构建一个游戏 目前,我在这个位置有一个对象: (-83645, 476450, 412912) 我正在尝试对该对象执行单击检测。 但是,当我使用THREE.js示例站点上显示的光线投射器时,我的光线总是倾斜的。如果我将所有坐标向下倾斜100,光线投射效果会非常好 我想这可能与规范化过程中的除法问题有关,也可能与某个除法某处发生的溢出错误有关 现在,我正在缩小坐标,但是,从长远来看,我们希望坐标保持不变 有人知道为什么大坐标会使光线倾斜吗?提前谢谢 编辑: 这里有一把快

我正在使用THREE.js构建一个游戏

目前,我在这个位置有一个对象:

(-83645, 476450, 412912)
我正在尝试对该对象执行单击检测。
但是,当我使用THREE.js示例站点上显示的光线投射器时,我的光线总是倾斜的。如果我将所有坐标向下倾斜100,光线投射效果会非常好

我想这可能与规范化过程中的除法问题有关,也可能与某个除法某处发生的溢出错误有关

现在,我正在缩小坐标,但是,从长远来看,我们希望坐标保持不变

有人知道为什么大坐标会使光线倾斜吗?提前谢谢

编辑: 这里有一把快速小提琴:

如中所述,您需要增加相机在平面附近的距离,以避免精度问题

另外,在CSS中,设置
body{margin:0}
,或者查看如何在使用
Raycaster
时计算画布偏移


three.js r.73

你能创建一个简单的测试用例,让我们重现这个问题吗?@Blaise当然,现在有一个小问题。你的问题在这里得到了回答:。另外,确保设置了
正文{margin:0}
。提琴手:@WestLangley刚刚注意到我从来没有把这个标记为正确的。如果你提交答案,我会把它划掉。@WestLangley刚刚注意到我从来没有把这个标记为正确的。如果你提交答案,我就把它划掉。