UE4开发BIM程序 的 流程

某机构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、手机等移动终端实现触控操作,极大方便了后期各种场景的应用。

相关推荐
3A是个坏同志1 个月前
UE4手动实现billboard效果让物体始终面向相机正面
ue4
致命的邂逅1 个月前
UE4游戏查找本地角色数据的方法-SDK
游戏·ue4
北冥没有鱼啊1 个月前
UE 材质几个输出向量节点
ue5·游戏引擎·ue4·虚幻·材质
北冥没有鱼啊2 个月前
UE 材质 条纹循环发光
游戏·ue5·游戏引擎·ue4·材质
北冥没有鱼啊2 个月前
UE 滚动提示条材质制作
游戏·ue5·游戏引擎·ue4·虚幻·材质
北冥没有鱼啊3 个月前
UE 使用事件分发器设计程序
游戏·ue5·ue4·游戏开发·虚幻
GR903 个月前
UE4 踩坑记录
ue4
程序猿熊跃晖3 个月前
解决 Unreal Engine 5.2 中服务器目标构建问题:从源码编译到项目配置优化
ue4
Ⅰㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ3 个月前
开篇 - Unlua+VsCode的智能提示、调试
vscode·ue4·智能提示·unlua
吴梓穆3 个月前
UE5学习笔记 FPS游戏制作33 换子弹 动画事件
笔记·学习·ue4