3D模型相同尺度的3D模型

时间:2017-05-19 07:49:13

标签: javascript 3d three.js

我通过输入文件向我的Three.js场景中添加了多个.OBJ文件(3D模型),我想让它们的大小相同。

问题是这个3D模型每个都有不同的尺寸,其中一些是巨大的,另一些非常小。

有人知道如何让所有3D模型的尺寸相同吗?

谢谢!!!

1 个答案:

答案 0 :(得分:0)

您必须修改Object3D比例属性。您可以独立缩放X,Y和Z,因此您可以将它们设置为其大小的一半,设置此比例如下:

yorDownloadedObject.scale = new THREE.Vector3(0.5, 0.5, 0.5);

或者像这样加倍:

yorDownloadedObject.scale = new THREE.Vector3(2, 2, 2);

但如果尺寸太大,您可能需要根据实际尺寸放大或缩小......

要了解它们的原始大小,在缩放之前,使用名为bounding box(或computeBoundingSphere)的Object3D.Geometry属性方法获取它们的computeBoundingBox

然后根据使用Cross-multiplication的Geometry.boundingBox属性向上或向下放大到所需的大小。

另一个建议是,您可以调整模型大小并且不要碰任何东西。