[分享]Revit模型带信息导入UE4
在完成Revit模型创建之后,往往需要导入到诸如lumion、twinmotion等渲染软件中,虽然Epic Games公司已经向我们提供了twinmotion这样的可视化工具(其实这也是UE4开发的),但是BIM模型在游戏引擎的加持下能具有更大的可能。在UE4中,不仅能得到近乎完美的实时渲染效果,还能添加各种交互程序,像玩游戏一样玩转BIM模型,还可以打包成应用程序,在客户端、移动端、网页端甚至是虚拟现实设备端实现展示和交互。现在介绍一种将Revit模型导入虚幻引擎(UE4)的方法,该方法能实现模型材质、属性信息完全导入UE4,重要的是不收费
1、安装UE4、Revit
首先安装好UE4和Revit,安装过程可以到虚幻引擎官方查看,这里不再赘述,需要注意的是,安装Unreal Engine 4.24以上版本才会有Datasmith插件模块。而Revit我这里使用的是Revit2020。
2、安装插件并导出数据
到虚幻引擎官网下载Datasmith for Revit插件(这里面还可以看到针对3dmax、sketchup等其他3D建模软件的插件)
地址:https://www.unrealengine.com/zh-CN/datasmith/plugins
选择适合的版本下载并安装,跟其他插件的安装一样简单。
安装完成以后在“附加模块”选项卡下会多出一个导出Datasmith数据的按钮,点击即可导出Unreal Datasmith数据,需要注意的是只有在3D视图下才可以导出数据。
插件将会导出一个.udatasmith配置文件和模型素材文件夹。
3、数据导入UE4
接下来将该数据导入UE4中,首先创建一个关卡,可以利用初学者内容包里面的第三人称视角模式中自带的第三人称视角关卡。按下图的方法打开datasmith导入插件。
点击窗口上方的导入按钮,选择之前导出的. udatasmith文件,在选择需要导入到的资源管理器的位置,可以新建一个文件夹来存放,按照默认参数导入,直接将文件拖入到视口中即可在该关卡里面放置整个模型。当模型发生修改时,可以重新导出Datasmith数据并覆盖原有文件,以保证文件名不变,再到UE4中重新导入该文件并放置在同一文件夹,关卡中的模型将自动更新。
4、树状结构
在关卡中放置模型以后,在世界大纲视图中可以看到包含所有模型构件的树状结构,首先第一层就是以导入数据的文件名明明的模型,单击既可选中整个项目模型,并整体进行操作,再往下就是以标高进行构件划分,其中门窗会归属于该门窗所在墙的层级之下。值得一提的是,像幕墙这类在Revit中类似与嵌套族的结构,在UE4中将作为一个整体,但是属于载入族的嵌套族就能识别够到内部的子族并实例化,比如下图的桌椅族,其中椅子是整个桌椅族中的一个子族,在UE4就能单独选中进行操作,同时也可以看到所有椅子都在世界大纲中对应唯一的一个标签,而不会像Revit中一样同一个族重复使用和放置。
5、材质
Revit中的模型贴图材质以及光源基本都会一同载入到UE中,并能根据Revit中设置的参数进行相应的设置,比如贴图大小、法线贴图等等,光源也会对光照强度、光照颜色进行相应的设置。但是经过测试贴花是不能导入到UE4中的,同时导入的材质效果会存在一定程度的损失。另外如树木、人物等RPC构件将无法正确识别,但是我觉得使用UE4中的树木和人物效果会更好。
6、属性信息
接下来是大部分人比较关心的属性问题,这里挑选的一根结构柱作为展示,其中如结构材质等是实例参数,结构分析数据中的截面面积、周长等是类型参数。导入到UE4中以后,单击模型可以在细节面板下的资产用户数据里找到元数据(这里要多点开几个层级才能找到),除了可以看到该模型所属的族类别、族和族类型之外,其他的所有属性都呈现在这,只是不再区分实例参数和类型参数,或者说所有的参数都是实例参数,参数的数据类型也都属于字符串。有了这些数据,我们可以在蓝图脚本或python脚本中进行调用,实现更多有意思的功能。