一种在unity程序制作中unity的展示方法技术

技术编号:37362321 阅读:25 留言:0更新日期:2023-04-27 07:10
本发明专利技术涉及一种在unity程序制作中unity的展示方法,将unity输出程序输出成一个可以读取定制几何数据并自动生成模型的展示程序,包括以下步骤:步骤1,制作预加载脚本文件;步骤2,将上述预加载脚本挂载在一个初始化便随场景出现的物体上;步骤3,加光源和摄像机;步骤4,为控制摄像机编写脚本;步骤5,加后期效果;步骤6,添加canvas,在canvas上添加若干空按钮;步骤7,编写一个程序,调用Windows.Forms,让程序使用者在文件选择框中选择所有通过插件输出的非几何数据文件;步骤8,根据步骤中内容,修改步骤1中的脚本程序;步骤9,在步骤2中的脚本中加入是否经过轻量化数据处理的判断;步骤10,输出成可执行文件;该方法拓展了revit数据的数据媒质、增加了建筑信息的可用程度。数据的数据媒质、增加了建筑信息的可用程度。数据的数据媒质、增加了建筑信息的可用程度。

【技术实现步骤摘要】
一种在unity程序制作中unity的展示方法


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

技术介绍

[0002]从目前已公开的多项技术进行分析,均使用了revit模型输出成json文件,json文件将revit中建立的模型通过序列化的对象或数组进行描述,描述模型的几何信息、建筑相关的非几何信息及附着的自定义信息,再通过三维图形引擎的程序或脚本读入JSON数据,在图形引擎中对其进行展示和管理,实现其功能。
[0003]但从目前已公开的技术中,均不包含具体的操作方法,只是对上述的流程做简要的描述,在遇到一些实际问题时,从已公开的技术方案中无法获得较为全面的解决内容,这些具体的问题不仅有碍于revit的数据输出,并且也会影响后续的展示和管理。而上述问题在本专利技术的实施方案中得以妥善解决。
[0004]在已公开的方法中有很多unity3d读取JSON文件的方法,也有使用webGL方法来进行模型绘制和管理的方法。但通常都是将数据作为asset进行读入后,使用unity3d的打包工具进行展示和管理的,这种方法通常是调用上文提及的.net的JSON支持库,在unity3d的程序中将JSON文件的几何信息读入unity中后形成asset中的mesh对象进行保存,然后在读取纹理数据,创建材质球保存到asset中,再将mesh上附着材质球上的材质数据,形成材质和纹理,在输出unity程序时,将材质数据和几何数据进行打包,在unity程序运行是由unity程序将这些打包好的asset数据读入进程序内部就进行展示。这是典型的unity程序制作的方法,但无法实现通用性,针对这个问题,提出了一个全新的技术方案,极大提升了现有技术的通用性。

技术实现思路

[0005]本专利技术与现有技术的最大区别是几何数据有没有被作为asset数据集的内容,本专利技术的输出程序这一步就是程序封装的动作,一般这以前做程序封装的话,数据是要参与封装的,这就势必造成几何数据的制作者也要参与封装,但是封装前的工作是需要程序开发能力的,几何数据制造者们通常没有开发能力,因此我是想让他们和数据封装剥离,不让几何数据制造者参与封装过程,让asset封装好的程序及作为容器承载那些相机、材质球、光照等等,也是一种翻译几何数据,使其加入进场景中去的一种通用程序。
[0006]因此,本专利技术提出一种在unity程序制作中unity的展示方法,将unity输出程序输出成一个可以读取定制几何数据并自动生成模型的展示程序,包括以下步骤:
[0007]步骤1,制作预加载脚本文件;
[0008]步骤2,将上述预加载脚本挂载在一个初始化便随场景出现的物体上;
[0009]步骤3,加光源和摄像机;
[0010]步骤4,为控制摄像机编写脚本,通过键盘或鼠标控制摄像机的位置、角度变化;
[0011]步骤5,加后期效果;
[0012]步骤6,添加canvas,在canvas上添加若干空按钮,作为相机速至按钮,再添加动作控制按钮,比如前进、停止等;
[0013]步骤7,编写一个程序,程序的功能如下:调用Windows.Forms,让程序使用者在文件选择框中选择所有通过插件输出的非几何数据文件;
[0014]步骤8,根据步骤中内容,修改步骤1中的脚本程序,让相对的文件夹+固定的文件名称,指向为步骤7中规定好的txt,分别读取txt文本中的路径名提供给转换脚本的文件变量;
[0015]步骤9,在步骤2中的脚本中加入是否经过轻量化数据处理的判断;
[0016]步骤10,输出成可执行文件。
[0017]其中,在步骤1中,在脚本中将加载的模型文件名作为变量,变量的赋值可以是相对于输出可执行文件的相对路径+固定加载文件名。
[0018]其中,在步骤1中,使用using System.Windows.Forms命名空间,调用Windows.Forms方法,在脚本执行过程中打开文件选择框,让使用者自主选择。
[0019]其中,在步骤2中,创建一个空物体,将脚本挂载在其上。
[0020]其中,在步骤5中,首先添加全局光照处理,再添加urp下的天空盒效果。
[0021]其中,在步骤6中,为步骤2中创建的空物体上再挂载一个脚本,将动作控制的代码写入该脚本,速至按钮动作触发。
[0022]其中,在步骤6中,速至按钮的速至坐标外置文件,存储于几何数据文件夹中,在脚本执行时,也一并读入这个外置文件,并将外置文件中写入的速至坐标读取并赋予触发的按钮中,速至的名称也一并读取并写入canvas按钮之上。
[0023]其中,在步骤7中,一个项目多个revit文件,则放置在一个文件夹中,将读取到的非几何数据文件的路径名写入一个新建的txt文本文件,一行一个非几何文件,存储在与非几何数据文件夹相同的文件夹中,并统一一个名称。
[0024]其中,在步骤8中,如果是采用Windows.Forms,则文件指向为txt文本,也读取txt文本中的路径名,提供给脚本转换程序中的文件变量,进行几何转换。
[0025]其中,在步骤9中,判断各自revit输出文件夹下有无“轻量化”文件夹,如果有,则按轻量化的文件夹中的几何数据进行导入。
[0026]本专利技术具有以下积极有益效果:
[0027]第一,拓展了revit数据的数据媒质。revit模型在revit内部进行展示和管理是极为方便的,但是revit仅为本机程序,无法实现网络设计成果的共享,在BIM设计逐渐替代传统设计的年代,本机操作的局限性显而易见。如果将revit模型通过输出的方法,获得封装和展示,既解决了信息传递的问题(封装文件有利于信息的流转),也解决了网络环境读取信息的问题,增加了传播煤质和管理的方法。
[0028]第二,增加了建筑信息的可用程度。从建设的全生命周期管理到数字孪生,从VR、AR、MR到元宇宙,建筑信息被利用的关键在于数据是什么,怎么存储,如何调用,本技术方案包含了一整套建筑信息的输出、存储、调用的方法。从revit到json,再到unity的图形,完美诠释了建筑信息被利用的方法。
附图说明
[0029]结合附图,并通过参考下面的详细描述,将会更容易地对本专利技术有更完整的理解并且更容易地理解其伴随的优点和特征,其中:
[0030]图1是本专利技术的Revit输出json文件并在unity3d等三维引擎中展示和管理的方法的流程图。
[0031]图2是本专利技术方法中revit通过IExportContext输出数据的整体流程。
[0032]图3是本专利技术方法中reivt输出过程中各个流程所输出的内容。
[0033]图4是本专利技术的全局数据框架内容构成图。
[0034]图5是本专利技术方法中几本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在unity程序制作中unity的展示方法,将unity输出程序输出成一个可以读取定制几何数据并自动生成模型的展示程序,包括以下步骤:步骤1,制作预加载脚本文件;步骤2,将上述预加载脚本挂载在一个初始化便随场景出现的物体上;步骤3,加光源和摄像机;步骤4,为控制摄像机编写脚本,通过键盘或鼠标控制摄像机的位置、角度变化;步骤5,加后期效果;步骤6,添加canvas,在canvas上添加若干空按钮,作为相机速至按钮,再添加动作控制按钮,比如前进、停止等;步骤7,编写一个程序,程序的功能如下:调用Windows.Forms,让程序使用者在文件选择框中选择所有通过插件输出的非几何数据文件;步骤8,根据步骤中内容,修改步骤1中的脚本程序,让相对的文件夹+固定的文件名称,指向为步骤7中规定好的txt,分别读取txt文本中的路径名提供给转换脚本的文件变量;步骤9,在步骤2中的脚本中加入是否经过轻量化数据处理的判断;步骤10,输出成可执行文件。2.如权利要求1所述的方法,其中,在步骤1中,在脚本中将加载的模型文件名作为变量,变量的赋值可以是相对于输出可执行文件的相对路径+固定加载文件名。3.如权利要求1所述的方法,其中,在步骤1中,使用using System.Windows.Forms命名空间,调用Windows.Forms方法,在脚本执行过程...

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

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

1