three.js环境下的一种飞线动画实现方法
来源:互联网 发布:isp图像处理编程 编辑:程序博客网 时间:2024/05/01 09:36
var startPoint = { x: 0, y: 0, z: 0 } var endPoint = { x: -80, y: 0, z: 50 } var heightLimit = 20 var flyTime = 8000 var lineStyle = { color: 0xcc0000, linewidth: 2 }
var aCurve = createFlyLine(startPoint, endPoint, heightLimit, flyTime, lineStyle) scene.add(aCurve) function createFlyLine(startPoint, endPoint, heightLimit, flyTime, lineStyle) { var middleCurvePositionX = (startPoint.x + endPoint.x) / 2 var middleCurvePositionY = heightLimit var middleCurvePositionZ = (startPoint.z + endPoint.z) / 2 var curveData = new THREE.CatmullRomCurve3([ new THREE.Vector3(startPoint.x, startPoint.y, startPoint.z), new THREE.Vector3(middleCurvePositionX, middleCurvePositionY, middleCurvePositionZ), new THREE.Vector3(endPoint.x, endPoint.y, endPoint.z) ]) var curveModelData = curveData.getPoints(50) var curveGeometry = new THREE.Geometry() curveGeometry.vertices = curveModelData.slice(0, 1) var curveMaterial = new THREE.LineBasicMaterial({color: lineStyle.color, linewidth: lineStyle.linewidth}) var curve = new THREE.Line(curveGeometry, curveMaterial) var tween = new TWEEN.Tween({endPointIndex:1}) .to({endPointIndex:50}, flyTime) tween.onUpdate(tweenHandler) tween.start() return curve function tweenHandler() { var endPointIndex = Math.ceil(this.endPointIndex) var curvePartialData = new THREE.CatmullRomCurve3(curveModelData.slice(0, endPointIndex)) curve.geometry.vertices = curvePartialData.getPoints(50) curve.geometry.verticesNeedUpdate = true } }
0 0
- three.js环境下的一种飞线动画实现方法
- 实现启动动画的一种方法
- js实现动画的方法
- 24 Three.js的环境光源THREE.AmbientLight
- 一种快速刷新richedit中内嵌动画的方法的实现
- Web页面中实现简单动画的一种方法
- 一种加载动画的实现
- 一种简单环境下,读取XML节点值的方法
- 一种多线程环境下的参数访问方法
- 集群环境下控制定时钟执行的一种方法
- 一种Windows下搭建QT开发环境的简单方法
- Windows下Android开发环境配置的一种方法
- three.js 动画效果01
- 集群环境下防止并发的一种实现
- Three.js实现的粒子系统
- Three JS 常用方法.
- 原生JS实现漂浮广告的一种方法(Demo)
- HTML5 画布上的 Three.js 环境灯光(HTML5 Canvas Three.js Ambient Lighting)
- 离散傅里叶变换的推导
- HDG学习笔记
- Android开发中关于Spinner;Checkbox; RadioButton; EditText;怎样向其他Ativity传值
- 2016/10/31
- 图像分割结果的评估
- three.js环境下的一种飞线动画实现方法
- 网络编程(30)—— IP地址分类和子网掩码的作用
- JAVA中==和equals的区别
- 笑死了,打错一个字,竟然...
- 输入一个字符串,同时输入帧头和帧尾(可以是多个字符),将该字符串中合法的帧识别出来. 提示:帧头和帧尾分别是head和tail 字符串”asdheadhauboisoktail”中headhaubo
- 内存映射+矩阵
- prolog学习_修道士野人问题
- sed的详细用法demo
- 2016年11月