Я работаю с 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