上节解决了模型多会存在的模型卡顿问题,用了模型整合来结局,这节继续这个模型的完善,很多时候可以在产线看到地上会画警戒线,防止工作人员越界以被机器伤到,所以会在机器的危险区域用警戒线框起来,那么这节做绘制警戒线的功能。
首先我们需要先针对一个产线做警戒线,然后再加到循环中给五个产线都加上警戒线。加警戒线我们使用PlaneGeometry对象,这是一个专门绘制2维的对象,他的属性如下
//平面的宽度(width)和高度(height),以及宽度分段数(widthSegments)和高度分段数(heightSegments)
new THREE.PlaneGeometry(width, height, widthSegments, heightSegments);
上面的分段数属性并不是吧这个线段分成多少段,而是指里面组成的三角形数量,你可以理解为分段数越多这个形状绘制的越丝滑,但是对性能的消耗也越多。下面我们绘制一条警戒线,一条产线的警戒线有四条,分别上下左右,我们先绘制上下部分
//创建警戒线的贴图
let LineMat = new THREE.MeshLambertMaterial();
new THREE.TextureLoader().load( "/static/images/line.png", function( map ) {
LineMat.map = map;
LineMat.needsUpdate = true;
} );
//绘制一条横着的警戒线
let geometryTop = new THREE.Plane