Bewahrer: three.js object picking

Beitrag lesen

Hallo,

da ich es nicht hinbekomme und schon eine Menge gesucht habe, jetzt hier die Frage was genau ich beim Objekt-picking in three.js falsch mache.

Code:

function checkClick() {  
                    // On every click, check for body hit  
                    var projector = new THREE.Projector();  
                    var directionVector = new THREE.Vector3();  
  
                    directionVector.x = ( event.clientX / window.innerWidth ) * 2 - 1;  
                    directionVector.y = -( event.clientY / window.innerHeight ) * 2 + 1;  
                    directionVector.z = 1;  
                    var objects = [];  
                    objects.push(scene.children);  
                    console.log(directionVector);  
                    var raycaster = projector.pickingRay(directionVector.clone(),camera);  
                    var intersects = raycaster.intersectObjects(scene.children);  
                    if (intersects.length) {  
                         alert("found something");  
                    }  
                    else {  
                         alert("found nothing");  
                    }  
               }

Es kommt immer nur ein found nothing. Ich habe ein einziges 3D Model in meine Scene, von dem ich wissen möchte, ob ich es angeklickt habe oder nicht. Da ich mittlerweile rausgefunden habe, dass raycaster.intersectObjects() ein Array als Argument benötigt, habe ich für das alleine 3D Model in meiner Scene objects erstellt und füge objects mit scene.children mein 3D Model hinzu. Trotzdem funktioniert es nicht. Egal ob ich jetzt raycaster.intersectObjects(scene.children) oder raycaster.intersectObjects(objects) benutze. Was kann ich tun?