23

円柱を作成しましたが、バウンディングボックスを変更して回転の中心を一方の端に移動したいのですが、機能しません。

http://jsfiddle.net/736a7/1/

私が取り組んできた例があります。

基本的には、刀を柄で振り回すように円柱を回転させたいと思います。

4

2 に答える 2

32

いくつかの助けのおかげでわかりました。

geometry.applyMatrix( new THREE.Matrix4().makeTranslation(x, y, z) );

それを使用して、円柱の y を 100 ポイント移動したので、基本的には下端で回転します。

于 2012-08-12T03:43:16.757 に答える
4

私の場合、ピボットを使用してアプローチしました。基本的に、ピボット ポイントを作成します。

var pointToRotateAround;
var objectToRotate;
...
var pivot = new THREE.Object3D();
pivot.position=pointToRotateAround.position;
pivot.add(objectToRotate);
scene.add(pivot);
...
function render (){
pivot.rotation.z +=0.05;
}
...

ある物体を別の物体または任意の点を中心に回転させる方法を提供します。そのアプローチの詳細は次のとおりです: https://github.com/mrdoob/three.js/issues/1830

于 2015-05-15T01:07:51.287 に答える