GLTF介绍:
glTF 称为“ 3D 界的 JPEG”,使用了更优的数据结构,为应用程序实时渲染而生。glTF 有以下几大特点: – 由现有 OpenGL 的维护组织 Khronos 推出,目的就是为了统一用于应用程序渲染的 3D 格式,更适用于基于 OpenGL 的引擎; – 减少了 3D 格式中除了与渲染无关的冗余信息,最小化 3D 文件资源; – 优化了应用程序读取效率和和减少渲染模型的运行时间; – 支持 3D 模型几何体、材质、动画及场景、摄影机等信息(因为gltf已经把整个场景都放到里面去了所以当然支持动画蒙皮子类等等)。 glTF 导出格式有两种后缀格式可供选择:.gltf 和 .glb: – .gltf 文件导出时一般会输出两种文件类型,一是 .bin 文件,以二进制流的方式存储顶点坐标、顶点法线坐标和贴图纹理坐标、贴图信息等模型基本数据信息;二是 .gltf 文件,本质是 json 文件,记录对bin文件中模型顶点基本数据的索引、材质索引等信息,方便编辑,可读性较好; – .glb 文件格式只导出一个 .glb 文件,将所有数据都输出为二进制流,通常来说会更小一点,若不关心模型内的具体数据可直接选择此类型。
GLTF 打开:
方式一:推荐使用gltf-viewer来打开,能直接修改查看各种属性;
方式二:,VScode安装一个插件“gltf tools”就可以一边查看json一边修改与查看模型了(只能看gltf不能看二进制的glb内容);同时最新的gltf tools还支持四种引擎Babylon.js Cesium Filament Three.js;
通过 Draco 进行压缩 :
Draco 及 gltf-pipeline 介绍 Draco 是一种库,用于压缩和解压缩 3D 几何网格(geometric mesh)和点云(point cloud)。换句话说,它显著缩小了 3D 图形文件的大小,同时对 3D 图形的观看者来说又根本不严重影响视觉效果。它还旨在改善 3D 图形的压缩和传输。 Draco是由Google推出的一个用于3D模型压缩和解压缩的工具库,glTF资源可通过、Draco开发命令行工具gltf-pipeline进行编码压缩,gltf-pipeline可通过npm的方式安装使用。谷歌团队宣称:“ Draco 是为了提升压缩效率和速度而设计和研制的。代码支持压缩点、连接信息、纹理坐标、颜色信息、正常量以及与几何形状有关的任何其他一般属性。有了 Draco,使用 3D 图形的应用程序可以小巧得多,又不影响视觉逼真度。对于用户来说,这意味着现在应用程序下载起来更快了,浏览器中的 3D 图形加载起来更快了,现在只需要少量的带宽就可以传输虚拟现实和增强现实了,而且可以迅速呈现、画面极其逼真。” Draco开源库地址 Draco 是作为 C++ 源代码发布的,可以用来压缩 3D 图形,另外还发布了处理编码数据的 C++ 和 Javascript 解码器。
#全局安装
npm install -g gltf-pipeline
#压缩glb文件 -b表示输出glb格式,-d表示压缩
gltf-pipeline -i model.glb -b -d
#压缩glb文件并将纹理图片分离出来
gltf-pipeline -i model.glb -b -d -t
#更多参数查阅
gltf-pipeline -h
Draco压缩的分析:
通过 Draco 进行压缩基本上是有损的,有两点表现: – Draco 通过 Edge breaker 3D 压缩算法改变了模型的网格数据的索引方法,缺少了原来的网格顺序; – Draco 通过减少顶点坐标、顶点纹理坐标等信息的位数,以减少数据的存储量。
--input, -i Path to the glTF or glb file.[string] [required]
--output, -o Output path of the glTF or glb file. Separate
resources will be saved to the same directory.
[string]
--binary, -b Convert the input glTF to glb. //将输入的glTF转换为glb
[boolean] [default: false]
--json, -j Convert the input glb to glTF. //将输入的glb转换为glTF
[boolean] [default: false]
--separate, -s Write separate buffers, shaders, and textures //编写单独的缓冲区、着色器和纹理而不是把它们嵌入到glTF中
instead of embedding them in the glTF.
[boolean] [default: false]
--separateTextures, -t Write out separate textures only. //只写出单独的纹理
[boolean] [default: false]
--stats Print statistics to console for output glTF //将统计信息打印到控制台以输出glTF文件
file. [boolean] [default: false]
--keepUnusedElements Keep unused materials, nodes and meshes. //保留未使用的材质、节点和网格
[boolean] [default: false]
--draco.compressMeshes, -d Compress the meshes using Draco. Adds the //使用Draco压缩网格。添加KHR_draco_mesh_压缩扩展
KHR_draco_mesh_compression extension.
[boolean] [default: false]
--draco.compressionLevel Draco compression level [0-10], most is 10, //Draco压缩级别[0-10],大多数是10,最小值为0。值为0将会连续应用 编码并保留face顺序。
least is 0. A value of 0 will apply sequential
encoding and preserve face order.
[number] [default: 7]
--draco.quantizePositionBits Quantization bits for position attribute when //位置坐标属性的量化位使用Draco压缩。
using Draco compression. [number] [default: 11]
--draco.quantizeNormalBits Quantization bits for normal attribute when //法线属性的量化位使用Draco压缩
using Draco compression. [number] [default: 8]
--draco.quantizeTexcoordBits Quantization bits for texture coordinate //纹理坐标的量化位属性。
attribute when using Draco compression.
[number] [default: 10]
--draco.quantizeColorBits Quantization bits for color attribute when using //使用时颜色属性的量化位德拉科压缩
Draco compression. [number] [default: 8]
--draco.quantizeGenericBits Quantization bits for skinning attribute (joint //蒙皮属性(关节的量化位索引和关节权重)ad自定义属性使用Draco压缩时。
indices and joint weights) ad custom attributes
when using Draco compression. [number] [default: 8]
--draco.uncompressedFallback Adds uncompressed fallback versions of the //添加未压缩的回退版本压缩网格
compressed meshes. [boolean] [default: false]
--draco.unifiedQuantization Quantize positions of all primitives using the //统一定义的量化网格所有基本体的边界框。 如果这个选项未设置,对每个应用量化原始的可能会导致差距出现在不同图元之间。
same quantization grid defined by the unified
bounding box of all primitives. If this option
is not set, quantization is applied on each
primitive separately which can result in gaps
appearing between different primitives.
[boolean] [default: false]
参考资料:
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性
GLB下载网(glbxz.com)gltf文件下载-glb格式下载-模型制作 » gltf格式一、简介
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载要提取码
- 分享过期和重复下载怎么办
- 模型和平台不兼容怎么办