2014-10-09 6 views
1

Я использовал три = {Revision: "68"}Three.js - Поворот объекта вокруг некоторой оси

Я уже сделал вращение (OBJECT_X) по оси "z"http://jsfiddle.net/eVkgs/39/

При изменении положение OBJECT_X: CubeGeometry.applyMatrix(new THREE.Matrix4().makeTranslation(20,Cube_height/2, 0));http://jsfiddle.net/eVkgs/40/

Объект еще вращается по оси "Z" becouse установки I: OBJECT_X.rotation.z += 0.3*Math.PI/30;

Вопрос: как ш ould look code, которые позволяют вращать вокруг оси, на которой находится этот объект?

+0

Является http://jsfiddle.net/eVkgs/41/, что вы хотите? – WestLangley

+0

Точно, спасибо. – MrFreeman555

+0

Задайте ответ в разделе ответа, а не в вопросе. Затем вы можете принять свой собственный ответ, нажав зеленую галочку. – WestLangley

ответ

2

Объект будет вращаться вокруг своего начала в своей локальной системе координат. Если вы хотите сдвинуть начало координат, вам нужно перевести геометрию. Вот образец, чтобы следовать:

geometry.translate(dx, dy, dz); 

Теперь вы можете создать сетку из геометрии, и установите положение сетки:

mesh.position.set(x, y, z); 

Если повернуть сетку, она будет вращаться вокруг своего нового происхождения , а сетка будет находиться в точке (x, y, z).

three.js r.84

+0

Мне было интересно, что такое «dx, dy, dz» в этом примере? – Kahless

+1

Это смещения. – WestLangley

+0

Как бы вы это делали временно. Например, я хочу, чтобы объект вращался в локальном центре, но на основе логического значения, вращался в центре другого объекта? – smatthews1999

Смежные вопросы