2017-03-13 3 views
0

Ich arbeite mit drei js Animation, in denen ich eine Kugel in meiner Szene habe.Ich will, dass meine Maus wie Hand geändert wird, wenn ich den Cursor auf dieser Kugel platziere.So wie kann ich es tun?In Bezug auf drei js Animation

Ich habe eine Kugel wie diese erstellt.

sphere = new THREE.Mesh(
    new THREE.SphereBufferGeometry(0.8, 32, 32), 
    new THREE.MeshPhongMaterial() 
); 
sphere.position.set(12.8, 0, 0); 
sphere.name="Hello"; 

scene.add (Kugel);

Antwort

1

Sie können THREE.Raycaster() und "mousemove" Event-Listener für diesen Zweck verwenden.

document.addEventListener("mousemove", onMouseMove, false); 

var objects = []; 
objects.push(sphere); 

var raycaster = new THREE.Raycaster(); 
var mouse = new THREE.Vector2(); 
var intersects; 

function onMouseMove(event) { 
    mouse.x = (event.clientX/window.innerWidth) * 2 - 1; 
    mouse.y = - (event.clientY/window.innerHeight) * 2 + 1; 
    raycaster.setFromCamera(mouse, camera); 
    intersects = raycaster.intersectObjects(objects); 
    if (intersects.length > 0) { 
     document.body.style.cursor = 'pointer'; // hand-like cursor 
    } else { 
     document.body.style.cursor = 'auto'; 
    }; 
}; 

jsfiddle Beispiel

+0

@Naren markieren Sie die Antwort als angenommen, bitte, wenn es Ihr Problem löst – prisoner849