我正在研究Three.JS中线条的路径,并成功地将一堆线条添加到具有正确顶点的场景中,以及我想要的材质但线条很难看到。有没有办法将线段转换为各种管,而无需从头开始并更改我使用的几何类型?
我可能没有使用正确的术语,但我基本上想要将生成的THREE.LineSegments()
转换为3D中的粗线。以下是我的代码片段:
var geo = new THREE.BufferGeometry();
geo.addAttribute('position', new THREE.BufferAttribute(new Float32Array(2*numTravelVertices), 3));
var travelVertices = geo.attributes.position.array;
var vertIndex = 0;
this.set('travelVertices', travelVertices);
<add vertex indicies for points on the path>
geo.rotateX(-Math.PI / 2);
var mat = new THREE.LineBasicMaterial({color: parseInt(this.get('travelColor')), transparent: false});
var lineSegments = new THREE.LineSegments(geo, new THREE.MultiMaterial([mat]));
答案 0 :(得分:1)
您可以通过设置LineBasicMaterial
linewidth
参数来绘制粗线:
material.linewidth = 4; // default is 1
目前这在某些Windows平台上不起作用。因此,另一种解决方案是使用第三方类THREE.MeshLine,它通过绘制一条三角形来渲染粗线。
您可以使用THREE.TubeGeometry
,但这不会像MeshLine
那样具有效果。
three.js r.82