Подтвердить что ты не робот

Центр геометрии перемещения.

Я создал цилиндр, и я хочу переместить его центр вращения на один из его концов, изменив его ограничивающий прямоугольник, но он не работает.

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

Вот пример того, над чем я работал.

В принципе, я хочу повернуть цилиндр вокруг, как будто это был меч, который качается рукой.

4b9b3361

Ответ 1

Обнаружен благодаря некоторой помощи.

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

используя это, я перевел цилиндр у на 100 пунктов, чтобы он в основном вращался на нем ниже.

Ответ 2

Я применил подход с использованием опорных точек в моем случае. В принципе, вы создаете опорную точку:

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