0
ray가 three.js에서 객체와 교차하는지 확인하려고합니다.IntersectObjects가 결과를 반환하지 않습니다.
내 장면이 설정되어 표시됩니다.
var intersect_objects = [];
//Initialize scene and object and events
scene = new THREE.Scene();
group = new THREE.Object3D();
sphere = new THREE.SphereGeometry(23.8, 60, 60);
//Add meshes and textures etc..
intersect_objects.push(group);
function onDocumentMouseUp(event) {
event.preventDefault();
var mouseX = (event.clientX/window.innerWidth)*2-1;
var mouseY = -(event.clientY /window.innerHeight)*2+1;
var vector = new THREE.Vector3(mouseX, mouseY, 0.5);
projector.unprojectVector(vector, camera);
var ray = new THREE.Raycaster(camera.position, vector.sub(camera.position).normalize());
var intersects = ray.intersectObjects(intersect_objects);
console.log(intersects.length); //Aways 0
}
을하지만 0은 확실히는 영역을 교차 항상 intersects.length입니다 : 내가으로 만든 영역을 클릭
다음?
Thanks Lee, http://jsfiddle.net/kDQHV/ 나는 창에 '컨테이너'가 있습니다. 나는 mouseX & mouseY가 창 안의 컨테이너를 고려하지 않기 때문에 잘못 계산되었다는 의혹이 있습니다. –
안녕하세요, 그룹을 삭제했습니다. 정상적으로 작동합니다. –
intersectsObject는 메시의 회전을 고려하지 않습니다. –