Je suis nouveau sur Three.js. J'ai chargé un fichier collada (.dae) ayant plusieurs objets. Maintenant, je veux traduire chaque objet sur son axe z en passant la souris et restaurer sa position lorsque la souris a quitté cet objet. J'utilise "Raycaster" à cette fin.Objet Threejs Traduire et restaurer
document.addEventListener('mousemove', onDocumentMouseMove, false);
raycaster = new THREE.Raycaster(camera.position, vector.sub(camera.position).normalize());
mouse = new THREE.Vector2();
et la fonction est
function onDocumentMouseMove (event) {
event.preventDefault();
mouse.x = (event.clientX/renderer.domElement.clientWidth) * 2 - 1;
mouse.y = - (event.clientY/renderer.domElement.clientHeight) * 2 + 1;
raycaster.setFromCamera(mouse, camera);
// console.log(scene);
var intersect = raycaster.intersectObjects(scene.children[2].children);
// console.log(intersect);
if (intersect.length > 0)
{
}
else
{
}
}
Je l'objet où ma souris est intersecte mais je ne suis pas sûr de savoir comment traduire l'objet et le restaurer sur la souris de telle sorte qu'il semble lisse.
cela fonctionne mais ce n'est pas lisse. je veux dire si la souris se déplace encore sur l'objet (qui est traduit). l'objet commence à clignoter. Y a-t-il un moyen d'en faire une traduction fluide? – nOmi
@nOmi Vérifiez le stylo, ça fonctionne bien. –