我可以使用三个js ExtrudeGeometry在尖锐路径上挤出形状吗?

时间:2015-10-23 22:22:57

标签: javascript three.js

我使用CatmullRomCurve3挤出一条曲线。是否可以挤出如下所示的尖锐线:

enter image description here

我想要的是:

enter image description here

尽可能少的多边形。

2 个答案:

答案 0 :(得分:2)

您可以通过多种方式创建步骤几何体,但是使用ExtrudeGeometry可以执行以下操作:

var shape = new THREE.Shape();
shape.moveTo( 0, 0 );
var numSteps = 10, stepSize = 10;

for ( var i = 0; i < numSteps; i ++ ) {

    shape.lineTo( i * stepSize, ( i + 1 ) * stepSize );
    shape.lineTo( ( i + 1 ) * stepSize, ( i + 1 ) * stepSize );

}

var extrudeSettings = { amount: 100, bevelEnabled: false };
var geometry = new THREE.ExtrudeGeometry( shape, extrudeSettings );

var material = new THREE.MeshBasicMaterial( {color: 0xffffff } );
var steps = new THREE.Mesh( geometry, material );

有关基于webgl_geometry_extrude_shapes2的完整示例,请参阅以下内容:

http://jsfiddle.net/cc146hcx/

答案 1 :(得分:0)

我最终自己创建顶点,面和计算UV。对于任何想要做类似事情的人来说this给了我很多帮助。我仍然不知道是否可以在这里使用ExtrudeGeometry。