UE4开发BIM程序 的 流程

2023-12-27 11:46:55

? ? ? ? 某机构BIM设计研究中心主任马晓龙,他对编程颇有研究。今天他会用通俗易懂的语言来讲解基于游戏引擎UE4的BIM技术可视化应用。对于想要自己开发程序的设计师一定要读一下!

1)关于UE4——UE4是什么?

可以简单的理解为,一款可以开发软件的软件!文章将BIM技术与主流游戏开发引擎UE4(UrealEngin·e4)进行跨界融合,革新了传统工程项目BIM应用逻辑方式可以帮助后期项目顺利落地。

UE4有什么优势?

UE4游戏引擎可以无缝导入BIM场景数据,也支持几乎所有VR终端的应用开发。可自由针对场景进行功能开发定制,能帮助设计团队更加全方位地理解设计成果,帮助施工方进行交底培训,降低沟通和教育成本,帮助业主实现建筑空间虚拟展示和交互体验,加快决策周期,也可根据特定化需求进行客制化开发。

2)技术小白如何利用UE4开发自己的BIM程序

目前,UE4最新版本加强了与BIM相关软件平台的数据融合互通功能,通过数据导出插件可快速实现BIM原始场景数据的无缝导入,该插件为Datasmith,为官方开发工具,可支持当家主流BIM软件平台,包含:Revit、AllPlan等,操作简单快捷,不用特定考虑模型UV对光照贴图的影响,软件后台进行了功能自动化处理,导出较为高效。

下面以Revit平台为例,列举BIM数据传输及应用技术流程:

总体应用流程图

通过上部流程图可直观地看到BIM到UE4的整体应用路径,其中比较关键环节为场景优化,可先归结为美术环节,主要是优化场景模型的可视化表现,包括材质、光影效果、环境搭配、动画脚本制作、特效制作等。

下个比较关键的是程序开发部分,可归结为功能编程环节,主要是对优化后的场景构件信息交互功能的应用附加,比如切换模型、更换材质、自动开门、开关灯、模拟工序、爆炸动画、嵌入外部数据、控制显示等功能,其基本实现路径分为两种:

一种是基于计算机编程语言C++,在特定编程软件环境下通过代码实现交互功能的开发应用;

另外一种是基于UE4自身封装好的程式功能块进行关联串行组合完成交互功能开发应用,这种形式称为蓝图功能。它是一种可视化编程模块,通过它,即使没有编程语言基础,也可以快速上手,完成交互功能的开发,降低了开发门槛,通过蓝图块的关联,很轻松地就能实现一个交互功能的应用,比如说开关灯、开关门。

下面文章结合蓝图应用(自动感应灯)进行简单举例说明:

第一?首先新建一个感应灯的蓝图类,通过在蓝图类中添加灯具模型,然后在其中添加灯光元素,比如射灯、筒灯等,可以实现灯的蓝图类创建。

第二?完成后给灯模型构件增加碰撞盒子,其目的是当角色进入盒子区域与盒子发生碰撞,其功能模块被触发,灯光元素可见性为:“可见”,当角色离开盒子区域,灯光可见性为“不可见”,这里会用到“布尔”型变量,它代表意思为“真”或“假”,与C++里的“ture”or“false”一个意思,只是封装成了一个蓝图“电池块”,开发者直接可以调用。

可以看到简单的几个蓝图块就可以实现自动感应灯的开关功能。对初学者来说上手比较容易。其蓝图逻辑如下图所示:

自动感应开关灯蓝图逻辑

其次,通过蓝图功能,在UE4环境中能直接获取BIM模型中的信息数据,比如说一面墙的构造数据,一个管道的公称直径、长度、材质等,只要是BIM模型中有的数据属性,就可以进行提取,可以实现点击模型对应屏幕位置显示BIM模型信息面板,实现数据展示交互,这个功能也是通过“DataSmith”这个功能插件实现数据转入的,它将BIM模型中的数据完整地导入到了UE4引擎当中。如下图所示:

BIM模型数据交互展示图示

BIM模型数据交互展示蓝图逻辑

我们还可以结合项目实际需求,通过对某个工序或者某个工程交底内容进行模拟演示和教学。比如常见的项目现场的综合管线支吊架安装、混凝土浇筑施工等,UE4本身自带一些交互样板和模板,可以帮助和使用者快速创建对应需求的应用程序,它也支持几乎所有VR终端的应用开发,例如VIVE HTC、Oculus等VR设备,可实现第一视角沉浸式体验,通过VR场景建立1:1环境空间,帮助技术人员在虚拟环境中演练,并做到仿真还原,从而实现培训教学的目的。

工序模拟交互界面

最后我们可以将开发好的场景打包封装成Windows、Android、IOS等操作系统平台支持的软件程序,甚至可以在程序中加入企业信息、账号密码、欢迎动画等元素,其可开发性极强,也可在IPad、手机等移动终端实现触控操作,极大方便了后期各种场景的应用。

文章来源:https://blog.csdn.net/vcit102/article/details/135238714
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。