我一直在使用THREE.JS在WebGL中使用這個小型游泳池遊戲。使用THREE.JS滾動球
現在我有一個問題,從一個位置滾動球,說Vector3(0, 0, 0)
到另一個位置Vector3(10, 50, 200)
。這個動作不是問題,但我無法解決旋轉問題。下面是我如何做到這一點,或者嘗試:
首先,我得到的距離:
var movement = new THREE.Vector3();
movement.subVectors(to, from);
var distance = movement.length();
接下來,我計算角度
var angle = (distance/(radius * 2 * Math.PI));
在那之後,事情變得有點混亂,我不知道用什麼方法來旋轉實際的物體 - 我試過四元數:
var quaternion = new THREE.Quaternion().setFromAxisAngle(movement.normalize(), angle);
mesh.rotation.setEulerFromQuaternion(quaternion);
做一個你知道如何實現這種輪換?
感謝您的幫助!
這個例子有幫助嗎? https://bl.ocks.org/duhaime/801daaa005c373eab6847741bd3f497a – duhaime
我自己解決了這個問題,忘了自己回答,但是,這會有所幫助。 –