THREEJS在球体上使用细分修改器后,形状不再是实体,如何将其重新变为实体对象?

时间:2016-10-28 13:59:45

标签: three.js

我正在创建一个圆柱体,然后使用细分修改器来圆化边缘。应用此后,形状不再是实心的。任何人都可以指出我正确的方向,如何使它再次成为纯色。我尝试合并顶点,但似乎没有做任何事情。谢谢!

var geometry = new THREE.CylinderGeometry(0.4, 0.4, .5, 100);
var material = new THREE.MeshLambertMaterial( {color: 0xeef007, shading: THREE.SmoothShading} );
var modifier = new THREE.SubdivisionModifier( .5 );
geometry.mergeVertices();

modifier.modify( geometry );
var cyl = new THREE.Mesh( geometry, material );
minifig.add( cyl );

screenshot

1 个答案:

答案 0 :(得分:0)

我假设“坚实”你的意思是没有平面阴影。重新计算法线:

modifier.modify( geometry ); 
geometry.computeFaceNormals();
geometry.computeVertexNormals();