THREE.JS 绘制飞线 攻击线 迁移线 拓扑图动画线条等

在THREE中如何绘制飞线;使用的是Points+Shader封装的一个飞线方法;可以用于攻击线路,指向效果等;显卡GT730 6000根飞线 帧数在30FPS,可以调节线条的长度 和 间隔 ,增加流畅度
代码地址 觉得不错的可以star下
快速搭建工具-持续开发中

demo

  • 曲线
  • 实线
  • 光点
  • 贴图

使用飞线

let _Fly = new initFly({texture: "./xxx.png"//飞线贴图  如果不需要则不传递
});//初始化方法
//添加飞线
let flyMesh = _Fly.addFly({color: `rgba(255,0,0,1)`,curve: [],//飞线的路径  [{x,y,z},{x,y,z},{x,y,z}]  数组越大 飞线越密width: 9,//飞线的宽度 大小length: 150,//飞线的长度 speed: 1,//速度 越大越快repeat: 1, //重复次数  1-Infinitycallback:function(){/*当前完成后回调*/};
})
scene.add(flyMesh); 

删除

*repeat 循环次数完毕自动删除

_Fly.remove(flyMesh); //手动删除

注意

需要在 requestAnimationFrame 中 执行 _Fly.animation(delta);

路径

var points = _Fly.tranformPath([new THREE.Vector3(0, 0, 0),new THREE.Vector3(100, 100, 100)],1
);

例子

var time = setInterval(() => {if (index >= 4000) {clearInterval(time)}var x = 0;var z = 0;var x1 = THREE.Math.randFloat(-200, 200);var z1 = THREE.Math.randFloat(-200, 200);var curve = new THREE.QuadraticBezierCurve3(new THREE.Vector3(x, 0, z),new THREE.Vector3((x + x1) / 2, THREE.Math.randInt(200, 420), (z1 + z) / 2),new THREE.Vector3(x1, 0, z1));var points = curve.getPoints(500);var flyMesh = _Fly.addFly({color: `rgba(${THREE.Math.randInt(0, 255)},${THREE.Math.randInt(0, 255)},255},1)`,curve: points,width: 9,length: 150,speed: 1,repeat: Infinity})scene.add(flyMesh);index++;
})


如有疑问可加Q群:1082834010

THREE.JS 绘制飞线 攻击线 迁移线 拓扑图动画线条等相关推荐

  1. canvas绘制飞线效果

    在我们做的可视化大屏项目中,经常会遇到飞线的效果. 在我们的大屏编辑器中,可以通过拖拽+配置参数的方式很快就能够实现.下面是我们使用大屏编辑器实现的一个项目效果: 中间地图就有飞线的效果. 抛开编辑器 ...

  2. 便利贴--9{Cesium+js绘制多个点和多个线的图层,加标题}

    便利贴--9{Cesium+js绘制多个点和多个线的图层,加标题} 代码 代码 附加转类型从openlayers线数据转到DC的Polyline数据 changeData(data, name, va ...

  3. altium designer 绘制pcb时如何检查漏线

    如何使用altium designer 绘制pcb时如何检查漏线 详细步骤: 1:打开pcb,单击 Report------Board Information...如下图psb 2:然后出现如下对话框 ...

  4. 线下迁移线上,如何使用企业微信打造数字化企业?

    导读 | 特殊时期,很多企业都在思考一个问题--如何将线下迁移线上?而微信发布的全新企业微信3.0,提出对内让信息流转高效,对外连接11亿微信用户.那么,如何在企业微信上创建一个连接客户的应用,将小程 ...

  5. 在绘制USB2.O设备接口差分线时,应注意以下几点要求:

    在绘制USB2.O设备接口差分线时,应注意以下几点要求: ①在元件布局(PCB Layout)时,应将USB2.O芯片放置在离地层最近的信号层,并尽量靠近USB插座,缩短差分线走线距离. ②差分线上不 ...

  6. 可视化篇(四)——— python绘制双y轴、箱线图、概率分布三种图形及案例

    可视化篇(四)--- python绘制双y轴.箱线图.概率分布三种图形及案例 摘要 绘制双y轴图形 绘制箱线图 绘制概率分布图 摘要 本文演示了如何通过python绘制双y轴.箱线图.概率分布三种图形 ...

  7. 成中集团线下IDC迁移上云

    阿里云根据成中集团业务场景入手,提供了上云方案和迁移建议,利用这套架构,保障了公司数据的安全性并且满足了公司对于备份机制的建立的基本诉求,并且降低了业务出现中断的风险. 公司介绍 成中简介: 我们公司 ...

  8. cad net 绘制带圆弧的多段线

    //绘制带弧线的多段线 输入每个点和它后面圆弧的角度(180°的圆弧就是 Math.PI),如果没有圆弧则用null public static ObjectId MakePolylineWithAr ...

  9. openlayers根据半径绘制圆形,多圆连线并标记距离

    openlayers根据半径绘制圆形,多圆连线并标记距离 实现一个什么效果呢,就是在openlayers上面,绘制三个圆形,绘制完成之后,三个圆心连接起来,然后标记出每两个圆心之间的距离. 期望效果: ...

最新文章

  1. R计算获取决策曲线数据(Decision Curve Analysis,DCA)并使用python进行可视化
  2. windows phone发布时其他注意事项
  3. 做人不能太忽悠 评淘宝团购 续集
  4. 用NFS挂载root出现:NFS: failed to create MNT RPC client, status=-101(-110)
  5. Kali linux安装漏洞扫描工具Nessus安装指南
  6. IEDA中JavaDoc的自动生成、手动生成,以及生成html文档
  7. 部分SQL Server数据库备份
  8. DELPHI2007 安装ACTIVEX插件的方法
  9. APUE---chap3文件I/O---3.11原子操作
  10. 计算机二级12套excel操作题答案,计算机二级MSOffice操作题及答案
  11. 浙大吴飞与贾扬清经典十问!
  12. 网络监控解决方案及拓扑图
  13. Windows 10语言栏消失不见了的解决办法
  14. 深耕一线14年,见证云计算风起云涌
  15. mysql如何查看数据库相关信息
  16. 单片机中的上电复位 和手动复位
  17. Android微信hook
  18. mysql优化--博森瑞
  19. 2023年的春招,java怎么搞??
  20. 一种可以使汽车气缸密封并润滑的机油添加剂

热门文章

  1. 【C++】c++编译错误-- C2678 二进制“=”: 没有找到接受“_Ty”类型的左操作数的运算符(或没有可接受的转换)
  2. NYOJ-94-cigarettes-2013年09月26日22:19:03
  3. Struts2 框架笔记主要对跳转路径,挎包跳转,拦截器进行应用,定义成员变量,收取客户端参数等详细说明
  4. 背包问题经典实现方法
  5. 修改SSL默认端口号
  6. 阿里云 修改服务器密码 如何修改root密码?如何修改普通用户的密码?
  7. c语言编译undeclared,c语言中undeclared identifier是什么意思?,undeclared identifier c语言错误 怎么改...
  8. 原码除法运算(计算机组成原理19)
  9. C语言 for语句的用法
  10. 机器学习项目实践——鸢尾花分类