Threejs动态箭头
由于Threejs的line不支持线宽,所以使用Line2来画线,但是Line2的纹理坐标并不是0到1的,而是每一段是 -1到1的纹理坐标,在端点和拐角处会有大于1和小于-1的一小部分,这部分需要做箭头时处理下。复写了LineGeometry继承的LineSegmentsGeometry的源码,通过给线的每一段增加参数,然后复写了LineMaterial的shader,使纹理坐标呈线性的,就可以达到这种效果了;箭头并没有采用贴图,而是通过shader硬算抠出来的箭头也,用纹理贴图的话会简单些。..
原创
2021-08-05 11:12:23 ·
2356 阅读 ·
5 评论