基于制造技术

技术编号:39745956 阅读:11 留言:0更新日期:2023-12-17 23:44
根据本申请提供的一种基于

【技术实现步骤摘要】
基于glTF数据格式的三维数据分层分块方法及装置


[0001]本专利技术涉及三维数据处理
,特征是涉及一种基于
glTF
数据格式的三维数据分层分块方法及装置


技术介绍

[0002]随着
WebGL
技术的不断发展,三维数据的应用规模逐渐扩大

为了高效处理和传输这些数据,需要采用一种高效的数据格式进行存储和传输

[0003]glTF
格式是一种通用的三维数据格式,可用于存储三维模型

材质

光照等信息,具有轻量级

可扩展和易用性等优点,可将三维数据高效地存储和传输,然而,现有的
glTF
格式并没有提供直接支持三维数据分层和网格划分的功能,这给实际应用带来了一定的困难

例如一个实际面积5万平米的大场景三维数据,三角面数通常在千万级以上,而整体数据大小在
1G
以上

而数据量大小过大,对于
Web
端应用数据下载有很大的网络带宽压力,下载时间过长也会增加用户等待的时间,降低用户体验度

同时,数据大小和三角网格面数过大也会消耗大量的渲染资源,不仅在
PC
设备端

尤其在移动设备端,常会引起系统卡顿甚至崩溃的问题

[0004]因此,寻找适配的处理基于
glTF
数据格式的三维数据方式,是本领域技术人员亟待解决的问题


技术实现思路

[0005]基于此,有必要提出一种基于
glTF
数据格式的三维数据分层方法及装置,来解决现有的数据格式扩展不便,渲染慢

资源消耗多的技术问题

[0006]本专利技术提供一种基于
glTF
数据格式的三维数据分层分块方法,包括:
[0007]获取三维场景数据,所述三维场景数据包括
glTF
格式数据
、bin
数据;所述
glTF
格式数据包括节点数据;根据所述节点数据计算得到三维场景的外包围盒;
[0008]基于所述节点数据对各个节点进行分层,得到每个节点分别对应的层级信息;
[0009]根据所述层级信息对各个层级进行网格分块,将所述节点与所述网格进行关联,得到每个节点分别对应的网格信息;
[0010]对所述
glTF
格式数据进行扩展章节,所述扩展章节用于存储所述层级信息和所述网格信息;
[0011]根据网格对所述
bin
数据进行重构得到多个
bin
数据文件;基于所述网格信息重写
glTF
格式数据中的
buffer
数据,将所述
bin
数据文件与所述
glTF
格式数据关联,在三维场景中,基于相机所在网格根据
buffer
数据将
bin
数据文件进行加载

[0012]进一步地,所述获取三维场景数据,所述三维场景数据包括
glTF
格式数据
、bin
数据;所述
glTF
格式数据包括节点数据;根据所述节点数据计算得到三维场景的外包围盒;包括:
[0013]所述节点数据为
node
数据,每个
node
数据对应三维场景中的一个三维特征,所述
三维特征包括立面

陈列物体;
[0014]遍历
nodes
数据,根据
node
数据中的
accessor
数据块中记载的关于三维特征的坐标数据分别计算三维特征的外包围盒,得到第一外包围盒;
[0015]根据各个所述第一外包围盒计算三维场景的外包围盒,得到第二外包围盒

[0016]进一步地,得到第一外包围盒及得到第二外包围盒后,所述基于所述节点数据对各个节点进行分层,得到每个节点分别对应的层级信息,包括:
[0017]设定层级参数,根据所述层级参数确定分层数量;
[0018]根据第一外包围盒中的顶点数据计算对应三维特征的投影面积,若所述投影面积大于第一阈值,则将所述三维特征与第一层级进行关联;若所述投影面积小于第一阈值,则将所述三维特征与第二层级进行关联;得到各个三维特征对应的层级属性,进而得到每个三维特征分别对应的层级信息

[0019]进一步地,所述计算对应三维特征的投影面积,包括:
[0020]确定各个三维特征的提层参数,根据提层参数确定提取三维特征的投影面积的提层等级,所述提层等级包括普通级和精细级,若提层等级为普通级,则根据对应三维特征的第一外包围盒的顶点数据计算三维特征投影的外接矩形面积,得到普通级的三维特征的投影面积;
[0021]若提层等级为精细级,则计算对应三维特征投影的轮廓形状面积,得到精细级的三维特征的投影面积

[0022]进一步地,所述若所述投影面积大于第一阈值,则将所述三维特征与第一层级进行关联;若所述投影面积小于第一阈值,则将所述三维特征与第二层级进行关联;之后包括:
[0023]对第一层级根据所述第一外包围盒计算各个三维特征的三角面数,得到第一层三角面数;
[0024]对第二层级根据所述第一外包围盒计算各个三维特征的三角面数,得到第二层三角面数;
[0025]计算所述第一层三角面数与所述第二层三角面数的差值,根据所述差值均衡各层级三维特征,进而得到更新后的每个三维特征分别对应的层级信息

[0026]进一步地,所述根据所述层级信息对各个层级进行网格分块,将所述节点与所述网格进行关联,得到每个节点分别对应的网格信息;包括:
[0027]对第一层级的水平面进行网格划分,得到在第一层级上的分块网格;
[0028]计算第一层级中各个节点在第一层级的水平面的投影,得到三维特征投影面;
[0029]判断所述三维特征投影面与所述网格之间的平面相交关系;
[0030]若所述三维特征投影面与所述网格相交,则将所述节点和与该节点相交的网格进行关联,得到每个节点分别对应的网格信息

[0031]进一步地,所述对所述
glTF
格式数据进行扩展章节,所述扩展章节用于存储所述层级信息和所述网格信息,包括:
[0032]对所述
glTF
格式数据进行扩展章节,所述扩展章节采用
json
格式存储所述层级信息和所述网格信息

[0033]进一步地,所述根据网格对所述
bin
数据进行重构得到多个
bin
数据文件;基于所
述网格信息重写...

【技术保护点】

【技术特征摘要】
1.
基于
glTF
数据格式的三维数据分层分块方法,其特征在于,包括:获取三维场景数据,所述三维场景数据包括
glTF
格式数据
、bin
数据;所述
glTF
格式数据包括节点数据;根据所述节点数据计算得到三维场景的外包围盒;基于所述节点数据对各个节点进行分层,得到每个节点分别对应的层级信息;根据所述层级信息对各个层级进行网格分块,将所述节点与所述网格进行关联,得到每个节点分别对应的网格信息;对所述
glTF
格式数据进行扩展章节,所述扩展章节用于存储所述层级信息和所述网格信息;根据网格对所述
bin
数据进行重构得到多个
bin
数据文件;基于所述网格信息重写
glTF
格式数据中的
buffer
数据,将所述
bin
数据文件与所述
glTF
格式数据关联,在三维场景中,基于相机所在网格根据
buffer
数据将
bin
数据文件进行加载
。2.
根据权利要求1所述的基于
glTF
数据格式的三维数据分层分块方法,其特征在于,所述获取三维场景数据,所述三维场景数据包括
glTF
格式数据
、bin
数据;所述
glTF
格式数据包括节点数据;根据所述节点数据计算得到三维场景的外包围盒;包括:所述节点数据为
node
数据,每个
node
数据对应三维场景中的一个三维特征,所述三维特征包括立面

陈列物体;遍历
nodes
数据,根据
node
数据中的
accessor
数据块中记载的关于三维特征的坐标数据分别计算三维特征的外包围盒,得到第一外包围盒;根据各个所述第一外包围盒计算三维场景的外包围盒,得到第二外包围盒
。3.
根据权利要求2所述的基于
glTF
数据格式的三维数据分层分块方法,其特征在于,得到第一外包围盒及得到第二外包围盒后,所述基于所述节点数据对各个节点进行分层,得到每个节点分别对应的层级信息,包括:设定层级参数,根据所述层级参数确定分层数量;根据第一外包围盒中的顶点数据计算对应三维特征的投影面积,若所述投影面积大于第一阈值,则将所述三维特征与第一层级进行关联;若所述投影面积小于第一阈值,则将所述三维特征与第二层级进行关联;得到各个三维特征对应的层级属性,进而得到每个三维特征分别对应的层级信息
。4.
根据权利要求3所述的基于
glTF
数据格式的三维数据分层分块方法,其特征在于,所述计算对应三维特征的投影面积,包括:确定各个三维特征的提层参数,根据提层参数确定提取三维特征的投影面积的提层等级,所述提层等级包括普通级和精细级,若提层等级为普通级,则根据对应三维特征的第一外包围盒的顶点数据计算三维特征投影的外接矩形面积,得到普通级的三维特征的投影面积;若提层等级为精细级,则计算对应三维特征投影的轮廓形状面积,得到精细级的三维特征的投影面积
。5.
根据权利要求3所述的基于
glTF
数据格式的三维数据分层分块方法,其特征在于,所述若所述投影面积大于第一阈值,则将所述三维特征与第一层级进行关联;若所述投影面积小于第一阈值,则将所述三维特征与第二层级进行关联;之后包括:对第一层级根据所述第一外包围盒计算各个三维特征的三角面数,得到第一层三角面
数;对第二层级根据所述第一外包围盒计算各个三维特征的三角面数,得到第二层三角面数;计算所述第一层三角面数与所述第二层三角面数的差值,根据所述差值均衡各层级三维特征,进而得到更新后的每个三维特征分别对应的层级信息
。6.
根据权利要求5所述的基于
glTF
数据格式的三维数据分层分块方法,其特征在于,所述根据所述层级信息对各个层级进行网格分块,将所述节点与所述网格进行关联,得到每个节点分别对应的网格信息;包括:对第一层...

【专利技术属性】
技术研发人员:毛凯曾鹏周星丁勇
申请(专利权)人:深圳积木易搭科技技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1