我一直在使用Google WebGL Globe并尝试进行一些基本的交互,其中一个包括点击由纬度,经度等生成的条形图.
从我所看到的三个例子来看,答案在于投影仪和光线以找到交叉点.我遇到的问题是下面的代码,它已经从其他几个来源稍微调整过:
var projector = new THREE.Projector();
if (event.target == renderer.domElement) {
var x = event.clientX;
var y = event.clientY;
var v = new THREE.Vector3((x/w)*2-1, -(y/h)*2+1, 0.5);
projector.unprojectVector(v, camera);
var ray = new THREE.Ray(camera.position, v.subSelf(camera.position).normalize());
var intersects = ray.intersectObjects(scene.children);
if (intersects.length > 0) {
console.log("success");
}
}
Run Code Online (Sandbox Code Playgroud)
"ray.intersectObjects不是函数"是错误,具体而言.
有任何想法吗?提前致谢.
| 归档时间: |
|
| 查看次数: |
2787 次 |
| 最近记录: |