CN110473292A - 一种三维场景中模型自动化加载布局方法 - Google Patents
一种三维场景中模型自动化加载布局方法 Download PDFInfo
- Publication number
- CN110473292A CN110473292A CN201910638455.9A CN201910638455A CN110473292A CN 110473292 A CN110473292 A CN 110473292A CN 201910638455 A CN201910638455 A CN 201910638455A CN 110473292 A CN110473292 A CN 110473292A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- scene
- information
- json
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种三维场景中模型自动化加载布局方法,采用全新设计方法,无需用户编写代码,直接基于json,即可按照数据层次结构,实现三维场景数据的加载布局,为用户提供了便利,而且在场景加载显示后,用户也可以交互修改模型位置、旋转、缩放等信息,从而提升了三维场景加载显示效率,缩短加载显示时间。
Description
技术领域
本发明涉及一种三维场景中模型自动化加载布局方法,属于三维数据加载技术领域。
背景技术
现有三维场景加载都是用户根据三维显示软件中场景加载逻辑,自己编写代码进行加载,这过程中、需要用户编写完所有场景节点的加载程序之后,才能进行三维场景的运行显示。
发明内容
本发明所要解决的技术问题是提供一种三维场景中模型自动化加载布局方法,采用全新设计方法,无需用户编写代码,直接基于json,即可按照数据层次结构,实现三维场景数据的加载布局,有效提高了工作效率。
本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种三维场景中模型自动化加载布局方法,用于实现三维场景数据的加载布局,包括如下步骤:
步骤A. 应用包围体层次结构的数据存储结构,针对三维场景数据进行更新,然后进入步骤B;
步骤B. 根据三维场景数据的包围体层次结构关系,获得三维场景数据所对应的场景树结构,并进入步骤C;
步骤C. 分别针对三维场景数据所对应场景树结构中的各个节点,根据三维场景数据的包围体层次结构关系,获得节点所对应各预设属性数据的json字段标识,并构成该节点所对应json数据文件,即获得三维场景数据所对应场景树结构中各个节点、分别所对应的json数据文件,然后进入步骤D;
步骤D. 针对三维场景数据所对应场景树结构中各个节点、分别所对应的json数据文件,利用json loader函数进行解析,将三维场景重组加载到三维可视化软件中,获得三维场景数据加载布局结果。
作为本发明的一种优选技术方案:所述步骤C中,所述场景树结构中各个节点、分别所对应的各预设属性,包括包围体、父节点、几何数据、子节点、ID、TRS矩阵;
其中,包围体是指节点信息中模型的最小外接矩形的信息,包含长方体中心点位置信息,以及长、宽、高信息;
父节点是节点指向其父节点的指针;
几何数据是节点模型绘制所对应的预设指定各几何矢量、以及标量数据;
子节点是节点的所有子节点信息指针;
ID是指节点在场景层次中的层级位置信息;
TRS矩阵是节点的位移、旋转、缩放信息的矩阵信息,即节点相对于其父节点的移动、旋转和缩放信息。
作为本发明的一种优选技术方案:所述几何数据中,节点模型绘制所对应的预设指定各几何矢量,包括顶点数据、法线数据、纹理数据。
本发明所述一种三维场景中模型自动化加载布局方法,采用以上技术方案与现有技术相比,具有以下技术效果:
本发明所设计三维场景中模型自动化加载布局方法,采用全新设计方法,无需用户编写代码,直接基于json,即可按照数据层次结构,实现三维场景数据的加载布局,为用户提供了便利,而且在场景加载显示后,用户也可以交互修改模型位置、旋转、缩放等信息,从而提升了三维场景加载显示效率,缩短加载显示时间;其中,采用此方法每个节点都有其默认数据变换矩阵数据信息,即子节点默认加载到其父节点所在位置的中心位置、旋转值为0、缩放值为1;用户可以自己在场景未加载时,自己在场景数据组织文件中、修改各个节点的默认数据,在场景加载到三维软件之后,用户可以通过微调实现自己想要的场景展示效果、或者不做调整即可以得到自己想要的展示效果,从而节省基本场景操作时间;不仅如此,其中所涉及节点中的包围体信息降低了场景中的碰撞检测、以及场景中光照计算的复杂度和时间,应用包围体信息能够提高、并优化渲染物体加载显示效率;而且节点的插入更改或者删除,可以直接在场景组织文件、及json文件中更改相应层级中节点信息即可;以及在场景加载显示中,能够根据自己定义的加载器loader、来解析场景组织文件中的json信息,在三维软件中进行加载显示。
附图说明
图1是本发明设计三维场景中模型自动化加载布局方法中场景树结构示意图;
图2是本发明设计三维场景中模型自动化加载布局方法中节点信息示意图。
具体实施方式
下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。
本发明设计了一种三维场景中模型自动化加载布局方法,用于实现三维场景数据的加载布局,实际应用当中,具体包括如下步骤。
步骤A. 应用包围体层次结构(BVH(Bonding Volume Hierarchy))的数据存储结构,针对三维场景数据进行更新,然后进入步骤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数据文件,利用json loader函数进行解析,将三维场景重组加载到三维可视化软件中,获得三维场景数据加载布局结果。
上述技术方案所设计三维场景中模型自动化加载布局方法,采用全新设计方法,无需用户编写代码,直接基于json,即可按照数据层次结构,实现三维场景数据的加载布局,为用户提供了便利,而且在场景加载显示后,用户也可以交互修改模型位置、旋转、缩放等信息,从而提升了三维场景加载显示效率,缩短加载显示时间;其中,采用此方法每个节点都有其默认数据变换矩阵数据信息,即子节点默认加载到其父节点所在位置的中心位置、旋转值为0、缩放值为1;用户可以在场景未加载时,自己在场景数据组织文件中、修改各个节点的默认数据,在场景加载到三维软件之后,用户可以通过微调实现自己想要的场景展示效果、或者不做调整即可以得到自己想要的展示效果,从而节省基本场景操作时间;不仅如此,其中所涉及节点中的包围体信息降低了场景中的碰撞检测、以及场景中光照计算的复杂度和时间,应用包围体信息能够提高、并优化渲染物体加载显示效率;而且节点的插入更改或者删除,可以直接在场景组织文件、及json文件中更改相应层级中节点信息即可;以及在场景加载显示中,能够根据自己定义的加载器loader、来解析场景组织文件中的json信息,在三维软件中进行加载显示。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (3)
1.一种三维场景中模型自动化加载布局方法,用于实现三维场景数据的加载布局,其特征在于,包括如下步骤:
步骤A. 应用包围体层次结构的数据存储结构,针对三维场景数据进行更新,然后进入步骤B;
步骤B. 根据三维场景数据的包围体层次结构关系,获得三维场景数据所对应的场景树结构,并进入步骤C;
步骤C. 分别针对三维场景数据所对应场景树结构中的各个节点,根据三维场景数据的包围体层次结构关系,获得节点所对应各预设属性数据的json字段标识,并构成该节点所对应json数据文件,即获得三维场景数据所对应场景树结构中各个节点、分别所对应的json数据文件,然后进入步骤D;
步骤D. 针对三维场景数据所对应场景树结构中各个节点、分别所对应的json数据文件,利用json loader函数进行解析,将三维场景重组加载到三维可视化软件中,获得三维场景数据加载布局结果。
2.根据权利要求1所述一种三维场景中模型自动化加载布局方法,其特征在于:所述步骤C中,所述场景树结构中各个节点、分别所对应的各预设属性,包括包围体、父节点、几何数据、子节点、ID、TRS矩阵;
其中,包围体是指节点信息中模型的最小外接矩形的信息,包含长方体中心点位置信息,以及长、宽、高信息;
父节点是节点指向其父节点的指针;
几何数据是节点模型绘制所对应的预设指定各几何矢量、以及标量数据;
子节点是节点的所有子节点信息指针;
ID是指节点在场景层次中的层级位置信息;
TRS矩阵是节点的位移、旋转、缩放信息的矩阵信息,即节点相对于其父节点的移动、旋转和缩放信息。
3.根据权利要求2所述一种三维场景中模型自动化加载布局方法,其特征在于:所述几何数据中,节点模型绘制所对应的预设指定各几何矢量,包括顶点数据、法线数据、纹理数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910638455.9A CN110473292A (zh) | 2019-07-16 | 2019-07-16 | 一种三维场景中模型自动化加载布局方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910638455.9A CN110473292A (zh) | 2019-07-16 | 2019-07-16 | 一种三维场景中模型自动化加载布局方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110473292A true CN110473292A (zh) | 2019-11-19 |
Family
ID=68508662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910638455.9A Withdrawn CN110473292A (zh) | 2019-07-16 | 2019-07-16 | 一种三维场景中模型自动化加载布局方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110473292A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506950A (zh) * | 2020-04-23 | 2020-08-07 | 中筑创联建筑科技(北京)有限公司 | Bim结构变换增量信息的生成和存储系统和方法 |
CN112132980A (zh) * | 2020-09-22 | 2020-12-25 | 广西农业职业技术学院 | 一种用于心理咨询的思维导图操作方法 |
CN112381931A (zh) * | 2020-11-23 | 2021-02-19 | 北京优锘科技有限公司 | 一种基于json数据生成3d场景的方法 |
WO2022267781A1 (zh) * | 2021-06-26 | 2022-12-29 | 华为技术有限公司 | 建模方法及相关电子设备及存储介质 |
CN116521921A (zh) * | 2023-05-16 | 2023-08-01 | 三峡科技有限责任公司 | 一种三维可视化场景下数据模型的配置及查询方法 |
-
2019
- 2019-07-16 CN CN201910638455.9A patent/CN110473292A/zh not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506950A (zh) * | 2020-04-23 | 2020-08-07 | 中筑创联建筑科技(北京)有限公司 | Bim结构变换增量信息的生成和存储系统和方法 |
CN112132980A (zh) * | 2020-09-22 | 2020-12-25 | 广西农业职业技术学院 | 一种用于心理咨询的思维导图操作方法 |
CN112381931A (zh) * | 2020-11-23 | 2021-02-19 | 北京优锘科技有限公司 | 一种基于json数据生成3d场景的方法 |
WO2022267781A1 (zh) * | 2021-06-26 | 2022-12-29 | 华为技术有限公司 | 建模方法及相关电子设备及存储介质 |
CN116521921A (zh) * | 2023-05-16 | 2023-08-01 | 三峡科技有限责任公司 | 一种三维可视化场景下数据模型的配置及查询方法 |
CN116521921B (zh) * | 2023-05-16 | 2024-02-13 | 三峡科技有限责任公司 | 一种三维可视化场景下数据模型的配置及查询方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110473292A (zh) | 一种三维场景中模型自动化加载布局方法 | |
US7773087B2 (en) | Dynamically configuring and selecting multiple ray tracing intersection methods | |
US8004518B2 (en) | Combined spatial index for static and dynamic objects within a three-dimensional scene | |
US8725466B2 (en) | System and method for hybrid solid and surface modeling for computer-aided design environments | |
US6154215A (en) | Method and apparatus for maintaining multiple representations of a same scene in computer generated graphics | |
CN104813367B (zh) | 图形处理中的拼补着色 | |
CN102903146B (zh) | 用于场景绘制的图形处理方法 | |
CN100566414C (zh) | 一种基于特征保留的三维模型递进传输方法 | |
US8570322B2 (en) | Method, system, and computer program product for efficient ray tracing of micropolygon geometry | |
CN101241603B (zh) | 一种电磁场强度实时可视化方法 | |
CN105354872A (zh) | 一种基于3d网页游戏的渲染引擎、实现方法及制作工具 | |
US20220207814A1 (en) | Dedicated Ray Memory for Ray Tracing in Graphics Systems | |
CN103927424B (zh) | 利用体网格简化建筑三维模型结构的方法 | |
CN100388318C (zh) | 一种基于状态集的Shader三维图形绘制系统和绘制方法 | |
KR101136737B1 (ko) | 그래픽 처리방법 및 그 장치 | |
CN104751507A (zh) | 图形内容渲染方法和装置 | |
CN107993279B (zh) | 一种场景精确表达方法 | |
CN109118588B (zh) | 一种基于块分解的彩色lod模型自动生成方法 | |
CN113034657B (zh) | 游戏场景中光照信息的渲染方法、装置及设备 | |
CN105184843B (zh) | 一种基于OpenSceneGraph的三维动画制作方法 | |
CN113034656A (zh) | 游戏场景中光照信息的渲染方法、装置及设备 | |
CN106815880A (zh) | 动画复用方法和系统 | |
WO2011104746A1 (ja) | 画像表示装置 | |
CN104699850B (zh) | 三维地理信息的处理方法及装置 | |
CN105957132B (zh) | 包含高度复杂绘制元素的三维场景高性能绘制优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20191119 |
|
WW01 | Invention patent application withdrawn after publication |