threejs 用 ExtrudeGeometry 画管线

首先说一下ExtrudeGeometry ,可以先看官网,这个方法的意思是沿着给定的路径拉伸一个平面图形,然后就成为3D图形了。

所以很明显这个方法要两个参数,路径和图形。

然后接下来说管线的问题。

var radius = data[i]['Diameter'] - 0; // 管子的半径
var shape = new THREE.Shape();
shape.absarc( 0, 0, radius, 0, Math.PI * 2, false );

var material = new THREE.MeshBasicMaterial({color:0xff0000});

var v1 = new THREE.Vector3( 0, 0, 0 );
var v2 = new THREE.Vector3( 100, 0, 0);

var path = new THREE.LineCurve3( v1, v2 )

var extrudeSettings = {
    bevelEnabled: false,
    steps: 1,
    extrudePath: path
};

var geometry = new THREE.ExtrudeGeometry( shape, extrudeSettings );
var mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );

用上面的方法就可以画出一条管子。

你可能感兴趣的:(threejs)