如何在绘画线条中设置不透明度使用three.js,使用LineBasicMaterial?

雏菊

我想更改线条的宽度和不透明度以及我的代码,如下所示:

 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
})

但是行宽和不透明度都行不通。我发现了类似的问题,说线宽在Windows上不起作用,那是5年前了,现在呢?谢谢你的主意

木根87

LineBasicMaterial 确实支持透明线,如以下实时示例所示:

let camera, scene, renderer;

init();
animate();

function init() {

  camera = new THREE.PerspectiveCamera(70, window.innerWidth / window.innerHeight, 0.01, 10);
  camera.position.z = 1;

  scene = new THREE.Scene();

  const geometry = new THREE.BufferGeometry().setFromPoints([new THREE.Vector3(), new THREE.Vector3(1, 0, 0)]);
  const material = new THREE.LineBasicMaterial({
    transparent: true,
    opacity: 0.5
  });

  const mesh = new THREE.Line(geometry, material);
  scene.add(mesh);

  renderer = new THREE.WebGLRenderer({
    antialias: true
  });
  renderer.setSize(window.innerWidth, window.innerHeight);
  document.body.appendChild(renderer.domElement);

}

function animate() {

  requestAnimationFrame(animate);
  renderer.render(scene, camera);

}
body {
      margin: 0;
}
canvas {
  display: block;
  }
<script src="https://cdn.jsdelivr.net/npm/[email protected]/build/three.js"></script>

但是不支持宽线。因此linewidth1在大多数浏览器中,将其设置为类似的值均无效。这是在行图元的上下文中的WebGL限制。

但是,three.js提供了基于三角形的宽线实现(有时称为网格线或带)。查看以下示例以获取更多信息:

https://threejs.org/examples/webgl_lines_fat

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用DoubleAnimation设置图像不透明度

来自分类Dev

使用jQuery设置不透明度

来自分类Dev

使用DoubleAnimation设置图像不透明度

来自分类Dev

如何使用ngstyle更改不透明度?

来自分类Dev

如何使用CSS为div的背景图像设置不透明度或降低亮度

来自分类Dev

如何使用CSS为反弹和不透明度变化设置动画

来自分类Dev

如何使用CSS设置背景图像的不透明度?

来自分类Dev

如何在框阴影中使用15像素,#000000 7%的不透明度到#000000 0%的不透明度?

来自分类Dev

如何在Xfce 4.12中使用鼠标滚轮或快捷方式更改窗口不透明度?

来自分类Dev

如何在背景图像上使用不透明度而不影响文本?

来自分类Dev

如何在嵌套div中使用不同的CSS不透明度?

来自分类Dev

如何在 C# 中使用滑块值更改网格不透明度

来自分类Dev

如何使用Magick ++将具有透明背景的png图像设置为不透明度

来自分类Dev

THREE.js中材料的不透明度

来自分类Dev

Android Wear Watch:使用setPeekOpacityMode()设置不透明度,使用setCardPeekMode设置高度

来自分类Dev

如何使用透明度(特别是使用不透明度)使文本在椭圆上固定

来自分类Dev

在Google Android v2中使用形状/平铺设置不透明度/ alpha

来自分类Dev

在Highchart.js Spider Web中设置填充颜色和不透明度的问题

来自分类Dev

如何在Android中使用不透明度更改芯片背景和笔触颜色

来自分类Dev

Three.js:在MeshFaceMaterial中使用cubeMaterials和不透明度-THREE.DoubleSide无法正常工作吗?

来自分类Dev

Three.js:在MeshFaceMaterial中使用cubeMaterials和不透明度-THREE.DoubleSide无法正常工作吗?

来自分类Dev

在openlayers样式中使用颜色文字设置不透明度

来自分类Dev

设置JFrame的不透明度时,使用float和BigDecimal缺乏精度

来自分类Dev

通过使用Javascript设置不透明度来淡入元素

来自分类Dev

使用插件将所有背景图像的不透明度设置为0

来自分类Dev

使用javascript将不透明度设置为子div

来自分类Dev

设置JFrame的不透明度时,使用float和BigDecimal缺乏精度

来自分类Dev

使用ggmap设置背景图的不透明度

来自分类Dev

选择表单时设置不透明度(可能使用“背景”属性)

Related 相关文章

  1. 1

    使用DoubleAnimation设置图像不透明度

  2. 2

    使用jQuery设置不透明度

  3. 3

    使用DoubleAnimation设置图像不透明度

  4. 4

    如何使用ngstyle更改不透明度?

  5. 5

    如何使用CSS为div的背景图像设置不透明度或降低亮度

  6. 6

    如何使用CSS为反弹和不透明度变化设置动画

  7. 7

    如何使用CSS设置背景图像的不透明度?

  8. 8

    如何在框阴影中使用15像素,#000000 7%的不透明度到#000000 0%的不透明度?

  9. 9

    如何在Xfce 4.12中使用鼠标滚轮或快捷方式更改窗口不透明度?

  10. 10

    如何在背景图像上使用不透明度而不影响文本?

  11. 11

    如何在嵌套div中使用不同的CSS不透明度?

  12. 12

    如何在 C# 中使用滑块值更改网格不透明度

  13. 13

    如何使用Magick ++将具有透明背景的png图像设置为不透明度

  14. 14

    THREE.js中材料的不透明度

  15. 15

    Android Wear Watch:使用setPeekOpacityMode()设置不透明度,使用setCardPeekMode设置高度

  16. 16

    如何使用透明度(特别是使用不透明度)使文本在椭圆上固定

  17. 17

    在Google Android v2中使用形状/平铺设置不透明度/ alpha

  18. 18

    在Highchart.js Spider Web中设置填充颜色和不透明度的问题

  19. 19

    如何在Android中使用不透明度更改芯片背景和笔触颜色

  20. 20

    Three.js:在MeshFaceMaterial中使用cubeMaterials和不透明度-THREE.DoubleSide无法正常工作吗?

  21. 21

    Three.js:在MeshFaceMaterial中使用cubeMaterials和不透明度-THREE.DoubleSide无法正常工作吗?

  22. 22

    在openlayers样式中使用颜色文字设置不透明度

  23. 23

    设置JFrame的不透明度时,使用float和BigDecimal缺乏精度

  24. 24

    通过使用Javascript设置不透明度来淡入元素

  25. 25

    使用插件将所有背景图像的不透明度设置为0

  26. 26

    使用javascript将不透明度设置为子div

  27. 27

    设置JFrame的不透明度时,使用float和BigDecimal缺乏精度

  28. 28

    使用ggmap设置背景图的不透明度

  29. 29

    选择表单时设置不透明度(可能使用“背景”属性)

热门标签

归档