1

THREE.jsを使用して類似したもの(http://www.goat1000.com/tagcanvas.php)を構築したい(ジッター、ギャップ、中断などなしに、Mouse-Vectorを介してオブジェクトを継続的に回転させる)...

私はそれに夢中になりません-いくつかの異なるシナリオを試しました(単に各軸を独自に回転させ、スラープとクォータニオンを試しました)。

あなたはフィドラーに関する私の実験のいくつかを見つけます。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.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();

ヒントはありますか?

4

0 に答える 0