Three.js绘制自定义图形

  • Post author:
  • Post category:其他


**



Three.js绘制自定义图形——空心圆柱

**

function drawcylinder(){


//空心圆柱

var meterial = new THREE.MeshLambertMaterial({//创建材料

color:0xD4AF37,

wireframe:false

});

//形状拉伸


var shape = new THREE.Shape();


//绘制的起始点


shape.moveTo(8,0);


//先绘制出一个2D的圆(外面的大圆),然后进行拉伸

shape.arc(-8,0,8,0,Math.PI

2,true);

var hole3 = new THREE.Path();

//在已经绘制好的图形内部添加一个孔——实现透明

hole3.absarc(0,0,4,0,Math.PI

2,true);


shape.holes.push(hole3);


//将2D拉伸成3D,需要在哪个方向拉伸,就改变该方向的值

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

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


var path = new THREE.LineCurve(v1,v2);


var extrudeSetting ={


bevelEnabled:false,

steps:1,

extrudePath:path

};

var geometry = new THREE.ExtrudeGeometry(shape,extrudeSetting);

var mesh = new THREE.Mesh(geometry,meterial);

mesh.position.set(0,21,0);

scene.add(mesh);

}



版权声明:本文为weixin_43854888原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。