如何设置绘制线的不透明度使用three.js,使用LineBasicMaterial?
我想更改线条的宽度和不透明度,我的代码如下:如何设置绘制线的不透明度使用three.js,使用LineBasicMaterial?,three.js,Three.js,我想更改线条的宽度和不透明度,我的代码如下: var geometry_link = new THREE.Geometry(); geometry_link.vertices.push( new THREE.Vector3(item[0].x *1,item[0].y *1,item[0].z), new THREE.Vector3(item[1].x *1,item[1].y *1,item[1].z) ); geometry_link.colors.push( new THRE
var geometry_link = new THREE.Geometry();
geometry_link.vertices.push(
new THREE.Vector3(item[0].x *1,item[0].y *1,item[0].z),
new THREE.Vector3(item[1].x *1,item[1].y *1,item[1].z)
);
geometry_link.colors.push(
new THREE.Color(0x000000),
new THREE.Color(0xffffff)
);
var line = new THREE.Line(geometry_link, new THREE.LineBasicMaterial({
vertexColors: true,
linewidth: 8,
transparent: true,
opacity: 0.1
})
但不管是线宽还是不透明度,它都不起作用。我发现了类似的问题,说线宽在窗户上不起作用,那是5年前的事了,现在呢?
感谢您的想法
LineBasicMaterial
确实支持透明线,如下示例所示:
let摄影机、场景、渲染器;
init();
制作动画();
函数init(){
摄像头=新的三个透视摄像头(70,窗口内宽/窗口内高,0.01,10);
摄像机位置z=1;
场景=新的三个。场景();
const geometry=new THREE.BufferGeometry().setFromPoints([new THREE.Vector3(),new THREE.Vector3(1,0,0)]);
常量材质=新的三线基本材质({
透明:是的,
不透明度:0.5
});
常数网格=新的三线(几何体、材质);
场景。添加(网格);
renderer=new THREE.WebGLRenderer({
反别名:对
});
renderer.setSize(window.innerWidth、window.innerHeight);
document.body.appendChild(renderer.doElement);
}
函数animate(){
请求动画帧(动画);
渲染器。渲染(场景、摄影机);
}
正文{
保证金:0;
}
帆布{
显示:块;
}