【问题标题】:3D Model Same Scale at Three JS三个 JS 相同比例的 3D 模型
【发布时间】:2017-05-19 07:49:13
【问题描述】:

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

问题在于,每个 3D 模型都有不同的尺寸,其中一些很大,而另一些非常小。

有人知道使所有 3D 模型大小相同的方法吗?

谢谢你!!!

【问题讨论】:

    标签: javascript 3d three.js


    【解决方案1】:

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

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

    或像这样将其大小加倍:

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

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

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

    然后根据 Geometry.boundingBox 属性使用Cross-multiplication 放大或缩小到您想要的大小。

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

    【讨论】:

      猜你喜欢
      • 2013-12-21
      • 2019-10-11
      • 2021-07-13
      • 2013-11-12
      • 2017-11-24
      • 2011-09-15
      • 2012-09-06
      • 2017-11-19
      • 1970-01-01
      相关资源
      最近更新 更多