您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 基于网页的虚拟现实及其关键技术44
第二章基于网页的虚拟现实(WebVR)及其关键技术主讲教师:贾金原助教:杨寒冰联系方式:13816142387,QQ:605360422email:tongjissevr@gmail.com同济大学软件学院图形图像研究中心•2.1基于网页的虚拟现实(WebVR)简介•2.2现有WebVR技术现状•2.3WebVR的关键技术•2.4VRML/X3D技术简介•2.5WebVR的轻量化建模技术•2.6WebVR的光影效果增强•2.7WebVR的轻量化脚本编程技术•2.8WebVR场景的渐进式下载机制•2.9WebVR的前景展望与机遇提纲2.1WebVR系统开发-VRML篇•VRML是第二代Web语言的基础–以网页为中心的模式转换到一个令人激动的三维世界–1997年,VRML被ISO和国际电子工业协会IEC定为国际标准,简称VRML97•特点–文本格式编码,文件小,压缩比高–Vrmlscript脚本语言简单、易用–最直观的面向对象编程思想–开源、良性可持续发展、资源丰富–开发效率高、周期短、开发成本低2.1WebVR系统开发-X3D篇•X3D(Extensible3DSpecification)–基于XML的VRML有机扩展,2003年,ISO又制定了X3D作为新的Web3D国际标准•特点–基于XML的编码格式•更易于网页集成,更易于与下一代WebServices技术有机融合–基于组件的结构•使之具有更好的兼容性与可扩展性–轻量化的内核•硬件上,适用于图形工作站、PC机、PDA、数字机顶盒、手机等•软件上,美国著名的海军研究院(NavyPostgraduateSchool,NPS)拟将X3D技术应用与NPSNET-V中2.2WebVR的若干关键技术•轻量化的虚拟场景建模技术•轻量化的WebVR互动程序设计技术•轻量化的WebVR引擎•大规模WebVR虚拟场景的快速下载机制•高效的WebVR的体系支撑架构•面向WebVR的软件工程方法2.3目前主流WebVR浏览器(引擎)的比较:VRMLVRPPV3DUnity3DQuest3DVirtools效果★★★★★★☆★★★★★★★★★★☆★★★★★性能★★★☆★★★★★★★★★★☆★★★★★★★★可交互性★★★★★★★★★★★★★★★★☆★★★★★★★★☆场景压缩比★★★★★★★★★★★★★★★★★★☆★★☆引擎轻量性★★★★★★★★★★★★★★☆★★★★★★★☆可编程性★★★★★★★☆★★★★★★★★☆★★★★☆★★★★2.4WebVR引擎的初步分析–对于小规模WebVR场景,要求较强的网页级互动性,即时响应的浏览速度,建议采用免插件安装的P(aperVision)3D技术最合适。–对于中规模WebVR场景,要求较强的网页级互动性,较频繁的场景更新,较高的文件压缩比,建议采用VRML/X3D技术较为合适。–对于大规模虚拟场景,要求较强的网页级互动性,重复访问频率低(往往是一次性的访问),对于文件压缩比和引擎大小的要求较高,建议采用U3D技术较为合适。2.4目前VRML应用中存在的误区–过分依赖压缩比,不考虑模型的数据量与制作方法的联系——轻量化模型制作的重要性–光影效果表现差强人意–对VRML的理解不深入,缺乏面向对象编程思路–对许多的扩展节点缺乏了解与深入认研究–VRML效率低,缺乏面向VRML的高效图形算法–表现手法单一,缺少与多媒体的有机结合–仅注重单纯的浏览漫游,缺乏软件工程体系思想,无后台,无数据库,无通讯–漫游模式单调,几乎完全依赖浏览器所提供的几种漫游模式我们的对策以及开发WebVR的技术路线–WebVR的轻量化建模•静态虚拟场景的轻量化建模•动态虚拟场景的轻量化建模–WebVR的轻量化虚拟互动程序设计•尽量减小VRML/X3D的程序代码量•提高VRML/X3D代码的运行效率–WebVR的后台体系架构•数据库、J2EE、Ajax、SOA等的集成–面向WebVR的软件工程•参照游戏与GIS的软件工程思想与模式2.5WebVR的轻量化建模技术•原则–尽可能地减少模型的三角网格面片数量–尽可能地缩小贴图的尺寸\大小–尽可能地重复使用纹理\材质\贴图–单体模型的重用–尽量保证几何精度与光影效果•影响建模精度的几个因素–画面表现度–重用度–交互度2.5WebVR的轻量化建模实例•静态轻量化建模的实例–虚拟校园–虚拟商城外景•前景与背景的和谐融合•动态轻量化建模的实例–瀑布–河流–树木与森林例1:瀑布-轻量化的动态建模•非轻量化建模-粒子系统–传输效率较高–运行效率太低•基于位置插播器的建模–传输效率较高–运行效率更高–效果甚佳虚拟树木的轻量化建模方法(一)-基于几何的树木建模方法制作方法:3Dmax直接生成面数:9758显示效果:较好显示效率:差未经压缩代码量:1.10M经压缩后代码量:320KB贴图容量:9.6KB虚拟树木的轻量化建模方法(二)-基于Billboard的树木建模方法制作方法:广告牌Billboard面数:1显示效果:差显示效率:高未经压缩代码量:227字节经压缩后代码量:176字节贴图容量:206KB虚拟树木的轻量化建模方法(三)-基于模型与Billboard的混合方法制作方法:模型+广告牌相结合面数:157显示效果:动态效果-好显示效率:高未经压缩代码量:25.4KB经压缩后代码量:7.39KB贴图容量:106KB虚拟树木的轻量化建模方法(四)-基于规则的树木轻量化建模方法制作方法:基于L-System规则面数:1个圆台面显示效果:动态生长过程-极好显示效率:高未经压缩代码量:1.6KB经压缩后代码量:0.69KB贴图容量:10KB虚拟森林生成系统•快速地生成虚拟森林–效果比Billboard更加动态逼真–树木数量庞大,但渲染速度快–文件小,便于网络传输–基于VRML的虚拟森林编辑器WebVR中光影效果的轻量化实现-烘焙技术的应用-•采用VRay渲染器对场景物体进行光影烘焙•用多重纹理贴图表现光影–影视级虚拟现实效果表现–避免了光源计算带来的显示复杂度,加快了实时浏览速度2.6WebVR的轻量化互动脚本程序设计•基于OOP的UI扩展节点库•基于探针的轻量化碰撞检测算法•WebVR的轻量化虚拟导航算法•基于Cohen-Sutherland编码的飞行物的轻量化交互操纵算法•基于VRML的全景漫游功能的实现•VRML中的视频在线播放系统基于OOP的VRML的UI扩展节点库的开发•PROTO扩展机制带来良性、自增长的软件理念。•自主研发大量的PROTO扩展节点库–为WebVR系统的开发提供了工具集PROTOTYPE作用UIMenu快速生成随界面尺寸变化的菜单栏UIDialog快速设置生成完整功能的对话框button按钮map2D快速生成二维导航地图其它……基于H-Anim的VRML角色互动设计基于探针的轻量化VRML碰撞检测算法(1)•前进障碍物检测基于探针的轻量化VRML碰撞检测算法(2)•前进地形检测:基于探针的轻量化VRML碰撞检测算法(3)•高度障碍物检测基于探针的轻量化VRML碰撞检测算法(4)•前进行为条件成立VRML虚拟世界的轻量化导航算法(一)•大规模VRML环境的浏览问题–面积规模广大,布局结构复杂–缺乏有效的导航信息•用户将会迷失方向•在虚拟世界中毫无意义地徘徊•无法找到预期的目标•从而失去继续浏览、观看的信心和兴趣VRML虚拟世界的轻量化导航算法(二)•高效的大规模VRML世界的虚拟导航算法–优化的道路导航算法•可回溯的盲人爬山算法–近似最优,精度达到了95%以上»其准确度也能达到虚拟漫游的需要–随着节点数的增加,精度也随之增加,并最终收敛至100%•用VRMLscript实现–直接与VRML耦合在一起–高效并易于实现–没有采用JavaEAIVRML中的在线视频播放技术•虚拟家居装修与科普影院–在虚拟空间中在线观看科普视频–基于RSTP流媒体协议传输2.7WebVR的体系支撑架构•过去的VRML系统–无后台–无数据库•而今–基于J2EE的后台管理系统–数据库–基于AJAX的高效通讯模式–大规模WebVR场景的渐进下载模式WebVR的体系支撑架构-Web通讯模式的新应用(1)•传统Web应用的通讯模式–请求-等待-响应-再请求的循环–用户体验是割裂的BrowserUserinterfaceWebServerJSP/ASP/…DB/FileSystemResponseRequestClientServerTimeUseractivityServerprocessingDataDataDataDataWebVR的体系支撑架构-Web通讯模式的新应用(2)•Ajax异步通讯模式–无需忙等待–采用局部刷新–连贯的用户体验BrowserUserinterfaceServerWeb/XML…DB/FileSystemResponseRequestClientServerTimeUseractivityServerprocessingAjaxengineJavaScriptcallDOM/CSSAjaxProcessDataDataDataDataDataInputInputInputDisplayDisplayDisplayVRML与Ajax的结合(1)•结合的方式–以XML为载体–通过Ajax技术实现VRML虚拟场景数据的按需动态请求与下载•结合的意义–减轻服务器传输大规模场景数据的负载与带宽消耗–避免客户端一次性渲染大规模场景而导致漫游速度缓慢–通过把复杂算法嫁接到服务器端,实现灵活的人机交互应用VRML与Ajax的结合(2)•VRML与Ajax交互模式示意图VRML场景Script节点Ajax引擎事件触发事件响应后台请求数据返回数据J2EE与Ajax的结合(2)•J2EE与Ajax交互模式示意图J2EE服务器组件客服端浏览器Ajax引擎ConnectionPoolJavaBeansJSP/Servlet发送请求返回结果2.8大规模WebVR的网上渐进式下载机制•基于AOI(AreaofInterests)的思想–渐进式AOI的VRML下载策略•与多线程下载策略相结合正在进行中的研发工作(1)•光影效果方面–程序化(Shader)着色器在VRML上的应用•体系支撑架构方面–采用DWR(DirectWebRemoting,WEB远程调用)框架•客户端无需再处理XMLHttpRequest对象以及服务器的响应•后台无需编写Servlet把请求转化为对JavaBeans的调用–更为灵活的多人在线交互模式–更为高效的多路组播通讯技术正在进行中的研发工作(2)•WebVR场景的轻量化方面–虚拟场景的参数化存储与生成–基于函数的VRML/X3D的扩展节点库•面向WebVR的软件工程–WebVR的项目开发模式有很多独特性•需求分析•成本估算•项目管理•团队组建•文档管理正在进行中的研究课题(1)•WebVR的轻量化建模–研究目标•高效、通用、低成本的轻量化建模–基于图像的轻量化3D模型重建»除了传统的网格面片精简技术之外»如何提取最小尺寸的可重用纹理贴图•基于多张图像的树木植物L-System重建»与Autodesk中国研究院合作•基于多张图片的树木植物的参数化建模–中科院自动化所与法国INRIA合作»基于AMAP的树木植物的轻量化建模正在进行中的研究课题(2)–扫描性3D模型的精简•基于数字几何特征的模型精简–轻量化的WebVR模型数据库•构建本地3D模型库•基于文本、草图与图像的综合智能搜索•网上3D模型资源的智能挖掘–基于视频的轻量化的WebVR行为数据库•虚拟行为仿真计算•虚拟情感分析与计算正在进行中的研究课题(3)•开发轻量化的WebVR引擎–(超)大规模的虚拟场景的网上实时漫游–高效的WebVR物理引擎–大规模虚拟群体的行为仿真(含实时碰撞算法)•更高端的WebVR的体系支撑架构•SOA,OracleSpatial等•对这些海量的空间数据进行更为有效的调度与管理•(超)大规模WebVR场景的网上流式渐进下载机制–基于EAOI(ExtendedAO
本文标题:基于网页的虚拟现实及其关键技术44
链接地址:https://www.777doc.com/doc-28727 .html