【发布时间】:2016-11-28 20:40:44
【问题描述】:
老实说,我试图在下面找到问题的解决方案,请帮助我。对不起我的英语:)
我已经创建了一张地图,添加了一个摄像头 + 添加了所有维度的摄像头控件。
当我得到光标相对于网格的位置时,位置总是不同的角度不同。
查看jsfiddle.net中的所有代码:http://jsfiddle.net/BT3g3/
我使用 Three.js r49。
这段代码只负责计算位置。
function onDocumentMouseMove(event) {
var vector = new THREE.Vector3( ( event.clientX / window.innerWidth ) * 2 - 1, - ( event.clientY / window.innerHeight ) * 2 + 1, 1);
projector.unprojectVector( vector, camera );
var ray = new THREE.Ray( camera.position, vector.subSelf( camera.position ).normalize() );
var intersect = ray.intersectObject( island );
if ( intersect.length > 0) { // !!
document.getElementById('z').value = intersect[0].point.z;
document.getElementById('x').value = intersect[0].point.x;
}
}
我在浏览互联网时遇到an article,光标位置在地图上,但我无法将此方法移至我的项目:(
请帮忙!
【问题讨论】:
-
问题解决了!!!我在 THREE.Vector3(x, y, z) 中将“z”更改为 0.5
标签: javascript cursor position three.js webgl