three.js加载的stl中的平滑着色面过渡

时间:2018-06-17 16:08:27

标签: three.js

三个版本:r93

嗨,我希望得到一个平滑的脸部过渡。

请按照此示例https://console.developers.google.com/apis/api/analytics.googleapis.com/overview?project=687417168367 [enter image description here] https://console.developers.google.com/apis/api/analytics.googleapis.com/overview?project=687417168367

获取金属外观材料使用THREE.MeshStandardMaterial,

[enter image description here] https://threejs.org/docs/scenes/material-browser.html#MeshStandardMaterial

问题是面孔之间我看到线条, 并在改变时:

mesh.material.flatShading=false;
//or
mesh.material.flatShading=true;

什么都没发生,

我读了这篇2013年的老帖子: 1

所以试试:

mesh.geometry.computeFaceNormals();
mesh.geometry.computeVertexNormals();
mesh.material.shading = THREE.SmoothShading;

在flatShading检查选项按钮更改的给定示例中,  视图不同但在我的代码中没有发生。

我的代码很基本:

var loader = new THREE.STLLoader();
loader.load( '/static/moebious1141.stl', function ( geometry ) 
{   mesh = new THREE.Mesh( geometry );
    mesh.material =  new THREE.MeshStandardMaterial( { color: 0x2194CE ,roughness:0.5, metalness:0.5} );


    mesh.geometry.computeFaceNormals();
    mesh.geometry.computeVertexNormals();
    mesh.material.shading = THREE.SmoothShading;
    mesh.material.flatShading=false;

    mesh.rotation.set( - Math.PI / 2, 0, 0 );

    mesh.position.set(0, 0,0 ); 
    mesh.scale.set( 1, 1, 1 );

    console.log(mesh.material.flatShading);

    scene.add( mesh );
    console.log("mesh Add");
} );

可能出现什么问题

几何图形是保存到STL的Rhinocheros文件。甚至增加 网格定义,三角形仍然可见。  [enter image description here] 2 问候

0 个答案:

没有答案