【发布时间】:2023-03-14 19:06:01
【问题描述】:
当鼠标被拖动时,我想在它的轴上旋转我的对象。我只能在函数内部访问我的头骨对象,所以我可以在 render() 中放置一个旋转增量。
谁能告诉我如何让我的对象根据我的变量 mouseY 和 mouseX 更新其旋转?
var loader = new THREE.OBJLoader();
loader.load(
'images/SKULL.obj',
function(object) {
var skull = object;
scene.add(skull);
skull.position.y = -50;
skull.rotation.y += mouseY;
skull.rotation.x += mouseX;
skull.traverse(function (child) {
//console.log(child);
if (child instanceof THREE.Mesh) {
child.material = chrome;
}
});
},
function(xhr) {
var loaded = (xhr.loaded / xhr.total * 100);
loadPercentageText.innerHTML = parseInt(loaded) + "%";
//console.log(loaded + " % loaded");
if (loaded == 100) {
document.body.classList.remove("loading");
animate();
}
},
function (error) {
//console.log("Error");
}
);
document.addEventListener( 'mousemove', onDocumentMouseMove, false );
function onDocumentMouseMove( event ) {
mouseX = ( event.clientX - windowHalfX ) / 2;
mouseY = ( event.clientY - windowHalfY ) / 2;
}
function animate(obj) {
requestAnimationFrame( animate );
renderer.render( scene, camera );
}
【问题讨论】:
标签: javascript three.js