4

我对尺寸有疑问:

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

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

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

所以问题是:PlaneGeometry 的大小,不是以像素为单位的吗?当我有大约 500x500 的画布时,它最终会小于 50x50 吗?

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

4

2 回答 2

12

50x50 不是像素。是“单位”。无论您希望“单位”是什么(它与其他对象的大小有关)。

如果您想以受控方式调整对象的大小,可以这样做:

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

plane.scale.x = 50;
plane.scale.y = 50;
于 2012-08-07T01:18:17.260 回答
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;

ETC..

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

于 2013-12-06T12:08:37.143 回答