三个JS大小的对象(PlaneGeometry)?

时间:2012-08-06 17:24:27

标签: javascript three.js

我对尺寸有疑问:

    var geometry = new THREE.PlaneGeometry(50, 50);

    var plane = new THREE.Mesh(geometry, material);

    plane.doubleSided = true;
    plane.tile = tile;

所以问题是:PlaneGeometry的大小,不是像素吗?当我有500x500的画布时,它到底会不到50x50?

PS>还有一个问题,当元素已经添加到场景中时如何获得元素的大小? 谢谢!

2 个答案:

答案 0 :(得分:11)

50x50不是像素。这是“单位”。无论你想要什么“单位”(它相对于其他物体的大小)。

如果要以受控方式调整对象大小,可以执行以下操作:

var geometry = new THREE.PlaneGeometry(1, 1);
var plane = new THREE.Mesh(geometry, material);

plane.scale.x = 50;
plane.scale.y = 50;

答案 1 :(得分:0)

  

PS>还有一个问题,当元素已经添加到场景中时如何获得元素的大小?谢谢!

我正在使用thingiview js插件,我注意到了 如果您有一个对象添加到场景中,您可以在多维数据集中关闭它 坐标:

p0 = [minx, miny,minz], p1 =[minx,miny,maxz], ..., p7 =[maxx, maxy,maxz];

,其中:

var minx = object.geometry.min_x; var maxz = object.geometry.max_z;

等。

PS:我知道这个问题有点陈旧,但我一直在寻找那些参数(试图获得添加对象的大小),但在任何地方都找不到。