我想用THREE.js构建类似的东西(http://www.goat1000.com/tagcanvas.php)(通过Mouse-Vector连续旋转Objekt,没有任何抖动,间隙,中断或其他)。
我没有进入它 - 尝试了几个不同的scenrios(只需旋转每个轴自己,尝试slerp和四元数)。
你在小提琴手上找到了一些实验。 Slerp(看起来很像lookAt()):http://jsfiddle.net/DLta8/
var v = new THREE.Vector3( mouse2D.y, -mouse2D.x, 0 );
var q = new THREE.Quaternion().setFromEuler( v );
var newQuaternion = new THREE.Quaternion();
THREE.Quaternion.slerp( mesh.quaternion, q, newQuaternion, 0.07 );
mesh.quaternion = newQuaternion;
mesh.quaternion.normalize();
Quaternion(看起来不错但重置为quaternion.set(0,0,0,1)很糟糕):http://jsfiddle.net/vYvmk/
var step = .025;
var rotateQuaternion = new THREE.Quaternion();
rotateQuaternion.setFromAxisAngle( vector, step );
mesh.quaternion.multiplySelf( rotateQuaternion );
mesh.quaternion.normalize();
任何提示?