three.js里怎么把THREE.Line对象转成Shape

在three.js里面,可以把THREE.Line对象转成Shape对象吗?
我现在想实现通过鼠标打点,生成一条有宽度的线,线的长表示墙面长度,线条宽表示墙面厚度,然后想先将Line对象转换成Shape后,再通过THREE.ExtrudeGeometry赋予一个墙面高度,拉伸成立体的墙面3D对象。

求大神指点!!

var material = new THREE.LineBasicMaterial({
     color: 0x686363,
     linewidth: 20,
     linecap: 'butt',
});

var geometry = new THREE.Geometry();
geometry.vertices.push(
    new THREE.Vector3( -10, 0, 0 ),
    new THREE.Vector3( 0, 0, 10),
    new THREE.Vector3( 10, 0, 0 )
);

var line = new THREE.Line( geometry, material );
scene.add( line );

clipboard.png

阅读 5.6k
1 个回答
新手上路,请多包涵

您好,请问解决了吗?
我也是在做3D,做路线导航的时候遇到了问题。THREE.line的linewidth属性在webgl渲染中不支持线宽。我现在只有路径点,做不出带有宽度的路线。只有1条线的路线看着真是尴尬。。。
我看你这个线有宽度,是canvas渲染的吧?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进