我正致力于在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]));发布于 2016-12-15 03:21:28
您可以通过设置LineBasicMaterial linewidth参数来绘制粗线:
material.linewidth = 4; // default is 1目前,这在某些Windows平台上不起作用。因此,另一种解决方案是使用THREE.MeshLine类,它通过绘制一条三角形来呈现粗线。
您可以使用THREE.TubeGeometry,但这不会像MeshLine那样具有性能。
three.js r.82
https://stackoverflow.com/questions/41154528
复制相似问题