Ответ 1
Обнаружен благодаря некоторой помощи.
geometry.applyMatrix( new THREE.Matrix4().makeTranslation(x, y, z) );
используя это, я перевел цилиндр у на 100 пунктов, чтобы он в основном вращался на нем ниже.
Я создал цилиндр, и я хочу переместить его центр вращения на один из его концов, изменив его ограничивающий прямоугольник, но он не работает.
Вот пример того, над чем я работал.
В принципе, я хочу повернуть цилиндр вокруг, как будто это был меч, который качается рукой.
Обнаружен благодаря некоторой помощи.
geometry.applyMatrix( new THREE.Matrix4().makeTranslation(x, y, z) );
используя это, я перевел цилиндр у на 100 пунктов, чтобы он в основном вращался на нем ниже.
Я применил подход с использованием опорных точек в моем случае. В принципе, вы создаете опорную точку:
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