在three.js中如何检索对象的位置?

时间:2016-09-16 18:45:49

标签: three.js

我创建了一个对象,一个圆锥体,并找到它,定位它,然后沿着它的轴z进行平移。好吧,现在我想检索它在x,y和z中的位置,并将信息存储在一个数组中供以后使用。

var cone = new THREE.Mesh(coneGeometry, coneMaterial);
var φ =   wup[iter].Latitude*Math.PI/180;
var λ = - wup[iter].Longitude*Math.PI/180;
//φ phi lat     λ lambda lon
cone.position.set (
      Math.cos(λ) * 90 * Math.cos(φ),
      Math.sin(φ) * 90,
      Math.sin(λ) * 90 * Math.cos(φ)
);
cone.lookAt( new THREE.Vector3(0,0,0) );
cone.translateZ( - earthRadius * réduc);
wup[iter].x  =  cone.x;
wup[iter].y  =  cone.y;
wup[iter].z  =  cone.z; /

问题是cone.x不包含任何内容。

1 个答案:

答案 0 :(得分:1)

根据philipp的指示和the reply to a neighboring question of mine,以下是有效的代码:

wup[iter].x  =  cone.position.x;
wup[iter].y  =  cone.position.y;
wup[iter].z  =  cone.position.z;

cone作为几何体,有一个与坐标相关联的名为position的向量。因此,检索几何的坐标意味着调用其向量position的坐标。