Three.js, положение объекта WebGl

Я работаю с WebGl, Three.js. Может ли кто-нибудь сказать мне, что я делаю неправильно? Я пытаюсь получить положение моего пользовательского меша. Каждый раз, когда я получаю значения (0,0,0), независимо от того, какой метод я пытаюсь использовать.

Ни один из методов не работал для меня:

  • vector.getPositionFromMatrix (матрица);
  • obj.matrix.getPosition().x

Вот мой код:

squareGeometry = new THREE.Geometry();
squareGeometry.vertices.push(new THREE.Vector3( this.x, this.y, this.z));
squareGeometry.vertices.push(new THREE.Vector3( this.x + this.w, this.y, this.z));
squareGeometry.vertices.push(new THREE.Vector3( this.x + this.w, this.y - this.h, this.z));
squareGeometry.vertices.push(new THREE.Vector3( this.x, this.y - this.h, this.z));
squareGeometry.faces.push(new THREE.Face4(0, 1, 2, 3));

squareMaterial = new THREE.MeshBasicMaterial({
color:this.color,
side:THREE.DoubleSide
});

squareMesh = new THREE.Mesh(squareGeometry, squareMaterial);

scene.add(squareMesh);
squareMesh.updateMatrix()
scene.updateMatrixWorld();

vec = new THREE.Vector3();
matrix = squareMesh.matrix;
localPosition = squareMesh.position; // 0,0,0
worldPosition = vec.getPositionFromMatrix( matrix ); // 0,0,0

// this also doesnt work 
squareMesh.matrix.getPosition().x // 0

person user2550696    schedule 04.07.2013    source источник


Ответы (1)


Почему вы говорите, что это не работает?

Вся сетка имеет позицию 0,0,0. Чтобы изменить его, попробуйте изменить свойство squareMesh.position.

person Abstract Algorithm    schedule 04.07.2013