Page 95 - 水利水电工程施工管理概论
P. 95
第二章 水利水电工程数字孪生安全施工管理技术手段
shader 进行编码定义,常用材质纹理类的交互实现有 2 种:①针对同一对象编写
多套材质,用 0,1 编码来控制当前材质状态,0 表示不显示,1 表示显示,可用
来控制物体的高亮显示;② uv 线性动画,在模型的 uv 上编写线性动画,实现纹
理的动态交互效果。将 gltf 格式作为主要工程在数字孪生系统中状态、行为映射
的载体。其二进制编码,可完整保留上述类型的交互接口,同时优化数据结构,
减少与渲染无关的冗余数据,提升渲染速度。
四、水利工程数字孪生系统应用接口开发
水利工程数字孪生系统所需的应用接口使用远程调用协议(RPC)+ 蓝图脚
本的框架开发。首先建立通信连接。水利工程数字孪生所关联的数据存储服务器
有很多,使用 RPC 协议可通过网络从远程服务器上请求服务,而不需要了解底
层网络技术协议。RPC 协议假定某些传输协议的存在,如 TCP 或 UDP。在 OSI
模型中,RPC 跨越了传输层和应用层,有利于分布式网络部署的信息通信。然后
通过Unreal Engine4的蓝图脚本创建接口,主要包括3个步骤:创建接口声明函数、
实现接口及调用接口。
(一)创建接口声明函数
在 Content Browser 菜单下选择 Blueprints 创建 interface,常规接口利用蓝图
脚本直接定义,特殊的接口可通过 Function Library 函数库编写,将编写后的函
数命名存储,方便以后在不同的接口中调用,简化工作流程,提高效率。此外,
还可通过 Macro Library 创建自定义宏库。
(二)实现接口
创建一个新的蓝图类,双击打开蓝图类,在蓝图中自定义函数接口。通过蓝
图类实现接口对特定应用功能进行封装,提升函数复用性。例如在场景中显示一
个静态模型,通常要选择 Actor 作为父类,还需手动添加 Static Mesh 组件,相对
麻烦,采用蓝图类实现接口,只需添加一个 Static Mesh Actor,然后在子面板中
添加模型,易于后续模型的更替,将此蓝图命名保存,可供下次使用。
(三)调用接口
接口的本地调用可通过函数指针来指定,在蓝图类中添加。远程调用则要使
用 Call ID 映射,由于远程进程的地址空间不同,所以在 RPC 中,所有函数必须
拥有唯一身份编码的 ID 信息。在远程调用时必须添加该 ID,同时分别维护一个
83

