Threejs绘制方形管道

        之前有用Threejs的TubeGeometry绘制管道效果,但是TubeGeometry的管道效果默认是圆形的截面,这节实现方形截面的管道绘制。

        因为Threejs不提供方形截面的管道,所以使用的是绘制截面,然后拉伸的方式,所以需要先绘制一个方形,当然在此之前还是要先创建一个场景,包括灯光,相机,渲染器等,之前章节已有过就不再贴代码了,下面先通过Shape创建一个截面

const shape = new THREE.Shape();// 创建形状
shape.moveTo(0, 0);
shape.lineTo(2, 0);
shape.lineTo(2, 2);
shape.lineTo(0, 2);
shape.lineTo(0, 0);

        然后用CatmullRomCurve3绘制出曲线,也是后面轨道的轨迹,

 const curve = new THREE.CatmullRomCurve3([
        new THREE.Vector3( -10, -50, -50 ),
        new THREE.Vector3( 10, 0, 0 ),
        new THREE.Vector3( 8, 50, 50 ),
        new THREE.Vector3( -5, 0, 100)
      ]);

通过ExtrudeGeometry拉伸的方法,将shape截面和曲线curve传入后,进行拉伸,并设置路径的精度,就可以得到一个几何体geometry,再添加一个材质,创建网格模型,添加到场景中。就可以得到下面的3D模型,

const geometry = new THREE.Extrud
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

baker_zhuang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值