0
Ich verwende THREE.js und OrbitControls.js. Ich möchte ein Objekt doppelklicken und dann Sachen machen. Dies ist der Code, den ich verwende. cube1 ist das Objekt, das ich doppelklicken möchte.Javascript DREI OrbitControls: doubleclick Objekt
var projector = new THREE.Projector();
document.addEventListener('dblclick', ondblclick, false);
function ondblclick(event)
{
var vector = new THREE.Vector3(
(event.clientX/window.innerWidth) * 2 - 1,
- (event.clientY/window.innerHeight) * 2 + 1,
0.5);
projector.unprojectVector(vector, camera);
var ray = new THREE.Ray(camera.position,
vector.subSelf(camera.position).normalize());
var intersects = ray.intersectObjects(cube1);
if (intersects.length > 0)
{
alert("hit");
}
}
Leider funktioniert der Code nicht. Ich freue mich über jede Hilfe. Dies ist die Kamera ich benutze:
var camera = new THREE.PerspectiveCamera(45, WIDTH/HEIGHT, 0.1, 10000);
camera.position.z = 1500;
camera.position.y = -1800;
scene.add(camera);
Und das ist OrbitControls:
var controls = new THREE.OrbitControls(camera, renderer.domElement);
[jsfiddle] (https://jsfiddle.net/prisoner849/gre9ubys/) Beachten Sie, dass es ein Ex ist reichlich für Doppelklick mit 'THREE.Raycaster()'. – prisoner849