Three.js / WebGL缩放到固定尺寸

时间:2012-10-16 23:16:37

标签: webgl three.js

我有一些可能具有任何尺寸的平面几何图形。

我必须将它们缩放到特定尺寸(比如1024x768或768x1024)

Three.js提供了通过Geometry.scale对象进行缩放。如果您知道初始高度/宽度是多少,那么这很有效,因为我可以这样做:

obj.scale.x = finalWidth/initialWidth;
obj.scale.y = finalHeight/initialHeight;

但是没有对象会返回Geometry Height和Width(即initialWidth和initialHeight)(如果我错了,请纠正我)。

那么有没有办法在不知道初始尺寸的情况下将几何体缩放到特定尺寸?

P.S。当我不知道初始尺寸时,您可以问我是如何构建对象的。当然,我确实知道最初的尺寸,但这是我正在构建的框架的另一个很远的部分,并且我希望尽可能避免跟踪尺寸。

2 个答案:

答案 0 :(得分:1)

你说的是真的。你可以试试

geometry.computeBoundingBox();

然后可以从geometry.boundingBox计算尺寸。

答案 1 :(得分:1)

你是对的。要完成解决方案:

geometry.computeBoundingBox();

调用computeBoundingBox后,可以从geometry.boundingBox

中读取尺寸
width = geometry.boundingBox.max.x - geometry.boundingBox.min.x
height = geometry.boundingBox.max.y - geometry.boundingBox.min.y
depth = geometry.boundingBox.max.z - geometry.boundingBox.min.z