GLTF-3D图形界的JPEG GLTF简介 1.glTF(GL TransmissionFormat),即图形语言交换格式,它是一种3D内容的格式标准,由Khronos Group管理(Khronos Group还管理着OpenGL系列、OpenCL等重要的行业标准); 2.glTF的设计是面向实时渲染应用的,尽量提供可以直接传输给图形API的数据形式,不再需要二次转换; 3.glTF对OpenGL ES、WebGL非常友好; 4.glTF的目标是:3D领域的JPEG; 5.作为一个标准,自2015年10月发布(glTF 1.0)以来,已经得到了业界广泛的认可,你可以相信它的水平; 6.glTF目前最新版本为2.0已于2017年6月正式发布。 GLTF具体的数据存储格式可以去官方网站上看:https://www.khronos.org/gltf/,大概就是相对于XML的JSON存储方式。 文章关注的是GLTF给我们带来的便利——节约存储空间,减少带宽压力。 格式转换 目前已经有了很多的转换工具: 其中Input代表输入模型的格式,输出为gltf格式。由于之前使用过Dae格式的文件(https://www.khronos.org/collada/),因此文章选取COLLADA2GLTF工具转换文件: 千万别纠结于工具源代码的编译,因为KhronosGroup已经给出了Release版本。这里说一些使用方法: 1.解压zip文件,在根目录新建dae文件夹——用于存放原始的dae文件 2.在根目录新建gltf文件夹——用于存放转换后的gltf文件 3.在根目录按住Ctrl+Shift+Alt+鼠标右键,打开PowerShell窗口 4.在命令行中输入:./collada2gltf-bin.exe input.dae output.gltf –i dae/input.dae –o gltf/output.gltf 其中input为dae文件的名称,output为输出gltf文件的名称。 5.Enter开始转换。 PS C:\Users\Ruby\Desktop\COLLADA2GLTF-v2.1.2-windows-Release-x64>./COLLADA2GLTF-bin.exe elf.dae elf.gltf -i dae/elf/elf. dae -o gltf/elf.gltf Convertingdae\elf\elf.dae -> gltf\elf.gltf Time: 320 ms 原始dae文件包含4个jpg贴图一共2.46M,转换后为一个单独的gltf文件约1.38M(含贴图)。其实我很好奇那些贴图文件去哪儿了,于是打开了gltf文件查看,发现在image数组下已经把这些贴图文件用base 64编码,变成一堆机器码直接插在gltf文件中。 完成模型转换以后,利用ThreeJS的LoadGLTF API导入网页中浏览效果如下: 如何在GLTF格式中捕获动画? 上述过程展示了从Collada到gltf的转换以及让gltf模型展示在网页上。下面将继续研究如何获取gltf模型的动画("Talk is cheap,show me the code"——哈哈哈) 效果如图所示: 至此,gltf从模型到动画都run了一遍。 总结 GLTF格式号称3D图形界的JPEG,能够实现快速的模型数据交换。在2017年中旬更新的2.0版本克服了一些低版本的功能缺陷,使得自身功能得到发展;同时,gltf解析及转换Tool的快速发展,为GLTF的进一步推广做出了很多的贡献。文中也应证了,作为GLTF格式的用户,能够利用现有的工具对模型处理,减少模型的数据量,在WebGL的应用中在成倍地节省带宽的同时能够获取同质量的模型以及动画。 |
版块:
web3.0前端学院
分类:
1. 本站所有资源来源于用户上传和网络,仅作为演示数据,如有侵权请邮件联系站长!
2. 盗版,破解有损他人权益和违法作为,请各位站长支持正版!
2. 盗版,破解有损他人权益和违法作为,请各位站长支持正版!