繁体   English   中英

Three.js MeshBasicMaterial线框不会渲染

[英]Three.js MeshBasicMaterial wireframe won't render

从three.js API创建的几何体工作正常,但是从Blender导出的obj文件应在应为线框时渲染面。 我的导入或导出过程有问题吗?

var loader = new THREE.OBJLoader( manager );
loader.load( '../3d/decoy.obj', function ( object ) {
    object.traverse( function(child) {
        if( child instanceof THREE.Mesh ) {
            child.material = new THREE.MeshBasicMaterial( { color: 0x009900, wireframe: true } ); 
            child.scale.set(20,20,20);
            scene.add( child );
        }
    });
}, onProgress, onError );

在此处输入图片说明

似乎是Wavefront .obj格式的问题。 导出到Collada .dae,一切都很好。 请注意,遍历是object.scene的方法,而不是obj导入中的object。

var loader = new THREE.ColladaLoader( manager );
loader.load( '../3d/decoy.dae', function ( object ) {
    object.scene.traverse( function(child) {
        if( child instanceof THREE.Mesh ) {
            child.material = new THREE.MeshBasicMaterial( { color: 0x009900, wireframe: true, vertexColors: THREE.VertexColors } ); 
            child.scale.set(20,20,20);
            scene.add( child );
        }
    });
}, onProgress, onError );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM