UE4开发BIM程序 的 流程

news2024/11/24 4:17:59

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1343638.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NXP MC17XS6500高边驱动芯片功能的介绍

简介 本文主要介绍了高边驱动芯片MC17XS6500 的功能、特性。世平集团基于 FlagChips FC7300 HV BMS 方案,高边驱动芯片MC17XS6500 被用于驱动继电器的断开和闭合。在本文中介绍了 MC17XS6500 在正常模式和故障模式下,是如何控制 OUT 的输出。 1、功能…

【软件测试】为bug而生

为什么定位问题如此重要? 可以明确一个问题是不是真的“bug” 很多时候,我们找到了问题的原因,结果发现这根本不是bug。原因明确,误报就会降低多个系统交互,可以明确指出是哪个系统的缺陷,防止“踢皮球”&…

彻底理解前端安全面试题(1)—— XSS 攻击,3种XSS攻击详解,建议收藏(含源码)

前言 前端关于网络安全看似高深莫测,其实来来回回就那么点东西,我总结一下就是 3 1 4,3个用字母描述的【分别是 XSS、CSRF、CORS】 一个中间人攻击。当然 CORS 同源策略是为了防止攻击的安全策略,其他的都是网络攻击。除了这…

mac安装k8s环境

安装kubectl brew install kubectl 确认一下安装的版本 kubectl version --client 如果想在本地运行kubernetes 需要安装minikube brew install minikube 需要注意安装minikube需要本地的docker服务是启动的 启动 默认连接的是google的仓库 minikube start 指定阿…

(2023,3D NeRF,无图像变分分数蒸馏,单步扩散)SwiftBrush:具有变分分数蒸馏的一步文本到图像扩散模型

SwiftBrush : One-Step Text-to-Image Diffusion Model with Variational Score Distillation 公众:EDPJ(添加 VX:CV_EDPJ 或直接进 Q 交流群:922230617 获取资料) 目录 0. 摘要 1. 方法 1.1 基础 1.2 SwiftBrus…

elasticsearch 笔记三:查询建议介绍、Suggester、自动完成

一、查询建议介绍 1. 查询建议是什么? 查询建议,为用户提供良好的使用体验。主要包括: 拼写检查; 自动建议查询词(自动补全) 拼写检查如图: 自动建议查询词(自动补全)…

Mybatis插件入门

专栏精选 引入Mybatis Mybatis的快速入门 Mybatis的增删改查扩展功能说明 mapper映射的参数和结果 Mybatis复杂类型的结果映射 Mybatis基于注解的结果映射 Mybatis枚举类型处理和类型处理器 再谈动态SQL Mybatis配置入门 Mybatis行为配置之Ⅰ—缓存 Mybatis行为配置…

【经典算法】有趣的算法之---蚁群算法梳理

every blog every motto: You can do more than you think. 0. 前言 蚁群算法记录 1. 简介 蚁群算法(Ant Clony Optimization, ACO)是一种群智能算法,它是由一群无智能或有轻微智能的个体(Agent)通过相互协作而表现出智能行为,从而为求解复杂问题提供了一个新的可能性…

JDK9及之后版本使用 jlink 生成定制化的 JRE

许多java软件的运行需要依赖jre,在 jdk8 之后,不再提供默认的 jre,后续如果项目中还是想用 jre 的形式发布软件,那么可以使用 jlink 工具生成 jre。 一、jlink 命令详解 jlink 二、查看jdk中包含的所有模块 如果在 jdk 安装文件夹…

css 用多个阴影做出光斑投影的效果 box-shadow

css 用多个阴影做出光斑投影的效果 box-shadow 你首先需要知道的一点是 box-shadow 可以接收多个值,也就是可以设置多个阴影,这样就可以做一个类似光斑投影的效果。 一、效果 二、代码 里面用到了我一些 scss 工具方法,不过不影响&#xf…

Android MVP 写法

前言 Model:负责数据逻辑 View:负责视图逻辑 Presenter:负责业务逻辑 持有关系: 1、View 持有 Presenter 2、Model 持有 Presenter 3、Presenter 持有 View 4、Presenter 持有 Model 辅助工具:ViewBinding 执行…

【华为机试】2023年真题B卷(python)-观看文艺汇演-计算演出场次

一、题目 题目描述: 一个人只能同时观看一场演出,且不能迟到早退,由于演出分布在不同的演出场地,所以连续观看的演出最少有15分钟的时间间隔,小明是一个狂热的文艺迷,想观看尽可能多的演出, 现给…

【并发设计模式】聊聊线程本地存储模式如何实现的线程安全

前面两篇文章,通过两阶段终止的模式进行优雅关闭线程,利用数据不变性的方式保证数据安全,以及基于COW的模式,保证读数据的安全。本篇我们来简述下如果利用线程本地存储的方式保证线程安全。 首先一个大前提就是并发问题&#xff…

八皇后问题(C语言)

了解题意 在一个8x8的棋盘上放置8个皇后,使得任何两个皇后都不能处于同一行、同一列或同一斜线上。问有多少种方法可以放置这8个皇后? 解决这个问题的目标是找到所有符合要求的皇后摆放方式,通常使用回溯算法来求解。回溯算法会尝试所有可能…

[蓝桥杯2022省赛] X 图形

X 图形 问题描述 给定一个字母矩阵。一个 X 图形由中心点和由中心点向四个 4545 度斜线方向引出的直线段组成,四条线段的长度相同,而且四条线段上的字母和中心点的字母相同。 一个 X 图形可以使用三个整数r,c,L 来描述,其中 r,c 表示中心点…

PiflowX组件-ReadFromKafka

ReadFromKafka组件 组件说明 从kafka中读取数据。 计算引擎 flink 有界性 Unbounded 组件分组 kafka 端口 Inport:默认端口 outport:默认端口 组件属性 名称展示名称默认值允许值是否必填描述例子kafka_hostKAFKA_HOST“”无是逗号分隔的Ka…

腾讯云标准型S5服务器4核8G配置优惠价格表

腾讯云4核8G服务器S5和轻量应用服务器优惠价格表,轻量应用服务器和CVM云服务器均有活动,云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元,5年6490.44元,轻量应用服务器4核8G12M带宽一年446元、529元15个月,腾讯云…

malloc、calloc、realloc、free函数的使用及注意事项

malloc函数 malloc函数的返回值为void*类型 内存管理函数操作的内存是在堆区空间 malloc函数使用示例 free(p)相当于值传递,不能改变p本身。 free只是释放了空间,释放后p依然指向原地址,故需要手动置NULL。 calloc函数 calloc可以指定开辟n个…

【Week-P3】CNN天气识别

文章目录 一、环境配置二、准备数据三、搭建网络结构四、开始训练五、查看训练结果六、总结6.1 不改变学习率的前提下,将训练epoch分别增加到50、60、70、80、90(1)epoch 50 的训练情况如下:(2)epoch 60 …

UE4运用C++和框架开发坦克大战教程笔记(十二)(第37~39集)

UE4运用C和框架开发坦克大战教程笔记(十二)(第37~39集) 37. 延时事件系统38. 协程逻辑优化更新39. 普通按键绑定 37. 延时事件系统 由于梁迪老师是写 Unity 游戏出身的,所以即便 UE4 有自带的 TimeManager 这样的延时…