我通过输入文件向我的Three.js场景中添加了多个.OBJ文件(3D模型),我想让它们的大小相同。
问题是这个3D模型每个都有不同的尺寸,其中一些是巨大的,另一些非常小。
有人知道如何让所有3D模型的尺寸相同吗?
谢谢!!!
答案 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属性向上或向下放大到所需的大小。
另一个建议是,您可以调整模型大小并且不要碰任何东西。