Three.js单击对象

时间:2013-10-17 11:21:06

标签: javascript three.js

我一直试图让this示例为我工作。我快到了。 我的问题是我没有使用全屏画布。我正在使用一个较小的div,根据分辨率可能放置不同。

我的工作是在这个div中获取鼠标点击的坐标,点击对象也正常。但是Everything有点偏移,可点击区域比对象本身大。

所以我的问题是如何让这更准确。

此代码http://jsfiddle.net/phacer/FHD8W/1/适用于我的浏览器,但不适用于JSFiddle。 所以在这种情况下,我如何点击我的对象?

我认为第180行是错误的。

var vector = new THREE.Vector3((x / WIDTH) / 1 - 1, -(y / HEIGHT) / 1 + 1, 0.5);

1 个答案:

答案 0 :(得分:1)

你非常接近。最大的问题是使用旧的r54库。截至r58,Raycasting变得更好。所以看看这个新的小提琴http://jsfiddle.net/FHD8W/3/我删除了r54链接并向github.io添加了一个外部资源。

另外,你是正确的180行需要稍微调整,看起来像这样:

var vector = new THREE.Vector3((x / WIDTH) * 2 - 1, -(y / HEIGHT) * 2 + 1, 0.5);

应该这样做