巴西的贫民窟有着丰富多彩、不拘一格的建筑风格。这些杂乱无章的山坡居民区最早出现于17世纪后期,是由流离失所的士兵在大都市圈的外围建造的,然后随着巴西农村人口向城市地区迁移而持续有机地增长。这些房屋使用的都是廉价购入或就地获取的建材,经历了数代人的累积沉淀,才有了现在这种大杂烩般的建筑风格和缤纷色彩。
不出意外的,这样的环境启发了城市规划咨询公司vrbn.io的设计师Matthias Buehler。他用Esri的城市规划软件CityEngine制作了一个虚拟贫民窟的比例模型。“我在巴西南部见过一次贫民窟,”Buehler说,“我当时就喜欢上了那种地形、茂密的植被和迷宫般的建筑融为一体的感觉。”Buehler和搭档Cyrill Oberhaensli(美术)在2014年首次构建了CityEngine模型,并在最近的一次更新中为其加入了虚幻引擎的实时渲染。
贫民窟的模型通过Datasmith(Epic新推出的Unreal Studio中的一个CAD转换工具)导出到虚幻引擎中。Datasmith会读取从CityEngine中导出的文件并对整个场景的数据进行转换,以优化在虚幻引擎中的呈现效果。Epic在Siggraph 2017上首次展示了CityEngine与Datasmith的整合成果,当时Epic、Esri和HOK(一家著名的跨国设计、建筑、工程和规划公司)合作制作了CityEngine与虚幻引擎的协作演示,而他们也希望利用这个贫民窟项目来进一步拓展Datasmith的应用能力。
“借助CityEngine,你不仅可以展现整个城市,也包括了城市周围的一切,”Epic的高级技术产品经理Pierre-Félix Breton说。“对于建筑师来说,将他们的新设计置于相应的环境中是非常有价值的。使用虚幻引擎的优势在于,你几乎可以体验到设计的整个环境。”
CityEngine的开发人员也参与了工作流程的优化,并改进了CityEngine,使其能够更直接地满足虚幻引擎的要求。“这个贫民窟项目让我们有机会真正考验了CityEngine的能力极限。”Esri的软件开发工程师Simon Haegler说,“我们把所有方面都做到了极致。”
创建贫民窟
CityEngine使用自定义脚本(称为“规则”)来进行贫民窟布局,并为场景填充程式化的街道和建筑物。CityEngine规则可以控制建筑物、街道、人行道和植物的大小及外观,以及其他城市元素(例如电话线和垃圾桶)的分布。
CityEngine中的贫民窟程式化建筑、人行道和植物
材质也可以基于规则创建。Buehler为不同类型的立面准备了多种纹理,并根据建筑尺寸和其他因素,使用规则来组合应用这些纹理。颜色乃至老化程度、裂缝和尘土也可以通过规则来改变。
由于贫民窟中总有建造中的建筑,所以人们常能在这里看到散落在各处的建筑材料和工具。托板、砖块、桶和垃圾袋之类的附属物都是使用Autodesk Maya和Maxon Cinema 4D制作的低面模型。将这些模型导入到CityEngine后,就能根据自定义的规则对其进行实例化和分配。
当所有的模型和实例都部署到位时,场景的总多边形数达到了极限的1.5亿个左右。
对场景附带元素进行基于规则的资源分配
导出贫民窟数据
在2014年的首版模型中,Buehler通过尽可能重复使用材质来最大程度地减少场景中的材质总数。在他2014年发布的首个贫民窟模型相关视频中,他附上了一些使用Maxwell Render渲染的静态图片。即使减少了材质数量,每一帧也需要10-40小时才能完成渲染。这对于体验设计是不可逾越的障碍——设计必须具备互动性,才能实现对它的“体验”。
面向CityEngine的Datasmith本身提供了一些利于在虚幻引擎中进行回放的优化功能。如果在导出期间将植物之类的实例化CityEngine元素作为单个对象处理,多边形数会轻易飙升到惊人的数量。Datasmith导出程序会读取CityEngine实例并将它们转换为虚幻引擎实例,从而减少内存用量并优化实时回放。导入到CityEngine并以实例形式分配的模型(例如散落的建筑材料、空调和垃圾桶)也会由Datasmith转换为虚幻引擎实例。
“Datasmith导出程序编写得相当完善,不需要用户执行任何特殊操作,”Haegler说,“基本上都是点击运行。”
从CityEngine导出贫民窟模型
导入虚幻引擎的贫民窟模型
“在测试期间,我们直接与Esri合作改进了Datasmith。”Pimentel说。他还补充说,Esri是第一个与Epic合作改进API的合作伙伴,在迭代测试期间,他们将导出速度提升了10倍以上。
将场景导入到虚幻引擎后,Esri的软件工程师Benjamin Neukom对材质和光照做了一些调整。由于在贫民窟模型中只有少数材质是反光的,所以他可以使用屏幕空间反射(Screenspace Reflections),而不是反射捕获(Reflection Captures)。
在照明方面,Neukom使用了动态照明,而不是烘焙照明:“因为我们想通过快速的迭代来获得对场景整体氛围的良好感觉。”为了给人一种光线从背景建筑的窗户上照射过来的感觉,Neukom使用了自发光蒙板,它能使这些建筑上的高亮度像素产生发光效果,同时又节省了使用实际光源的消耗。
“通过与Esri合作,我们充分证明了Datasmith API的实力,”Pimentel说,“测试过程反映,Esri数据的复杂性会在许多情况下造成瓶颈。我们对流程的两端都进行了改进,这将使我们所有的用户受益。”
未来展望
Epic和Esri把最近发布的Unreal Studio(一个由插件、模板和CAD-虚幻流程培训内容组成的套件)视为实时渲染在建筑可视化领域兴起的重要一步。
“建筑设计依赖于静态图片的情况已经持续了一段时间,但这阻碍了自然交互以及从人性化的角度体验设计的机会,”Pimentel说,“现在,建筑师、规划师和设计师可以快速地迭代他们的提议,然后在沉浸式环境中体验效果。”
他补充说,实时引擎的改进一直是这一演变的推动力——有了实时渲染,沉浸式体验便成为可能。最近的一项CGArchitect调查显示,虚幻引擎正在快速普及,恰好印证了这一说法。虽然虚拟现实还没有成为城市规划的主流,“但人们已经开始关注。在没有大量数据准备的情况下将复杂的数据导入到实时引擎一直以来都是个难题,但是我们现在已经与Esri合作解决了这个问题,”Pimentel说。
“实时渲染开启了这样一种可能性:人们在协作式环境中群策群力,以更好地理解设计。我们正在逐步消除其中的障碍,以打开通往有趣未来的大门。”
已准备好尝试Unreal Studio?请在此下载免费的测试版本。