http://www.hightopo.com/guide/guide/core/lighting/examples/example_flowing.html
流动效果在3D领域有着广泛的应用场景,如上图中医学领域可通过3D的流动直观的观察人体血液的流动,燃气领域可用于监控管道内流动的液体或气体的流向、流速和温度等指标。
如今企业数据中心机房普遍面临着设备散热的问题,采用冷热通道方案可大大提高数据中心的散热能力,充分有效利用机柜和机房的空间,因此在电信的3D机房监控领域,也常需要借助流动的效果,对机房冷热通道系统进行监控。
Hightopo的HT for Web作为3D客户端呈现解决方案,今天介绍的重点不在于采集这些指标,而在于如何应用HT的预定于3D元素来实现流动的效果。在《透过WebGL 3D看动画Easing函数本质》这篇介绍的基于HT for Web的动画,是通过改变模型的位置方向来实现动画,而本文要介绍的方案则是保持模型位置方向不动,而是通过控制模型的贴图参数uvScale和uvOffset实现流动的控制,这样实现的好处是没有增加过多的3D图元模型,同时可借助2D的图片融合到3D进行呈现,毕竟美工改变2D图片,或程序员内存中动态改变2D图片,都会比动态改变3D模型来的容易且轻量。
该例子主要应用了ht.Shape类型对象,该对象在ht.graph.GraphView中呈现了多边形的效果,而该模型在ht.graph3d.Graph3dView中则常用于绘制墙面、管道等三维模型对象,在《HT for Web 3D手册》中有如下的例子,其实已经体现了ht.Shape可作为墙面和管道并且可以贴图的效果,我们只需要动态改变uvOffset参数即可让3D物体流动起来。
整个例子我们仅仅用了上图的一个箭头图片,通过uvScale可设置平铺的效果,通过设置’front.uv’: [0,1, 1,1, 1,0, 0,0]我们可以改变箭头的方向,最后实现动画仅仅是这样一行代码offset = 0;setInterval(function(){offset += 0.1;shape.s(‘front.uv.offset’, [offset, 0]});}, 100);你可以再修改动画间隔,或者offset每次步进,这样就可以控制流动的快慢,同时我们通过改变’shape3d.blend’: ‘red’可动态改变箭头图片的渲染颜色,这样无需美工提供多种图片,我们甚至可以根据温度值等指标动态改变箭头颜色。
该例子左下角摆放了ht.graph.GraphView的2D拓扑图,2D和3D共同绑定ht.DataModel的数据模型,因此可随意操作2D拓扑或3D引擎上的图形组件,你会发现他们会自动联动,任何一处的改变会同时在另一个组件上实时呈现改变效果,这也是HT所有组件可绑定同一数据模型的OVM(Object-View mapping)设计模式带来的好处:
以下是段操作HT for Web中3D流动例子的视频供参考,基于HT预定义的模型还有很多自定义效果,大家可以发挥想象力让3D的流动效果发挥出更多不可思议的应用场景效果:
相关推荐
根据移动互联网发展趋势研究的基于HTML5的船舶动态监控应用,具有 良好的跨平台特性,能够突破移动操作系统差异带来的影响,以较低的开发成本 获取良好的应用性能
基于大数据技术的视频监控应用探讨.pdf
基于JAVA网络远程监控系统软件的实现(源码)基于JAVA网络远程监控系统软件的实现(源码)基于JAVA网络远程监控系统软件的实现(源码)基于JAVA网络远程监控系统软件的实现(源码)基于JAVA网络远程监控系统软件的...
基于Linux实现cacti监控应用研究.pdf
基于Zabbix的分布式服务器监控应用研究,基于Zabbix的分布式服务器监控应用研究
基于深度学习YOLOV5网钓电子监控系统目标检测应用 基于深度学习YOLOV5网钓电子监控系统目标检测应用 基于深度学习YOLOV5网钓电子监控系统目标检测应用 基于深度学习YOLOV5网钓电子监控系统目标检测应用 基于深度学习...
Delphi实现基于OPC的PLC以太网监控.pdf
基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控
主要在应用层对网络流量进行监控,提高了准确率
基于云计算的现代农业监控系统设计与实现.pdf
基于Android的物联网环境监控应用设计与实现.pdf
基于物联网技术的电梯远程监控应用探讨
基于单片机的无线视频监控系统设计与实现.doc 基于单片机的无线视频监控系统设计与实现.doc 基于单片机的无线视频监控系统设计与实现.doc 基于单片机的无线视频监控系统设计与实现.doc 基于单片机的无线视频监控系统...
本文主要完成了以下几方面的工作: 1.对SIP、RTP、MPEG.4、数字图像处理等协议及技术进行了 深入学习,确定了智能视频...测试结果表明,各个功能模块均能够正常工作,达到了基于SIP的智 能视频监控系统系统的要求。
基于Java CS远程监控系统软件的设计与实现项目是一款基于Java语言开发的远程监控软件,主要应用Java Socket和Java AWT等技术,实现对远程设备的实时监控和控制。该系统可为企业、学校、政府等单位提供便捷和安全的...
课程设计大作业C++基于树莓派实现的自制智能AI相机监控系统源码,基于树莓派实现的自制智能相机,用于智能监控,抓拍入侵人员,并传入后台,推送到移动端。 课程设计大作业C++基于树莓派实现的自制智能AI相机监控...
基于 WFP 实现的网络监控
C++实现的基于QT的视频监控客户端源码.zipC++实现的基于QT的视频监控客户端源码.zipC++实现的基于QT的视频监控客户端源码.zipC++实现的基于QT的视频监控客户端源码.zipC++实现的基于QT的视频监控客户端源码.zipC++...
基于嵌入式Linux的视频监控系统设计与实现
基于Android的物流视频监控平台的研究与实现.docx基于Android的物流视频监控平台的研究与实现.docx基于Android的物流视频监控平台的研究与实现.docx基于Android的物流视频监控平台的研究与实现.docx基于Android的...