发明内容
本发明的主要目的在于提供一种基于Unity的可视化方法,旨在解决现有技术中Unity3d的可编辑渲染管线学习成本高,调试困难的技术问题。
为实现上述目的,本发明提供一种基于Unity的可视化方法,所述基于Unity的可视化方法包括:
利用通行证Token信息向物联网平台发起物联网http协议请求,获取并缓存物联网json数据;
根据CAD图纸创建现实场景的三维模型,导入所述三维模型以创建3D场景,在所述3D场景中编辑所述三维模型,得到最终的目标三维模型;
设计UI图片制作可视化页面,将所述UI图片导入到Unity中并编辑成可视化页面预制;
将所述可视化页面预制加载到所述目标三维模型中,将所述物联网json数据解析并加载展示在所述可视化页面上。
可选地,在所述利用通行证Token信息发起物联网http协议请求,获取并缓存物联网json数据的步骤之前,还包括:
利用所述物联网平台配置的ID和签名获取通行证Token信息,通过http协议请求所述物联网平台的特定接口得到通行证Token信息信息,在Unity中记录并储存所述通行证Token信息信息。
可选地,在所述得到最终的目标三维模型的步骤之后,还包括:
在Unity中制作粒子特效和模型特效,在所述目标三维模型中增加所述粒子特效和所述模型特效。
可选地,在所述得到最终的目标三维模型的步骤之后,还包括:
设计序列帧动画,将所述序列帧动画导入到Unity中并编辑成序列帧动画预制,将所述序列帧动画预制加载到所述目标三维模型中。
可选地,在所述将所述物联网json数据解析并加载展示在所述可视化页面上的步骤之后,还包括:
在所述可视化页面上展示所述物联网json数据时,通过与所述物联网平台进行网络通信,定时或实时更新所述物联网json数据。
可选地,在所述将所述物联网json数据解析并加载展示在所述可视化页面上的步骤之后,还包括:
在Unity中选择待发布测试的目标三维模型,设置发布参数,构建成可运行文件。
可选地,所述基于Unity的可视化方法还包括:
将所述可运行文件提交测试,判断测试是否通过,若通过,则完成基于Unity的可视化开发。
此外,为实现上述目的,本发明还提供一种基于Unity的可视化系统,所述基于Unity的可视化系统包括网络模块、模型模块和UI页面模块,
在所述网络模块中,利用通行证Token信息向物联网平台发起物联网http协议请求,获取并缓存物联网json数据;
在所述模型模块中,根据CAD图纸创建现实场景的三维模型,导入所述三维模型以创建3D场景,在所述3D场景中编辑所述三维模型,得到最终的目标三维模型;
在所述UI页面模块中,设计UI图片制作可视化页面,将所述UI图片导入到Unity中并编辑成可视化页面预制。
此外,为实现上述目的,本发明还提供一种基于Unity的可视化设备,所述基于Unity的可视化设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于Unity的可视化程序,所述基于Unity的可视化程序被所述处理器执行时实现如上述的基于Unity的可视化方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于Unity的可视化程序,所述基于Unity的可视化程序被处理器执行时实现如上所述的基于Unity的可视化方法的步骤。
本发明实施例提出的一种基于Unity的可视化方法、系统、设备及计算机可读存储介质,通过网络通讯连接物联网平台接口,获取物联网json数据。由CAD图纸创建现实场景的三维模型,导入并编辑三维模型生成目标三维模型。通过设计UI图片制作可视化页面,并设计序列帧动画,导入可视化页面和序列帧动画,编辑成可视化页面预制和序列帧动画预制,并将可视化页面预制和序列帧动画预制加载到目标三维模型中,将物联网json数据解析并加载展示在可视化页面上。从而通过可视化的管理方式,实现实时、动态且直观地对园区内各种建筑设备从宏观到微观进行全方位的管理。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例运行设备可以是PC,也可以是智能手机、平板电脑、电子书阅读器、便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该运行设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,运行设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动运行设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动运行设备还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的运行设备结构并不构成对运行设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于Unity的可视化程序。
在图1所示的运行设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的基于Unity的可视化程序,并执行以下操作:
所述基于Unity的可视化方法包括:
利用通行证Token信息向物联网平台发起物联网http协议请求,获取并缓存物联网json数据;
根据CAD图纸创建现实场景的三维模型,导入所述三维模型以创建3D场景,在所述3D场景中编辑所述三维模型,得到最终的目标三维模型;
设计UI图片制作可视化页面,将所述UI图片导入到Unity中并编辑成可视化页面预制;
将所述可视化页面预制加载到所述目标三维模型中,将所述物联网json数据解析并加载展示在所述可视化页面上。
进一步地,处理器1001可以调用存储器1005中存储的基于Unity的可视化程序,还执行以下操作:
在所述利用通行证Token信息发起物联网http协议请求,获取并缓存物联网json数据的步骤之前,还包括:
利用所述物联网平台配置的ID和签名获取通行证Token信息,通过http协议请求所述物联网平台的特定接口得到通行证Token信息信息,在Unity中记录并储存所述通行证Token信息信息。
进一步地,处理器1001可以调用存储器1005中存储的基于Unity的可视化程序,还执行以下操作:
在所述得到最终的目标三维模型的步骤之后,还包括:
在Unity中制作粒子特效和模型特效,在所述目标三维模型中增加所述粒子特效和所述模型特效。
进一步地,处理器1001可以调用存储器1005中存储的基于Unity的可视化程序,还执行以下操作:
在所述得到最终的目标三维模型的步骤之后,还包括:
设计序列帧动画,将所述序列帧动画导入到Unity中并编辑成序列帧动画预制,将所述序列帧动画预制加载到所述目标三维模型中。
进一步地,处理器1001可以调用存储器1005中存储的基于Unity的可视化程序,还执行以下操作:
在所述将所述物联网json数据解析并加载展示在所述可视化页面上的步骤之后,还包括:
在所述可视化页面上展示所述物联网json数据时,通过与所述物联网平台进行网络通信,定时或实时更新所述物联网json数据。
进一步地,处理器1001可以调用存储器1005中存储的基于Unity的可视化程序,还执行以下操作:
在所述将所述物联网json数据解析并加载展示在所述可视化页面上的步骤之后,还包括:
在Unity中选择待发布测试的目标三维模型,设置发布参数,构建成可运行文件。
进一步地,处理器1001可以调用存储器1005中存储的基于Unity的可视化程序,还执行以下操作:
所述基于Unity的可视化方法还包括:
将所述可运行文件提交测试,判断测试是否通过,若通过,则完成基于Unity的可视化开发。
参照图2,本发明提供一种基于Unity的可视化方法,在本发明的基于Unity的可视化方法的流程中,所述流程包括:
步骤S10,利用通行证Token信息向物联网平台发起物联网http协议请求,获取并缓存物联网json数据。
Unity是实时3D互动内容创作和运营平台,包括游戏开发、美术、建筑、汽车设计、影视在内的创作。Unity一开始是一款跨平台2D/3D游戏引擎,可用于开发Windows、MacOS及Linux平台的单机游戏,PlayStation、XBox、Wii和3DS等游戏主机平台的视频游戏,或是iOS、Android等移动设备的游戏。后来,Unity所支持的游戏平台还延伸到了基于WebGL技术的HTML5网页平台,以及tvOS、Oculus Rift、ARKit等新一代多媒体平台。除了可以用于研发电子游戏之外,Unity还是被广泛用于建筑可视化、实时三维动画等类型互动内容的综合型创作工具。Unity平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。因此,在本发明实施例中,采用基于Unity来实现可视化方法。
在本发明实施例中的物联网平台为jetlinks,第三方物联网平台jetlinks基于Java8和Spring Boot2.x等开发,是一个开箱即用、可二次开发的企业级物联网基础平台。该第三方物联网平台实现了物联网相关的众多基础功能,支持如TCP(TransmissionControl Protocol,传输控制协议)、UDP(User Datagram Protocol,用户数据报协议)、MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)和HTTP(Hyper TextTransfer Protocol,超文本传输协议)等协议,能快速帮助建立物联网相关业务。在本发明实施例的JetLinks平台和Unity的接入流程中,开发人员基于Unity利用通行证Token信息发起物联网http请求至JetLinks平台,获取各种物联网json数据并缓存在本地。从而通过第三方物联网平台jetlinks,兼容各种不同设备的通讯协议,避免为新增的设备单独开发或建立通讯协议,减少对于新接入设备的开发和学习成本。
步骤S20,根据CAD图纸创建现实场景的三维模型,导入所述三维模型以创建3D场景,在所述3D场景中编辑所述三维模型,得到最终的目标三维模型。
3D Studio Max,常简称为3d Max或3ds MAX,是基于PC系统的三维动画渲染和制作软件,3d Max软件主要功能有建模,动画,渲染,特效等,可以应用在多个专业领域,如影视、广告、工业设计、游戏以及建筑景观设计和室内设计等。因此,在本发明实施例中,根据CAD图纸在3DMax中创建现实场景的三维模型。三维模型包括结构、贴图、材质,主要是建筑模型及周边马路、树木和特效模型等,都是严格按照CAD图纸1:1真实地还原园区。在Unity中根据设计需要导入上述制作的各种三维模型,把三维模型文件复制到Unity的Assets文件夹中,创建场景Scene、即3D场景,在3D场景中编辑导入的各种三维模型,设置各种三维模型的空间位置、旋转角度、材质属性、渲染模式、相机属性和后期处理特效等属性,编辑好后的3D场景就是园区场景、即最终的目标三维模型,也就是最终展示的画面或效果。
步骤S30,设计UI图片制作可视化页面,将所述UI图片导入到Unity中并编辑成可视化页面预制。
在本发明实施例中,通过设计2D的UI图片,制作可视化页面,最终将步骤S10中获取到的物联网json数据显示在可视化页面中。在本发明一实施例中,将UI图片导入到Unity的Assets文件夹中,利用Unity中的UGUI工具编辑成各个可视化页面预制。其中,可视化页面预制为各个可视化页面需要用到的元素的集合,通过将各个可视化页面需要用到的元素导入到Unity中,编辑成可视化页面预制,相当于将常用的元素保存起来,在将可视化页面预制加载到目标三维模型中时进行使用,从而提高资源的访问效率。
可选地,在将所述UI图片导入到Unity中并编辑成可视化页面预制的步骤之前,还包括:
将所述UI图片进行切图处理。
在本发明一实施例中,将用来制作可视化页面的2DUI图片,在设计时,将其按照设计需要和要求进行拆解,得到2DUI图片的切图。在对2DUI图片的切图进行针对性的单独编辑后,再拼接成原来的2DUI图片,还原成最开始的2DUI图片设计。以此减少开发过程中消耗的资源,以及不必要的资源浪费,增加开发的灵活性。
步骤S40,将所述可视化页面预制加载到所述目标三维模型中,将所述物联网json数据解析并加载展示在所述可视化页面上。
然后编写C#脚本,将各个可视化页面预制加载到目标三维模型中,并且将物联网json数据解析并加载展示在所述可视化页面上。
在本实施例中,通过网络通讯连接物联网平台接口,获取物联网json数据。由CAD图纸创建现实场景的三维模型,导入并编辑三维模型生成目标三维模型。通过设计UI图片制作可视化页面,并设计序列帧动画,导入可视化页面和序列帧动画,编辑成可视化页面预制和序列帧动画预制,并将可视化页面预制和序列帧动画预制加载到目标三维模型中,将物联网json数据解析并加载展示在可视化页面上。从而通过可视化的管理方式,实现实时、动态且直观地对园区内各种建筑设备从宏观到微观进行全方位的管理。
可选地,在所述利用通行证Token信息发起物联网http协议请求,获取并缓存物联网json数据的步骤之前,还包括:
利用所述物联网平台配置的ID和签名获取通行证Token信息,通过http协议请求所述物联网平台的特定接口得到通行证Token信息,在Unity中记录并储存所述通行证Token信息。
通行证Token信息是服务端生成的一串字符串,以作为客户端进行请求的一个令牌,当第一次登录后,服务器生成一个通行证Token信息并将此通行证Token信息返回给客户端,以后客户端只需带上这个通行证Token信息前来请求数据即可,无需再次带上用户名和密码。在本发明实施例的JetLinks平台和Unity的接入流程中,在开发人员基于Unity利用通行证Token信息发起物联网http请求至JetLinks平台,获取各种物联网json数据并缓存在本地之前,开发人员基于Unity携带的物联网平台配置的ID和签名,向物联网平台获取通行证Token信息,通过http协议请求物联网平台的特定接口得到通行证Token信息后,将通行证Token信息记录并储存在Unity中,在利用通行证Token信息发起请求获取物联网json数据时,读取通行证Token信息,安全地完成物联网json数据的请求和传输。在本发明实施例中,将Unity作为客户端,将第三方物联网平台JetLinks作为服务器,利用通行证Token信息进行安全通讯,从而减轻服务器、即第三方物联网平台JetLinks的通讯和处理压力,减少频繁的查询数据库的操作,使服务器更加健壮。
可选地,在所述得到最终的目标三维模型的步骤之后,还包括:
在Unity中制作粒子特效和模型特效,在所述目标三维模型中增加所述粒子特效和所述模型特效。
在本发明实施例中,在Unity中制作的特效包括粒子特效和模型特效,在Unity中制作粒子特效,利用的是Unity引擎自带的粒子系统,设置特效相关的参数和材质,便能得到烟雾、火焰和波纹等粒子效果。另外制作的模型特效,比如车流效果就是其中一种模型特效,则是利用目标三维模型上的贴图,改变目标三维模型的uv属性的一种特效。通过把各种需要的特效放入园区场景、即目标三维模型中,以增加科技感和互动性。
可选地,在所述得到最终的目标三维模型的步骤之后,还包括:
设计序列帧动画,将所述序列帧动画导入到Unity中并编辑成序列帧动画预制,将所述序列帧动画预制加载到所述目标三维模型中。
在本发明实施例中,在得到目标三维模型之后,在设计UI图片制作可视化页面的同时,如果在设计需求中需要动态的展示园区各种建筑设备的效果,比如空调设备的风机旋转,则可以通过设计序列帧动画以动态增加不同视角的展示效果。
与设计UI图片制作可视化页面的步骤类似,同样将序列帧切图导入到Unity的Assets文件夹中,利用Unity中的UGUI工具编辑成各个序列帧动画预制。同样编写C#脚本,将各个序列帧动画预制加载到目标三维模型中,并且将物联网json数据解析并加载展示在所述可视化页面上。其中,序列帧动画预制为各个序列帧动画需要用到的元素的集合,通过将各个序列帧动画需要用到的元素导入到Unity中,编辑成序列帧动画预制,相当于将常用的元素保存起来,在将序列帧动画预制加载到目标三维模型中时进行使用,从而提高资源的访问效率。
可选地,在将所述序列帧动画导入到Unity中并编辑成序列帧动画预制的步骤之前,还包括:
将所述序列帧动画进行切图处理。
在本发明一实施例中,将序列帧动画在设计时按照设计需要和要求进行拆解,得到序列帧动画的切图。在对序列帧动画的切图进行针对性的单独编辑后,再拼接成原来的序列帧动画,还原成最开始的序列帧动画设计。以此减少开发过程中消耗的资源,以及不必要的资源浪费,增加开发的灵活性。
可选地,在所述将所述物联网json数据解析并加载展示在所述可视化页面上的步骤之后,还包括:
在所述可视化页面上展示所述物联网json数据时,通过与所述物联网平台进行网络通信,定时或实时更新所述物联网json数据。
在利用UI图片制作可视化页面,并把缓存的物联网json数据显示在可视化页面上之后,每次查看可视化页面上的各种通过与物联网平台进行网络通信后得到的物联网json数据时,都会实时或定时刷新数据,以进行物联网json数据的更新。而对于一些报警数据,则会实时进行刷新。另外,物联网json数据的展示也是有多种样式,比如摄像头的外观形状都是3D模型的形式展现,而比如火警则是有火焰烟雾特效的形式展现。
可选地,在所述将所述物联网json数据解析并加载展示在所述可视化页面上的步骤之后,还包括:
在Unity中选择待发布测试的目标三维模型,设置发布参数,构建成可运行文件。
在Unity中勾选园区场景、即目标三维模型,设置发布参数,如分辨率、包名等,以exe可运行文件进行发布,在测试人员进行测试任务时,将针对exe可运行文件进行测试,提供测试结果。
可选地,所述基于Unity的可视化方法还包括:
将所述可运行文件提交测试,判断测试是否通过,若通过,则完成基于Unity的可视化开发。
在开发人员在Unity中构建发布完成之后,需要将可运行文件提交测试,如果测试人员的测试结果为通过状态,则完成基于Unity的可视化开发工作。在本发明一实施例中,其中的测试内容包括但不限于可视化页面的交互是否正常、各种模型交互是否正常、数据用例是否一致、点击等操作是否有效、各类特效是否正常得当、开发文档是否正确、整体用例是否符合预期等。若可运行文件的测试未通过,则由测试人员反馈相关问题至开发人员,以期解决相关问题。
此外,本发明实施例还提供一种基于Unity的可视化系统,所述基于Unity的可视化系统包括网络模块、模型模块和UI页面模块,
在所述网络模块中,利用通行证Token信息向物联网平台发起物联网http协议请求,获取并缓存物联网json数据;
在所述模型模块中,根据CAD图纸创建现实场景的三维模型,导入所述三维模型以创建3D场景,在所述3D场景中编辑所述三维模型,得到最终的目标三维模型;
在所述UI页面模块中,设计UI图片制作可视化页面,将所述UI图片导入到Unity中并编辑成可视化页面预制。
参照图3,在本发明一实施例中,基于Unity的可视化系统包括网络模块、模型模块和UI页面模块,在网络模块中,Unity利用通行证Token信息向物联网平台发起物联网http协议请求,获取并缓存物联网json数据。在模型模块中,根据CAD图纸创建现实场景的三维模型,导入三维模型以创建3D场景,在3D场景中编辑三维模型,得到最终的目标三维模型。在UI页面模块中,设计UI图片制作可视化页面,将UI图片导入到Unity中并编辑成可视化页面预制。在完成物联网json数据的获取、目标三维模型的创建和可视化页面预制的编辑后,编辑数据交互逻辑后进行效果模拟,发布后提交测试,从而完成基于Unity的可视化开发。
此外,本发明实施例还提供一种基于Unity的可视化设备,所述基于Unity的可视化设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于Unity的可视化程序,所述基于Unity的可视化程序被所述处理器执行时实现如上述的基于Unity的可视化方法的步骤。
此外,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于Unity的可视化程序,所述基于Unity的可视化程序被处理器执行时实现如上所述的基于Unity的可视化方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。