一种在unity程序制作中JSON的使用设计方法技术

技术编号:37157344 阅读:29 留言:0更新日期:2023-04-06 22:19
本发明专利技术涉及一种在unity程序制作中JSON的使用设计方法,包括以下步骤:步骤1,JSON文件存储的路径设计:步骤2,每个JSON文件中的数据对象和数组的设计;步骤3,通过对JSON文件和文件夹的使用,并对整个输出数据进行设计后完成了数据的输出和保存;本发明专利技术的方法拓展了revit数据的数据媒质、增加了建筑信息的可用程度。程度。程度。

【技术实现步骤摘要】
一种在unity程序制作中JSON的使用设计方法


[0001]本专利技术涉及一种在unity程序制作中JSON的使用设计方法,可应用于市政基础设施设计、BIM(Building Information Modeling)技术、三维可视化、工程管理等领域,涵盖电子计算机、土木、建筑学等专业学科。

技术介绍

[0002]从目前已公开的多项技术进行分析,均使用了revit模型输出成json文件,json文件将revit中建立的模型通过序列化的对象或数组进行描述,描述模型的几何信息、建筑相关的非几何信息及附着的自定义信息,再通过三维图形引擎的程序或脚本读入JSON数据,在图形引擎中对其进行展示和管理,实现其功能。
[0003]但从目前已公开的技术中,均不包含具体的操作方法,只是对上述的流程做简要的描述,在遇到一些实际问题时,从已公开的技术方案中无法获得较为全面的解决内容,这些具体的问题不仅有碍于revit的数据输出,并且也会影响后续的展示和管理。而上述问题在本专利技术的实施方案中得以妥善解决。
[0004]由于revit构件被离散几何的顶点、法线、uv表达后,数据量激增,通常一个几十M字节的rvt文件会形成高达上G字节的几何数据量,这种情况出现在rvt以族库的例子引用族文件时,且族文件的mesh几何量极大时,即每个几何体的mesh面都很多,而且被引用了很多次,就造成所有mesh的几何数据量极大,单一JSON文件数据量较大,无法输出的问题

技术实现思路

[0005]本专利技术的目的是提供一种在unity程序制作中JSON的使用设计方法,包括以下步骤:
[0006]步骤1,JSON文件存储的路径设计:
[0007]将几何、非几何数据分开保存,几何数据按照每个mesh(对应一个基础几何单元)分别保存,所有的JSON文件通过自身文件名和JSON中的数据对象的逻辑性进行对应检索;在每个几何、非几何文件中,又分别规定了输出的内容,这些输出的内容可以按照物理意义在数据引擎中进行调用和管理;
[0008]步骤2,每个JSON文件中的数据对象和数组的设计;
[0009]设计的JSON文件分为两类,第一类为全局数据文件、另一类为几何数据集;
[0010]步骤3,通过对JSON文件和文件夹的使用,并对整个输出数据进行设计后完成了数据的输出和保存。
[0011]本专利技术具有以下积极有益效果:
[0012]第一,拓展了revit数据的数据媒质。revit模型在revit内部进行展示和管理是极为方便的,但是revit仅为本机程序,无法实现网络设计成果的共享,在BIM设计逐渐替代传统设计的年代,本机操作的局限性显而易见。如果将revit模型通过输出的方法,获得封装和展示,既解决了信息传递的问题(封装文件有利于信息的流转),也解决了网络环境读取
信息的问题,增加了传播煤质和管理的方法。
[0013]第二,增加了建筑信息的可用程度。从建设的全生命周期管理到数字孪生,从VR、AR、MR到元宇宙,建筑信息被利用的关键在于数据是什么,怎么存储,如何调用,本技术方案包含了一整套建筑信息的输出、存储、调用的方法。从revit到json,再到unity的图形,完美诠释了建筑信息被利用的方法。
附图说明
[0014]结合附图,并通过参考下面的详细描述,将会更容易地对本专利技术有更完整的理解并且更容易地理解其伴随的优点和特征,其中:
[0015]图1是本专利技术的Revit输出json文件并在unity3d等三维引擎中展示和管理的方法的流程图。
[0016]图2是本专利技术方法中revit通过IExportContext输出数据的整体流程。
[0017]图3是本专利技术方法中reivt输出过程中各个流程所输出的内容。
[0018]图4是本专利技术的全局数据框架内容构成图。
[0019]图5是本专利技术方法中几何数据集内容构成图。
[0020]图6是本专利技术方法中输出文件夹的结构图。
[0021]图7是利用本专利技术方法在通州副中心枢纽站施工模型输出展示成果图。
[0022]图8是利用本专利技术方法在某车站轨枕系统模型输出展示效果图。
[0023]图9是利用本专利技术方法在新航城输出展示成果截图。
具体实施方式
[0024]下面将结合本专利技术实施例中的附图对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例;基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0025]专利技术的技术方案包括四个部分,参见图1:
[0026](1)Revit数据输出
[0027]首先,revit数据的输出包含了几何信息、模型建立过程中的设计信息和模型作为信息传递的承载工具所承载的自定义信息。几何信息包含描述revit几何的顶点数据空间位置数据、顶点索引数据、法线向量数据、法线向量索引数据、UV数据、纹理数据、贴图数据等;模型的设计数据主要有:模型的种类信息、族库信息、标高数据、针对设计原理产生的数据等;自定义数据可以包含在模型全生命周期所需要附着的信息,比如模型的施工单位、模型对应真实实体的管理单位等,这些信息都是通过附着的方式在模型建立后被存储并和模型的检索ID形成关联的信息。
[0028]将上述三大类信息进行分别输出,在revit中需要进行组合的api调用,根据Autodesk(revit的生产供应商)公司提供的revit的SDK中,可以将revit生成的模型进行几何数据输出的方法大致有两个:IExportContext和IExportElement。IExportContext是通过编辑Context上下文的参数,从而可以调用revit文件的整个view对象,在view的生成过程中获得数据,而IExportElement是对revit数据库中的物体的纯几何输出,使用边面法
(brep),可以获得物体从解析到离散的计算数据。综上,IExportContext在输出时调用了revit图形引擎已经绘制后的数据信息,因此在可视化方面有一定的保证;而IExportElement则是使用brep法进行解析几何向离散几何数据的转变,因此并不是图形引擎绘制的成果数据,因此在一些可视化上并不详实充分,例如uv数据输出时,并不与其相同过程的顶点对应,这种uv数据无法在图形引擎中得以使用。所以大多公开的技术流程均采用了IExportContext过程方法进行输出,本专利技术也应用这个方法;如果使用IExportElement,天然无法得到可以获得使用的uv数据。
[0029]在已有使用IExportContext的过程方法进行输出的技术方案中,对记录物体(构件,revit对象为Element)的ID均未提出具体方案或直接使用了revit的ElementId或构件名称进行记录;在这个基础上,也未曾提及材质(Material)的存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在unity程序制作中JSON的使用设计方法,包括以下步骤:步骤1,JSON文件存储的路径设计:将几何、非几何数据分开保存,几何数据按照每个mesh(对应一个基础几何单元)分别保存,所有的JSON文件通过自身文件名和JSON中的数据对象的逻辑性进行对应检索;在每个几何、非几何文件中,又分别规...

【专利技术属性】
技术研发人员:吴楠何颖辉吕亮
申请(专利权)人:北京市市政工程设计研究总院有限公司
类型:发明
国别省市:

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

1