查看原文
其他

模型1秒进入游戏引擎,下一波风口是 Unity BIM 应用开发?

The following article is from BIM清流BIMBOX Author BIMBOX

本文转载自BIMBOX。主要与大家详细聊一聊AEC领域令人头大的应用开发。

从2019年开始,我们发现越来越多的领域和 BIM 接壤,也有越来越多的公司开发了 BIM 相关的产品,今天咱们要说的是老牌游戏开发平台 Unity,以及它专门为 BIM 开发的软件Unity Reflect

熟悉游戏的小伙伴肯定对 Unity3D 不陌生,是由Unity Technologies 开发的一款综合游戏引擎,人们通过它可以在PC、手机等平台创建三维游戏、建筑可视化、实时三维动画等互动内容。其中,最像建筑软件的游戏《城市:天际线》就是用 Unity 引擎开发的。

在2014年到2015年左右,国内就有一批人不满足于常规建模软件的交互展示功能,把目光投向了Unity 这样的产品,开始研究游戏引擎的非游戏应用,比如地产项目VR、虚拟施工、消防模拟等等应用。当时一个小项目 Unity 开发的私活,能轻松谈到个几十万。

这些应用的本质,都是开发一个游戏。既然是游戏,交互界面的自由度几乎就是无限大,模型用的则是BIM模型。

不过,那时候对于建筑行业的人来说,有两道关卡让很多人还没来得及学开发就被拦在了门外。

首先是建筑模型导出的问题。建模软件的模型面数很多,它本身就是通过降低渲染精度来提升流畅度,模型通过各种中间格式导出很麻烦不说,导出到游戏引擎之后还要经过各种LOD和减面的优化。

另外就是信息导出的问题。BIM 模型如果希望到游戏引擎里实现更高级的应用,必须要把信息带过去,否则就和 3DMAX 建的模型没区别了。那时候也是各路神仙研究不同的方法,用导出类 CMyExporter、用中间格式的插件、用IFC,非常折腾,而且好不容易导出的信息,也很难直接关联到模型构件上。

这两个大麻烦,就导致那个时代大多数游戏引擎的应用就是模型面数小、不需要BIM信息的虚拟看房等轻项目;真能把信息玩转的只有极少数大牛级别的人物,而且因为开发周期长,这种应用都是项目大后期才做,不可能在充满变数的设计阶段就介入,否则应用还没开发完,原模型又改了。

时代变迁,随着 BIM 的普及度越来越高,软件开发商们也愿意把民间自己鼓捣的东西研发成官方产品,这也给非专业开发的建筑人提供了更轻松的方案。

2019年拉斯维加斯的 Autodesk University 大会上,Unity 公布了与 Autodesk 的合作计划,计划实现Unity 与 Autodesk 产品之间完全数据互通,在19年下半年启动首个合作项目。

今天要说的 Unity Reflect ,就是在这样的背景下诞生的。通过它,即便没有任何编程知识,也可以一键把模型连同信息转换成 Unity 3D 模型。

使用 Unity Reflect 有两种流程,一种是无需开发的协作和展示流程,另一种是自由度更高的开发流程,咱们分开说说。


流程A 快速协作&轻量展示 
这个流程非常简单,就是把建模软件的模型和数据通过 Reflect 一键同步到本地服务器,再分发到各种PC端或者移动端的查看器上。
只需要在建模软件上安装  Unity Reflect 插件就行,目前官方支持的软件有 Sketchup、Rhino、Revit 三款软件,其中 Revit 支持2018到2020版本。
安装插件后,就能在 Revit 里找到 Unity 面板,功能很简单,就是一个 Export View (导出)按钮、开始同步按钮和停止同步按钮。
同步的时候,会要求选择一个同步服务器,再选择或新建一个项目。
其中,同步服务器目前是使用本地电脑,其他客户端需要在同一个网络才能下载模型,官方消息是2020年推出云服务器版本。
同步完成后,模型和数据就储存在服务器上了,在网内运行单独的 Reflect Viewer 查看器就可以选择项目,查看具体的 3D 结果。
目前查看器的功能比较简单,可选项不多。显示选项可以调整效果优先或者速度优先。
利用BIM信息过滤器,可以按照不同的族类别和构件类型筛选显示的构件。
Reflect 一大特色是多模型同步协作
如果把「多用户」和「渲染」作为两个维度来划分,市面上常用的软件可以分成两类,一种是支持更好光影渲染的单机软件,另一种是注重协同工作的平台类软件。
Reflect 可谓是这两个领域内的一次跨界尝试。不同专业的设计师可以把各自的模型推送到同一个项目里,这些模型会被 Reflect 集合起来,统一存储到一个服务器上。你可以在服务器端管理不同人员的访问权限,也可以在 Reflect Viewer 里筛选显示不同专业的模型。
任何一个导出到项目里的模型文件都可以开启实时同步,在原始文件中做出的任何修改都会自动同步到 Reflect Viewer 里。结合多模型合并的功能,就可以明显提升跨专业联动修改模型的效率了。
除了 PC 端的查看器,你还可以使用 ios 和安卓手机端查看模型,也支持 HTC VIVE 的虚拟现实查看方式和苹果 ARKit 增强现实查看方式。
总体来说,这个流程突出的两个功能就是快速同步和多模型协作,不过可以扩展的功能并不太多。它主要是给设计师使用,用最简单的方式把模型转化成漂亮美观 VR 或者 AR 的程序。
一开始我们说 Unity 是游戏引擎,主打的功能是自由度更高的开发。所以,如果你想解锁更多的功能,就需要进入第二种流程了。
流程B 应用程序开发 
这个流程和第一种流程的区别,就是在模型进入 Reflect 服务器后,不直接进入终端查看,而是先进入 Unity Pro 编辑器,基于模型开发更多的功能,再打包成应用程序,给不同的设备使用。
Unity Reflect 和 Unity 编辑器是两个独立的软件,使用 Reflect 不一定要安装 Unity 编辑器,我们前边说的第一个流程里单独使用也是没问题的,不过和 Unity 编辑器结合使用,可以开发出更多功能的 3D 应用来。
今天一开始我们就谈到,懂开发的人很难处理 BIM 信息,这个流程中的 Reflect 环节目的就是破除很多中小型开发团队的障碍,免除了频繁造轮子的投入。
BIM 数据通过 Reflect 进入 Unity 编辑器后,可以发挥的空间就大多了。你可以给项目添加 Unity 支持的任何功能,比如粒子系统、天空盒、自定义 LOGO、增加交互功能、自定义 UI、构建基于 WebGL 的查看器等等。还可以利用 Unity 的可扩展平台把程序无缝部署到 AR 或者 VR 可穿戴设备上。
目前国内使用 Reflect 流程进入编辑器开发的案例还不多,我们找到了国外一个案例供你参考。
SHoP Architects 是美国纽约的一家公司,美国的全球大使馆和 Uber 洛杉矶总部都出于他们的设计。
这家公司在 Reflect beta 版测试的时候成为了内测用户,他们通过 Reflect 和 Unity 编辑器创造了各种定制 AR 和 VR 应用。其中的代表作是在布鲁克林的最高建筑 9 Dekalb 项目中使用的增强现实程序。
以前 SHoP Architects 也一直用 Unity 给项目开发 AR 应用,不过在项目实施阶段,BIM 模型经常发生变化,每次变更都需要花上好几天重新走一遍导入和优化的流程,制作 AR 的速度跟不上设计的迭代速度。Reflect 内测刚一发布,他们就觉得这种开箱即用的流程简化太赞了。
接下来就是他们擅长的开发工作了。比如,他们针对这栋建筑所有的外立面嵌板,开发了现场安装追踪的 AR 程序。这个程序的开发并不神秘,甚至很简单。
在 Revit 所有嵌板的属性中,都有一个叫做 Panel Status (嵌板状态)的参数,用来追踪每一块嵌板的施工安装情况。
这个参数会被 Reflect 拾取,并导入到 Unity 编辑器里。
接下来设定一个脚本,根据参数的不同取值,给不同嵌板赋予不同的颜色,代表每块嵌板是正在生产、正在运输、还是安装完成。
接下来就是把这个简单的应用输出到 ios AR 应用,在 iPad 上可以在任意角度查看虚拟建筑中所有嵌板的状态。因为 AR 程序是可以交互的,设计师可以点击任意一块嵌板,左上角就能显示它目前的状态。
SHoP Architects 的 AR 部门负责人 Adam 现场演示了这个程序的开发流程,看上去很炫酷的 AR 应用,实际上只用了不到5分钟就完成了。
除了这个程序,团队还通过 Unity 为项目施工现场开发了专门的 AR 程序,把设计和施工更好的结合到一起。
施工人员可以把 iPad 对准需要安装柱子的位置,屏幕上就会显示柱子的虚拟模型,点击屏幕就能看到它的参数和安装说明。
屏幕对准施工场地,会显示对应位置的轴号、即将施工的模型和设计说明,也可以查看现场物料堆放是不是合理。
程序里的主要构件绑定了图纸文件,只需要点击构件,就会弹出对应的 PDF 图纸,安装人员不需要去翻阅纸质文件,就能随时查看安装要求。
这个案例还仅仅是 Unity Reflect 内测阶段所能做到的事,结合中国目前的情况,我们会看到未来两种走向:
一种是像SHoP这样,给单个项目开发专用 AR 程序的团队会越来越多,能为项目提供更好的服务;
另一种是有人会像开发一款通用游戏一样,基于 Unity 开发出面向公众的 BIM 应用程序。目前国内基于 WebGL 开发的轻量化平台很多,未来也许会出现很多基于游戏引擎的好工具。
今天的内容总结下来,Unity Reflect 有以下这么几个优点:
与 Autodesk 官方合作 支持导出 BIM 图元数据 和 Revit 实时互联 多用户模型整合可选择速度更快的局域网协作 可选择私有存储 支持 AR/VR 平台 可定制开发背靠大厂,后续研发更新会比较给力

截止到2019年12,Reflect 已经结束beta测试正式发布。2020年,Reflect 计划把支持的软件格式扩展到 Navisworks、BIM360上。
目前 Reflect 刚刚推出几个月,还在快速迭代中。在 Reflect 更新计划里,我们看到6月将会针对不懂开发的设计师、工程师更新很多现成的功能,包括快速设计、设计评审等。如果你对基于游戏引擎的BIM软件感兴趣,它更新值得你持续关注。
比较有意思的是,Unity 官方有一个很亲民的产品迭代路线图,用户可以到这个网站发布自己的需求,其他人可以通过附议的方式增加需求的权重:
https://portal.productboard.com/ryk149xi2qtmns5iehpngb6u/tabs/1-under-consideration
网站分为四个板块,分别是「正在考虑」、「纳入计划」、「正在研发」和「已经推出」,每个板块下都列出具体的功能。
比如双向数据同步、PRC模型替换、创建注解、WebGL部署,目前列在「正在考虑」板块;步行模式、点击显示BIM信息、ArchiCAD插件、点云支持列在「纳入计划」板块;Navisworks和ArchiCAD插件、云端存储、日光分析等功能在「正在研发」板块,这种公开民主的开发方式值得点赞。
如果你对Unity Reflect感兴趣,扫描下方二维码或点击阅读原文免费申请试用。


点击关键词
获取更多信息

Unity 2020.1beta
Hololens 2 | ML-Agents
Visual Effect Graph | 《Windup》
 地形工具 Made With Unity |HDRP

你·可·能·感·兴·趣


点击阅读原文免费申请试用👇

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存