Cesium开发: Draco模型压缩

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: Cesium开发: Draco模型压缩

Draco 由谷歌 Chrome 媒体团队设计,旨在大幅加速 3D 数据的编码、传输和解码。Draco的研发团队将这个开源算法的首要应用在chorme浏览器上。谷歌将这个算法开源,现在全世界的开发者可以去探索 Draco 在其他场景的应用。目前谷歌提供了两个代码版本:JavaScript 和 C++。
image.png
Draco可以用来压缩 mesh 和点云数据。它还支持压缩点( compressing points),连接信息,纹理协调,颜色信息,法线( normals)以及其他与几何相关的通用属性。

draco的github项目地址:

https://github.com/google/draco

Cesium1.44开始支持解析draco压缩算法的gltf/glb模型,将模型使用具有draco算法的工具进行压缩,例如blender等,Cesium加载模型时,进行模型的解析。

对比使用draco算法压缩的模型,模型的数据量变小了相当多,这样会提高网络上的传输速度。

在3D Tiles的大批量模型中,使用这一算法进行提前压缩,可以大大的减少网络传输的数据量。

Cesium官方还专门写了这样的一篇博客:

https://cesium.com/blog/2018/04/09/draco-compression/

同时,Cesium在前端使用了Web Assembly的技术进行模型的解析,更提高了模型的解析性能,在Cesium的发行包中,可以看到Web Assembly技术的draco_decoder.wasm文件。
在压缩提高传输速度的情况下,模型的质量并没有减小。

相关文章
|
编解码 图形学 C++
如何在Blender中压缩/减小GLTF模型的大小
Blender是一款功能强大的开源软件,旨在创建3D图形,动画和视觉效果。它支持多种文件格式的导入和导出,包括GLB,GLTF,DAE,OBJ,ABC,USD,BVH,PLY,STL,FBX和X3D。这种适应性使其成为各种3D项目和工作流程的宝贵工具。(https://www.blender.org/download/)。
492 0
Cesium系列:加载单个模型
Cesium如何加载单个三维模型数据
543 0
|
2月前
Threejs中导入GLTF模型克隆后合并
这篇文章详细说明了在Three.js中如何导入GLTF模型,对其进行克隆,并将多个克隆模型合并成一个整体模型的过程。
76 2
Threejs中导入GLTF模型克隆后合并
|
2月前
|
存储 编解码 算法
Lottie 动画文件的压缩技术与策略
10月更文挑战第16天】综上所述,Lottie 动画文件的压缩是一项重要的工作。通过合理选择压缩方法和策略,结合适当的工具和技术,可以在保证动画质量的前提下,有效地减小文件的大小,提升应用的性能和用户体验。
66 1
|
2月前
ThreeJs设置模型的边线
这篇文章介绍了如何在Three.js中为3D模型添加边线效果,并提供了实现这一功能的代码示例。
47 2
|
4月前
|
Web App开发 JSON JavaScript
WebGL简易教程(十五):加载gltf模型
WebGL简易教程(十五):加载gltf模型
131 1
|
4月前
|
编解码 缓存 算法
Three.js如何降低3D模型的大小以便更快加载
为加快600MB的3D模型在Three.js中的加载速度,可采用多种压缩方法:1) 减少顶点数,使用简化工具或LOD技术;2) 压缩纹理,降低分辨率或转为KTX2等格式;3) 采用高效文件格式如glTF 2.0及draco压缩;4) 合并材质减少数量;5) 利用Three.js内置优化如BufferGeometry;6) 按需分批加载模型;7) Web Workers后台处理;8) 多模型合并减少绘制;9) 使用Texture Atlas及专业优化工具。示例代码展示了使用GLTFLoader加载优化后的模型。
493 12
|
4月前
|
API Python
Blender导出带透明贴图的gltf模型
Blender导出带透明贴图的gltf模型
171 0
Blender导出带透明贴图的gltf模型
|
人工智能 算法 vr&ar
在线GLTF模型材质编辑工具
模型材质贴图的作用是为三维模型赋予外观表面的纹理和颜色。它可以增加模型的细节、真实感和视觉效果,使得模型更具有逼真和吸引力。通过贴图,模型可以呈现出不同的材质,如金属、木材、布料等,并且能够模拟反射、阴影和光照效果,使模型在渲染过程中更加真实。贴图还可以用来描绘模型的细节纹理,例如皮肤的纹理、衣物的图案等。总之,模型材质贴图对于创造逼真的三维模型非常重要。
150 1
|
JSON 数据格式
Cesium开发:模型的CZML文件
Cesium开发:模型的CZML文件
456 0