一种三维场景中模型自动化加载布局方法技术

技术编号:22595948 阅读:45 留言:0更新日期:2019-11-20 11:41
本发明专利技术涉及一种三维场景中模型自动化加载布局方法,采用全新设计方法,无需用户编写代码,直接基于json,即可按照数据层次结构,实现三维场景数据的加载布局,为用户提供了便利,而且在场景加载显示后,用户也可以交互修改模型位置、旋转、缩放等信息,从而提升了三维场景加载显示效率,缩短加载显示时间。

A method of automatic loading layout of model in 3D scene

The invention relates to a method of automatic loading and layout of model in 3D scene. By adopting a new design method, the loading and layout of 3D scene data can be realized according to the data hierarchy directly based on JSON without the user writing code, which provides convenience for the user. Moreover, after the scene loading and display, the user can also interactively modify the model position, rotation, scaling and other information, Thus, the loading and display efficiency of 3D scene is improved and the loading and display time is shortened.

【技术实现步骤摘要】
一种三维场景中模型自动化加载布局方法
本专利技术涉及一种三维场景中模型自动化加载布局方法,属于三维数据加载

技术介绍
现有三维场景加载都是用户根据三维显示软件中场景加载逻辑,自己编写代码进行加载,这过程中、需要用户编写完所有场景节点的加载程序之后,才能进行三维场景的运行显示。
技术实现思路
本专利技术所要解决的技术问题是提供一种三维场景中模型自动化加载布局方法,采用全新设计方法,无需用户编写代码,直接基于json,即可按照数据层次结构,实现三维场景数据的加载布局,有效提高了工作效率。本专利技术为了解决上述技术问题采用以下技术方案:本专利技术设计了一种三维场景中模型自动化加载布局方法,用于实现三维场景数据的加载布局,包括如下步骤:步骤A.应用包围体层次结构的数据存储结构,针对三维场景数据进行更新,然后进入步骤B;步骤B.根据三维场景数据的包围体层次结构关系,获得三维场景数据所对应的场景树结构,并进入步骤C;步骤C.分别针对三维场景数据所对应场景树结构中的各个节点,根据三维场景数据的包围体层次结构关系,获得节点所对应各预设属性数据的json字段标识,并构成该节点所对应json数据文件,即获得三维场景数据所对应场景树结构中各个节点、分别所对应的json数据文件,然后进入步骤D;步骤D.针对三维场景数据所对应场景树结构中各个节点、分别所对应的json数据文件,利用jsonloader函数进行解析,将三维场景重组加载到三维可视化软件中,获得三维场景数据加载布局结果。作为本专利技术的一种优选技术方案:所述步骤C中,所述场景树结构中各个节点、分别所对应的各预设属性,包括包围体、父节点、几何数据、子节点、ID、TRS矩阵;其中,包围体是指节点信息中模型的最小外接矩形的信息,包含长方体中心点位置信息,以及长、宽、高信息;父节点是节点指向其父节点的指针;几何数据是节点模型绘制所对应的预设指定各几何矢量、以及标量数据;子节点是节点的所有子节点信息指针;ID是指节点在场景层次中的层级位置信息;TRS矩阵是节点的位移、旋转、缩放信息的矩阵信息,即节点相对于其父节点的移动、旋转和缩放信息。作为本专利技术的一种优选技术方案:所述几何数据中,节点模型绘制所对应的预设指定各几何矢量,包括顶点数据、法线数据、纹理数据。本专利技术所述一种三维场景中模型自动化加载布局方法,采用以上技术方案与现有技术相比,具有以下技术效果:本专利技术所设计三维场景中模型自动化加载布局方法,采用全新设计方法,无需用户编写代码,直接基于json,即可按照数据层次结构,实现三维场景数据的加载布局,为用户提供了便利,而且在场景加载显示后,用户也可以交互修改模型位置、旋转、缩放等信息,从而提升了三维场景加载显示效率,缩短加载显示时间;其中,采用此方法每个节点都有其默认数据变换矩阵数据信息,即子节点默认加载到其父节点所在位置的中心位置、旋转值为0、缩放值为1;用户可以自己在场景未加载时,自己在场景数据组织文件中、修改各个节点的默认数据,在场景加载到三维软件之后,用户可以通过微调实现自己想要的场景展示效果、或者不做调整即可以得到自己想要的展示效果,从而节省基本场景操作时间;不仅如此,其中所涉及节点中的包围体信息降低了场景中的碰撞检测、以及场景中光照计算的复杂度和时间,应用包围体信息能够提高、并优化渲染物体加载显示效率;而且节点的插入更改或者删除,可以直接在场景组织文件、及json文件中更改相应层级中节点信息即可;以及在场景加载显示中,能够根据自己定义的加载器loader、来解析场景组织文件中的json信息,在三维软件中进行加载显示。附图说明图1是本专利技术设计三维场景中模型自动化加载布局方法中场景树结构示意图;图2是本专利技术设计三维场景中模型自动化加载布局方法中节点信息示意图。具体实施方式下面结合说明书附图对本专利技术的具体实施方式作进一步详细的说明。本专利技术设计了一种三维场景中模型自动化加载布局方法,用于实现三维场景数据的加载布局,实际应用当中,具体包括如下步骤。步骤A.应用包围体层次结构(BVH(BondingVolumeHierarchy))的数据存储结构,针对三维场景数据进行更新,然后进入步骤B。包围体层次结构BVH在三维场景中模型裁剪、场景渲染、光照效果模拟、碰撞检测等过程中,可以简化操作、减少资源开销,提高场景加载渲染速度。步骤B.根据三维场景数据的包围体层次结构关系,获得三维场景数据所对应的场景树结构,如图1所示,并进入步骤C。步骤C.分别针对三维场景数据所对应场景树结构中的各个节点,根据三维场景数据的包围体层次结构关系,获得节点所对应各预设属性数据的json字段标识,并构成该节点所对应json数据文件,即获得三维场景数据所对应场景树结构中各个节点、分别所对应的json数据文件,然后进入步骤D。其中,场景树结构中各个节点、分别所对应的各预设属性,如图2所示,包括包围体、父节点、几何数据、子节点、ID、TRS矩阵。包围体是指节点信息中模型的最小外接矩形的信息,包含长方体中心点位置信息,以及长、宽、高信息,json字段标识为bound。父节点是节点指向其父节点的指针,如果节点是场景中的根节点,即无父节点则此信息为空,json字段标识为parent。几何数据是节点模型绘制所对应的预设指定各几何矢量、以及标量数据,其中,节点模型绘制所对应的预设指定各几何矢量,包括顶点数据、法线数据、纹理数据,json字段标识为geom。子节点是节点的所有子节点信息指针,json字段标识为child。ID是指节点在场景层次中的层级位置信息,如场景根节点ID值为0,根节点的子节点则为01,02,子节点的子节点则为011,012,...021,022等,ID数据的长度n代表节点在场景层次树中所处第n层级,ID数据的最后一位代表它是父节点的第几个子节点,前n-1位代表其父节点的ID,依次剥离信息可以找到子节点到根节点的节点路径信息;ID方便在任何节点处插入新的节点或者更改某个节点信息,json字段标识为id。TRS矩阵是节点的位移、旋转、缩放信息的矩阵信息,即节点相对于其父节点的移动、旋转和缩放信息,即Local矩阵信息,如果要获得节点的world矩阵信息,需要遍历查找节点到根节点的节点路径信息,将所有节点的矩阵相乘获得转换矩阵信息,如果此节点为root节点、即场景的根节点,则此矩阵存储节点的world矩阵,json字段标识为matrix。上述各节点信息的应用,能够加快三维场景数据的加载显示,同时减少用户对场景中各个模型节点的操作。步骤D.针对三维场景数据所对应场景树结构中各个节点分别所对应的json数据文件,利用jsonloader函数进行解析,将三维场景重组加载到三维可视化软件中,获得三维场景数据加载布局结果。上述技术方案所设计三维场景中模型自动化加载布局本文档来自技高网...

【技术保护点】
1.一种三维场景中模型自动化加载布局方法,用于实现三维场景数据的加载布局,其特征在于,包括如下步骤:/n步骤A. 应用包围体层次结构的数据存储结构,针对三维场景数据进行更新,然后进入步骤B;/n步骤B. 根据三维场景数据的包围体层次结构关系,获得三维场景数据所对应的场景树结构,并进入步骤C;/n步骤C. 分别针对三维场景数据所对应场景树结构中的各个节点,根据三维场景数据的包围体层次结构关系,获得节点所对应各预设属性数据的json字段标识,并构成该节点所对应json数据文件,即获得三维场景数据所对应场景树结构中各个节点、分别所对应的json数据文件,然后进入步骤D;/n步骤D. 针对三维场景数据所对应场景树结构中各个节点、分别所对应的json数据文件,利用json loader函数进行解析,将三维场景重组加载到三维可视化软件中,获得三维场景数据加载布局结果。/n

【技术特征摘要】
1.一种三维场景中模型自动化加载布局方法,用于实现三维场景数据的加载布局,其特征在于,包括如下步骤:
步骤A.应用包围体层次结构的数据存储结构,针对三维场景数据进行更新,然后进入步骤B;
步骤B.根据三维场景数据的包围体层次结构关系,获得三维场景数据所对应的场景树结构,并进入步骤C;
步骤C.分别针对三维场景数据所对应场景树结构中的各个节点,根据三维场景数据的包围体层次结构关系,获得节点所对应各预设属性数据的json字段标识,并构成该节点所对应json数据文件,即获得三维场景数据所对应场景树结构中各个节点、分别所对应的json数据文件,然后进入步骤D;
步骤D.针对三维场景数据所对应场景树结构中各个节点、分别所对应的json数据文件,利用jsonloader函数进行解析,将三维场景重组加载到三维可视化软件中,获得三维场景数据加载布局结果。

【专利技术属性】
技术研发人员:陈旋周海李芳芳
申请(专利权)人:江苏艾佳家居用品有限公司
类型:发明
国别省市:江苏;32

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

1