【问题标题】:How can I fix "cracks" in 3d model?如何修复 3d 模型中的“裂缝”?
【发布时间】:2021-11-06 18:12:13
【问题描述】:

我使用激光扫描仪创建了一个 3D 模型,并尝试使用 three.js 在 webapp 上显示它。

当我在 Blender 或 Unity 上加载该模型时,它看起来不错,但它在带有threejs 和 3D 查看器(默认 Windows 应用程序)的 webapp 中都显示出一些裂缝

如何修复这些裂缝?

我将数据模型导出为 glb 和 obj 文件格式,但两种格式的结果相同。

(3D 查看器上的模型)

(搅拌机上的模型)

( 纹理图像 )

【问题讨论】:

  • 如果切换到最近的纹理过滤,“裂缝”会消失吗?尝试将纹理的minFiltermagFilter 属性设置为THREE.NearestFilter
  • 成功了!谢谢!

标签: unity3d graphics three.js blender


【解决方案1】:

仅适用于遇到相同问题的人。我在加载已经包含纹理的 GLB 文件时尝试了此代码。

var loader = new THREE.GLTFLoader();

// model
var model, mat, geo;
loader.load(
    // resource URL
    "https://xxxxxx/model.glb"
    // called when the resource is loaded
    function (gltf) {
       model = gltf.scene;
       model.traverse( function( object ) {            
           if ((object instanceof THREE.Mesh)){ 
                mat = object.material;
                geo = object.geometry;
                mat.map.minFilter = THREE.NearestFilter;
                mat.map.magFilter = THREE.NearestFilter;
           }
       });
       scene.add(model);
    },
    // called while loading is progressing
    function (xhr) {
        console.log((xhr.loaded / xhr.total * 100) + '% loaded');
    },
    // called when loading has errors
    function (error) {

        console.log('An error happened');
        console.log(error);

    }
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-24
    • 2014-02-23
    • 2017-10-26
    • 1970-01-01
    • 1970-01-01
    • 2019-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多