一、背景(废话)
本来今年过手总项目能达到千万级别(单UE项目)
可惜市场行情不太行,最终还是没能承接更多的项目,导致个人的“千万项目”计划破产
所以只能整理以下近些年智慧园区项目的整体框架(技术角度),作为一些“固定资产”留在互联网上供大家参考。
二、前言(废话)
原计划是从业务侧去撰写一些相关的心得,后来还是从技术侧撰写相对来说安全一些。
此片文章主要针对”智慧园区几个经典框架之:“规划展示平台”进行展开。
一般项目处于规划阶段的核心诉求为:呈现设计方案相关内容。
对于技术来说,很多内容都是处于变动情况,如何减少打包次数上多下功夫(毕竟打包最贵)!
参数化驱动则为最优选,如何参数化驱动则是本片文章的重点内容。
废话结束,重点开始:
三、内容
1、项目启动整体逻辑
整个构建思路就是尽可能把用户需要修改的所有内容都进行参数化/实例化!(变相理解为去接管引擎生成的内容)
看起一切都是“死”的,其实一切都是配置得到的,包括每一座建筑,每一个POI,每个效果,都是通过读取配置文件进行动态生成的!如果在这些参数上进行绑定设备ID 或其他物联信息进行绑定,未尝无法实现数字孪生。
2、读取配置文件
在启动项目后,就通过Read File / Http Request 请求去读配置文件。
当然配置文件时存在本地的,不利于云端部署平台,原则上来说部署在云端通过Http Request 请求得到更为靠谱一些,多实例运行更是方便。
接下来就以构建POI为例,进行展示构建POI的流程。
配置文件记录一些静态的三维数据,比如说设备的 三维信息,设备的类型,设备的基本名称/设备编号(设备唯一ID),用于生成设备的关键信息!如果没有这些信息那将无法生成(一般我会留一手历史数据,如果数据中台出现问题,则读取历史数据确保可以加以展示,并进行提示“无法链接数据中台”)。
当然,一般我并不会在启动时获取太多数据,这样会延迟我的启动速度!大多数情况我会选择异步加载,确保项目启动不受网络延迟的影响,一些动态数据也是采用间接性获取,来确保项目可以快速启动。
同样,Mesh 资产也是同样的道理,同样是利用参数去进行驱动,并对已修改的模型就行实时保存,这样可以确保下次加载时最新的模型。