THREE.JS 大坐标交点偏斜
THREE.JS Intersection skew with large coordinates
我正在使用 THREE.js 构建游戏。
目前我在这个位置有一个对象:
(-83645, 476450, 412912)
我正在尝试对此对象进行点击检测。
但是,当我使用 THREE.js 示例站点上所示的光线投射器时,我的光线总是偏斜的。如果我将所有坐标向下倾斜 100,则光线投射效果很好。
我想这可能与规范化期间的除法问题有关,也可能与某处某个除法发生的溢出错误有关。
目前,我正在缩小坐标,但是,在较长的 运行 中,我们希望坐标保持不变。
有人知道为什么大坐标会扭曲我们的光线吗?提前致谢!
编辑:
这是一个快速 fiddle:
http://jsfiddle.net/88ehm1yf/
如 this answer 中所述,您需要增加相机 near
平面距离以避免精度问题。
此外,在您的 CSS 中设置 body { margin: 0 }
,或参阅 this answer 以了解在使用 Raycaster
时如何计算 canvas 偏移量。
three.js r.73
我正在使用 THREE.js 构建游戏。
目前我在这个位置有一个对象:
(-83645, 476450, 412912)
我正在尝试对此对象进行点击检测。
但是,当我使用 THREE.js 示例站点上所示的光线投射器时,我的光线总是偏斜的。如果我将所有坐标向下倾斜 100,则光线投射效果很好。
我想这可能与规范化期间的除法问题有关,也可能与某处某个除法发生的溢出错误有关。
目前,我正在缩小坐标,但是,在较长的 运行 中,我们希望坐标保持不变。
有人知道为什么大坐标会扭曲我们的光线吗?提前致谢!
编辑: 这是一个快速 fiddle: http://jsfiddle.net/88ehm1yf/
如 this answer 中所述,您需要增加相机 near
平面距离以避免精度问题。
此外,在您的 CSS 中设置 body { margin: 0 }
,或参阅 this answer 以了解在使用 Raycaster
时如何计算 canvas 偏移量。
three.js r.73