私は Google WebGL Globe を使用して作業を行っており、いくつかの初歩的な操作を実装しようとしています。その 1 つには、緯度、経度などによって生成されるバーをクリックすることが含まれます。
たくさんの three.js の例を調べた結果、答えはプロジェクターとレイで交差点を見つけることにあります。私が直面している問題は、他のいくつかのソースからわずかに調整された以下のコードにあります。
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");
}
}
具体的には、「ray.intersectObjects は関数ではありません」というエラーです。
何か案は?前もって感謝します。