当前位置: 首页 > news >正文

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

相关文章:

UE4开发BIM程序 的 流程

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

【AI大语言模型】ChatGPT在地学、GIS、气象、农业、生态、环境等领域中的应用

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮,可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…...

【面试题】写一个睡眠函数

题目要求 请你编写一个异步函数,它接收一个正整数参数 millis ,并休眠 millis 毫秒。要求此函数可以解析任何值。 示例 1: 输入:millis 100 输出:100 解释: 在 100ms 后此异步函数执行完时返回一个 Pro…...

4. 云原生之kubesphere基础服务搭建

文章目录 安装kubesphere插件服务暴露NodePort方式LoadBalancer方式安装 OpenELB部署eip资源配置网关启动网关创建路由测试网关路由ingress高级功能在服务中配置LoadBalancer 基础设施部署服务部署建议helm仓库添加helm仓库 运维相关部署gitlab部署nexus3部署harbor 研发相关 安…...

思福迪运维安全管理系统 任意文件读取漏洞

产品简介 思福迪运维安全管理系统是思福迪开发的一款运维安全管理堡垒机 漏洞概述 由于思福迪运维安全管理系统 GetCaCert路由存在任意文件读取漏洞,攻击者可通过该漏洞在服务器端读取任意文件敏感内容,可能导致攻击者后续获取到相关的服务器权限 资…...

OCR在审核应用落地

本文字数:6686字 预计阅读时间:35分钟 01 背景 1、业务背景 在传统视频审核场景中,审核人员需要对进审视频中的文字内容进行逐一审核,避免在文字上出现敏感词、违禁词或者广告等相关词汇。这种人工审核费时费力,并且由…...

借贷协议 Tonka Finance:铭文资产流动性的新破局者

“Tonka Finance 是铭文赛道中首个借贷协议,它正在为铭文资产赋予捕获流动性的能力,并为其构建全新的金融场景。” 在 2023 年的 1 月,比特币 Ordinals 协议被推出后,包括 BRC20,Ordinals 等在内的系列铭文资产在包括比…...

Python+Yolov5+Qt交通标志特征识别窗体界面相片视频摄像头

程序示例精选 PythonYolov5Qt交通标志特征识别窗体界面相片视频摄像头 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《PythonYolov5Qt交通标志特征识别窗体界面相片视频摄像头》编写代码&a…...

浅谈高并发以及三大利器:缓存、限流和降级

引言 高并发背景 互联网行业迅速发展,用户量剧增,系统面临巨大的并发请求压力。 软件系统有三个追求:高性能、高并发、高可用,俗称三高。三者既有区别也有联系,门门道道很多,全面讨论需要三天三夜&#…...

深入ArkUI:深入实战组件text和text input

文章目录 Text组件介绍Text组件的属性方法Text:文本显示组件4.3TextInput组件实战案例:图片宽度控制页面本文总结要点回顾在今天的课程中,我们将深入学习ArkUI提供的基础组件,着重探讨text和text input两个组件。 Text组件介绍 Text组件是一个用于显示文本的组件,其主要作…...

WPF 基础(Binding 二)

续接上文,本章继续讲解WPF Binding相关知识,主要内容是绑定的模式和绑定源(Source) 5绑定模式 在使用Binding类的时候有4中绑定模式可以选择 BindingMode TwoWay导致对源属性或目标属性的更改可自动更新对方。此绑定类型适用于…...

限制el-upload组件的上传文件大小

限制el-upload组件的上传文件大小 <el-upload :before-upload"handleBeforeUpload"><!-- 其他组件内容 --> </el-upload>Vue实例中定义handleBeforeUpload方法来进行文件大小的验证。你可以使用file.size属性来获取文件的大小&#xff0c;并与你期…...

什么是爬虫,为什么爬虫会导致服务器负载跑满

在我们日常使用服务器的过程中&#xff0c;经常会有遇到各种各样的问题。今天就有遇到用户来跟德迅云安全反馈自己服务器负载跑满&#xff0c;给用户详细排查后也未发现异常&#xff0c;抓包查看也没有明显攻击特征&#xff0c;后续查看发现是被爬虫爬了&#xff0c;调整处理好…...

线上隐私保护的未来:分布式身份DID的潜力

在日益数字化的世界中&#xff0c;人们的生活越来越多地依赖于互联网&#xff0c;数字身份也因而变得越来越重要。根据法律规定&#xff0c;互联网应用需要确认用户的真实身份才能提供各种服务&#xff0c;而用户则希望在进行身份认证的同时能够尽量保护他们的个人隐私&#xf…...

服务器被入侵后如何查询连接IP以及防护措施

目前越来越多的服务器被入侵&#xff0c;以及攻击事件频频的发生&#xff0c;像数据被窃取&#xff0c;数据库被篡改&#xff0c;网站被强制跳转到恶意网站上&#xff0c;网站在百度的快照被劫持等等的攻击症状层出不穷&#xff0c;在这些问题中&#xff0c;如何有效、准确地追…...

【开源】基于Vue+SpringBoot的公司货物订单管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 客户管理模块2.2 商品维护模块2.3 供应商管理模块2.4 订单管理模块 三、系统展示四、核心代码4.1 查询供应商信息4.2 新增商品信息4.3 查询客户信息4.4 新增订单信息4.5 添加跟进子订单 五、免责说明 一、摘要 1.1 项目…...

2023-12-29 服务器开发-Centos部署LNMP环境

摘要: 2023-12-29 服务器开发-Centos部署LNMP环境 centos7.2搭建LNMP具体步骤 1.配置防火墙 CentOS 7.0以上的系统默认使用的是firewall作为防火墙&#xff0c; 关闭firewall&#xff1a; systemctl stop firewalld.service #停止firewall systemctl disable fire…...

CEC2017(Python):五种算法(DE、RFO、OOA、PSO、GWO)求解CEC2017

一、5种算法简介 1、差分进化算法DE 2、红狐优化算法RFO 3、鱼鹰优化算法OOA 4、粒子群优化算法PSO 5、灰狼优化算法GWO 二、CEC2017简介 参考文献&#xff1a; [1]Awad, N. H., Ali, M. Z., Liang, J. J., Qu, B. Y., & Suganthan, P. N. (2016). “Problem defini…...

数字身份验证:跨境电商如何应对账户安全挑战?

在数字化时代&#xff0c;随着跨境电商的蓬勃发展&#xff0c;账户安全问题逐渐成为行业和消费者关注的焦点。随着网络犯罪日益猖獗&#xff0c;用户的数字身份安全面临着更加复杂的威胁。本文将深入探讨数字身份验证在跨境电商中的重要性&#xff0c;并探讨各种创新技术和策略…...

Nature | 大型语言模型(LLM)能够发现和产生新知识吗?

大型语言模型&#xff08;LLM&#xff09;是基于大量数据进行预训练的超大型深度学习模型。底层转换器是一组神经网络&#xff0c;这些神经网络由具有自注意力功能的编码器和解码器组成。编码器和解码器从一系列文本中提取含义&#xff0c;并理解其中的单词和短语之间的关系。通…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...