我对尺寸有疑问:
var geometry = new THREE.PlaneGeometry(50, 50);
var plane = new THREE.Mesh(geometry, material);
plane.doubleSided = true;
plane.tile = tile;
所以问题是:PlaneGeometry的大小,不是像素吗?当我有500x500的画布时,它到底会不到50x50?
PS>还有一个问题,当元素已经添加到场景中时如何获得元素的大小? 谢谢!
答案 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:我知道这个问题有点陈旧,但我一直在寻找那些参数(试图获得添加对象的大小),但在任何地方都找不到。