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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

raid 学习

一、服务器硬件 cpu 、 主板 、内存、硬盘、网卡、电源、raid卡、风扇、远程管理卡 二、硬盘尺寸 目前生产环境中主流的两种类型硬盘 3.5寸 和 2.5寸 硬盘 2.5寸硬盘可以通过使用硬盘托架后适用于3.5寸硬盘的服务器,但是3.5寸没法转换成2.5寸 1.如何在服务器上…

【Unity入门】热更新框架之xLua

目录 一、xLua概述1.1xLua简介1.2xLua安装 二、Lua文件加载2.1执行字符串2.2加载Lua文件2.3自定义loader 三、xLua文件配置3.1打标签3.2静态列表3.3动态列表 四、Lua与C#交互4.1 C#访问Lua4.1.1 获取一个全局基本数据类型4.1.2 访问一个全局的table4.1.3 访问一个全局的functio…

天擎终端安全管理系统clientinfobymid存在SQL注入漏洞

产品简介 奇安信天擎终端安全管理系统是面向政企单位推出的一体化终端安全产品解决方案。该产品集防病毒、终端安全管控、终端准入、终端审计、外设管控、EDR等功能于一体,兼容不同操作系统和计算平台,帮助客户实现平台一体化、功能一体化、数据一体化的…

关于IDEA中Git版本回滚整理

Git分区理解 git的版本回滚本质上就是回滚不同的分区,所以咱们有必要简单了解一下git的分区。git在本地有三大分区:暂存区、工作区、版本库。 暂存区: add后的代码,绿色。 **工作区:**正在编写,还未add的部分&#…

uniapp中uview组件库丰富的Calendar 日历用法

目录 基本使用 #日历模式 #单个日期模式 #多个日期模式 #日期范围模式 #自定义主题颜色 #自定义文案 #日期最大范围 #是否显示农历 #默认日期 基本使用 通过show绑定一个布尔变量用于打开或收起日历弹窗。通过mode参数指定选择日期模式,包含单选/多选/范围…

uniapp门店收银,点击右边商品,商品会进入左边的购物车,并且,当扫码枪扫描商品条形码,商品也会累计进入购物车

效果&#xff1a; 代码&#xff1a; <template><view class"container"><view class"top" style"height: 10%; margin-bottom: 20rpx; box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);"><view class"box" style&q…

Spark Streaming

目录 一、流计算概述 &#xff08;一&#xff09;静态数据和流数据 &#xff08;二&#xff09;批量计算和实时计算 &#xff08;三&#xff09;流计算概念 &#xff08;四&#xff09;流计算框架 &#xff08;五&#xff09;流计算处理流程 二、Spark Streaming &…

提升数据库性能的关键指南-Oracle AWR报告

文章目录 一、了解AWR报告&#xff1a;数据库性能的仪表盘二、生成AWR报告三、解读AWR报告的关键部分1.报告开头的系统基础信息2.ADDM发现3.负载概览(Load Profile)4.参数文件5.顶级前台等待事件6.SQL 统计信息-顶级SQL7.SGA Advisory AND PAG Advisory 一、了解AWR报告&#x…

Thinkphp+vue+mysql学生作业管理系统21j0r

运行环境:phpstudy/wamp/xammp等 开发语言&#xff1a;php 后端框架&#xff1a;Thinkphp5 前端框架&#xff1a;vue.js 服务器&#xff1a;apache 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat/phpmyadmin 为设计一个安全便捷&#xff0c;并且使用户更好获取本学院…

【笔试强训】Day1_贪心算法_组队竞赛

题目链接&#xff1a;牛客_组队竞赛 目录 题目解析 代码书写 知识补充 题目解析 题目让我们求所有队伍的水平值总和最大 由题可得&#xff1a; 队伍的水平值等于该队伍队员中第二高水平值; 随机给定3*n个数&#xff0c;需要自己组队并且得出队伍水平最大值&#xff1b; 我…

Unity中Shader裁剪空间推导(透视相机到裁剪空间的转化矩阵)

文章目录 前言一、简单看一下 观察空间—>裁剪空间—>屏幕空间 的转化1、观察空间&#xff08;右手坐标系、透视相机&#xff09;2、裁剪空间&#xff08;左手坐标系、且转化为了齐次坐标&#xff09;3、屏幕空间&#xff08;把裁剪坐标归一化设置&#xff09;4、从观察空…

android studio 将含有jni c++ 的library项目封装成jar并调用

请参考博客&#xff1a;android studio 4.1.1 将library项目封装成aar 并调用_android studio 4.1 aar release-CSDN博客 一 . 简单叙述 android studio 中可以创建Module 的两种属性&#xff0c;可以在build.gradle 中查看&#xff1a; 1. application属性&#xff1a;可以独…

字符串转换tuple对象

给定“前导空格分隔的元组字符串”&#xff0c;还原成合法的python元组tuple对象。 (笔记模板由python脚本于2023年12月29日 19:29:03创建&#xff0c;本篇笔记适合熟悉Python元组tuple的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org…

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

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

docker入门概念详解

本篇文章对docker的一些基础概念和周边概念进行了详细解释。帮助你可以很好的理解docker是用来干什么的&#xff0c;docker是怎么工作的。其中有docker所运用到的技术解释&#xff0c;docker的不同发展版本&#xff0c;dokcer的架构&#xff0c;docker的生态等等详解。希望本片…

Django 文件上传(十二)

当 Django 处理文件上传时&#xff0c;文件数据最终会被放置在 request.FILES 。 查看文档&#xff1a;文件上传 | Django 文档 | Django Django工程如下&#xff1a; 创建本地存储目录 在static/应用目录下创建uploads目录用于存储接收上传的文件 在settings.py 配置静态目…

Shell脚本-bin/bash: 解释器错误: 没有那个文件或目录-完整路径执行-“/”引发的脑裂

引起该不适的一种可能以及解决方案&#xff0c;网上较多&#xff0c;比如&#xff1a; 但按以上方式操作&#xff0c;并经过查看&#xff0c;发现仍然未能解决问题。 因为两种方式执行&#xff0c;有一种能成功&#xff0c;有一种不能&#xff0c;刚开始未怀疑是文件问题&…

写实风格3D模型材质贴图

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 写实3D模型的制作过程包括建模、材质贴图、灯光设置和渲染等步骤。首…

ViT的极简pytorch实现及其即插即用

先放一张ViT的网络图 可以看到是把图像分割成小块&#xff0c;像NLP的句子那样按顺序进入transformer&#xff0c;经过MLP后&#xff0c;输出类别。每个小块是16x16&#xff0c;进入Linear Projection of Flattened Patches, 在每个的开头加上cls token和位置信息&#xff0c;…

【软件测试】为bug而生

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