WebGL技术及优化学习
参考文献:《WebGL三维技术、建模分析及优化研究 》
1、WebGL建模
开发 WebGL三维应用,建模三维模型是关键环节之一。目前主要有两种 WebGL三维场景构建类型,即 360°全景照片式的三维场景和基于三维模型的三维场景。
360度全景照片式的三维场景的建模
简单讲,这种建模方式就是360度拍照,然后进行拼接,形成一个可预览的三维场景,
不能对模型进行交互操作。优点也很明显,成本低,效率高。
基于三维模型的三维场景的建模
这种建模方式有点就是可以解决上一种建模不能进行模型交互的弊端,但是自然成本也比较高。主要分为人工建模和激光建模。
人工建模,就是利用专业的建模软件如3dsmax、Blender等,进行三维模型创建,优点就是模型精度搞,纹理逼真,缺点就是人工成本高,时间长。
激光建模,有三种方式,分别是激光三维扫描仪、激光雷达、航空倾斜摄影测量。其中激光扫描仪获取比如建筑物、隧道、文物的点云数据,激光雷达可以获取大面积的4D产品进行建模,具有可穿透性,获取精度及面积高,但设备昂贵、纹理需要后期贴图,倾斜摄影测量是目前最流行的大范围三维场景建模方式,但是无法拍摄被遮挡的物体有破面,往往需要结合激光扫描仪。
2、WebGL优化
加载速度与硬件性能已成为限制 Web三维效果的瓶颈,如何快速从服务器获取模型并解析、加载、渲染仍然是一个需要优化的问题。本文认为在不确定用户客户端设备性能和网络性能的情况下,可以从单体三维模型、三维场景、网络加载机制三方面进行优化。
单体化优化主要是选择gltf格式以及通过删除面数量来优化,三维场景优化主要是采用LOD方式,推荐利用3Dtiles格式进行场景优化,以及利用视锥体裁剪(BSP树和包围体)进行场景管理;网络优化本文提出一种基于 WebRTC的模型文件传输机制,采用类似P2P的网络机制。