【发布时间】:2018-02-01 06:58:03
【问题描述】:
我是 Three.js 的新手。我已经加载了一个包含多个对象的 collada (.dae) 文件。 现在我想在鼠标悬停时在其 z 轴上平移每个对象,并在鼠标离开该对象时恢复其位置。
我为此使用“Raycaster”。
document.addEventListener( 'mousemove', onDocumentMouseMove, false );
raycaster = new THREE.Raycaster(camera.position, vector.sub( camera.position ).normalize());
mouse = new THREE.Vector2();
函数是
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
{
}
}
我有我的鼠标相交的对象,但我不确定如何翻译该对象并在鼠标移出时将其恢复,使其看起来很平滑。
【问题讨论】: