object.rotation.y += 1;
// получаем мировую матрицу родительского объекта
var m = E.uid[obj.eparent].mWorld.clone();
// делаем параллельный перенос
m.multiply(new THREE.Matrix4().setPosition(obj.pos));
// поворачиваем
m.multiply(new THREE.Matrix4().makeRotationFromQuaternion(obj.ang));
// устанавливаем опорную точку
m.multiply(new THREE.Matrix4().setPosition(obj.basis));
// сохраняем трансформированную матрицу объекта для потомка
obj.mWorld = m.clone();
// масштабируем
m.scale(obj.escale);
// сбрасываем
obj.matrix.identity();
// применяем трансформированную матрицу к объекту
obj.applyMatrix(m.clone());