Threejs / glTF-网格上的黑点

时间:2018-07-04 16:22:57

标签: three.js gltf

我在glTF中的threejs中加载的网格上出现了一些奇怪的黑点。 有人以前有这个问题吗?

网格重145663个顶点,最大的部分有89000个顶点

我正在使用threejs的r94版本,并使用以下代码加载网格:

`

function setup(scene, camera, renderer) {
    var loader = new THREE.GLTFLoader();
    THREE.DRACOLoader.setDecoderPath( 'js/libs/draco/gltf/' );
    loader.setDRACOLoader( new THREE.DRACOLoader() );

    // Load a glTF resource
    loader.load(
        // resource URL
        'mesh/ExportAllcleanNoMap.glb',
        // called when the resource is loaded
        function ( gltf ) {

            gltf.scene.scale.set(10,10,10);
            scene.add( gltf.scene );
            var anim = gltf.animations[0];

            mixer = new THREE.AnimationMixer( gltf.scene );

            var action = mixer.clipAction(anim);
            action.play();

            orbitControls = new THREE.OrbitControls( camera, renderer.domElement );
            orbitControls.target.set( 0, 1, 0 );
            orbitControls.update();

            light = new THREE.HemisphereLight( 0xbbbbff, 0x444422, 2 );
            light.position.set( 0, 1, 0 );
            scene.add( light );

            scene.add(light);
            var ambient = new THREE.AmbientLight( 0x222222 );
            scene.add( ambient );
        },
        // called while loading is progressing
        function ( xhr ) {

            console.log( ( xhr.loaded / xhr.total * 100 ) + '% loaded' );

        },
        // called when loading has errors
        function ( error ) {
            console.log(error);
            console.log( 'An error happened' );

        }
    );
}
`

谢谢。

编辑:禁用draco压缩时不会出现黑点。看起来像threejs,draco和重网格之间的问题。

网格上的黑点
Black spot on mesh

1 个答案:

答案 0 :(得分:0)

这看起来像是几何图形的两倍。您会以某种方式将模型的两个副本完美地叠加在一起。

通过选择一个对象的顶点并将其移动来检入建模软件,以查看其后是否有重复项。

如果使用的是Blender,则可以在编辑模式下在受影响的区域中选择一个顶点,然后按Ctrl L键选择链接的顶点...然后将其移到一边,看看它们后面是否藏有几何图形。