posts - 422, comments - 576, trackbacks - 0, articles - 0

[转]GLTF-3D图形界的JPEG

Posted on 2019-03-30 21:47 eryar 阅览(479) 谈论(0)  修改 保藏 引证 所属分类: 2.OpenCASCADE

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给咱们带来的便当——节约存储空间,削减带宽压力。

那么怎么取得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的使用中在成倍地节约带宽的一起可以获取同质量的模型以及动画。

 

原文:https://cloud.tencent.com/developer/news/204942