在Unity HDRP中创建可配置的汽车

位于法国巴黎的Light & Shadows公司创立于2009年,旨在满足大型工业公司对优质视觉内容不断增长的需求。自成立以来,Light & Shadows就通过不断调整和创新给客户提供的新功能而蓬勃发展,提供高质量渲染画质的同时,提高生产效率和有效降低成本。

Unity和Light & Shadows通过紧密的合作,共同实现了实时逼真的高质量视觉效果。本文将由Light & Shadows分享使用Unity高清渲染管线HDRP实时渲染令人惊艳的雷克萨斯LC500演示视频。

014410m6cg9a2woci9va11.png.thumb.jpg

实时渲染:汽车行业的革新技术
新技术正在转变我们体验,销售和购买汽车的方式。Light & Shadows在汽车可视化和离线渲染有着丰富的经验,这可以从标致雪铁龙汽车配置工具和达索航空公司项目得到证明。

我们与Unity达成合作,使用HDRP制作实时渲染效果,并实现全新水准的视觉质量和性能。为了证明这些新功能的强大,我们制作了一个演示视频来展示雷克萨斯LC500的实时渲染效果。

观看雷克萨斯LC500演示视频

项目创作流程

CAD数据准备工具和流程
对于雷克萨斯LC500项目,雷克萨斯给我们提供了所有可见表面和部分内部几何体的边界表示(B-rep)CAD数据,有了这些数据我们就不必对硬表面进行建模。

由于汽车的模型非常复杂,组织和准备数据成为一项挑战。为了解决这项挑战,我们使用了PiXYZ软件的高级曲面细分和可编程数据准备功能。

作为大多数复杂产品的典型代表,雷克萨斯汽车模型由大量对象的层次结构组成,在这种情况下代表汽车的数千个组件。我们决定分离汽车的外部和内部,这将提供更大的灵活性,允许我们并行处理模型的二个部分。我们能够分离设计内容,包括:动力系统,底盘和汽车结构组件。

源数据不是按文件来组织每辆汽车,而是作为涵盖同一车型的所有几何选项的部件集合。这使我们以合理的方式组织数据,从而将汽车部件的变体作为可选项展示给雷克萨斯的客户。

我们使用一个XML文件,通过相关选项逻辑来连接源数据的每个部分。通过使用XML文件和自定义脚本,我们可以分离汽车的不同变体为一种特别形式,可视化展示每个选项的组合效果。

分离不同部分后,下一步是曲面细分过程。此过程会将CAD数据(B-rep)转换为曲面细分形式(三角面),转换后的数据可以在3ds Max或Unity等工具中使用。通过使用PiXYZ的工具,我们获得了轻量级的曲面细分模型,并同时保持出色的视觉质量。

实现优化光照和烘焙
为了达到设定的高标准视觉质量,我们使用了光照贴图来增强光照效果。作为工作流程的一部分,我们需要展开汽车的每个部分,而且没有任何重叠。我们使用了自动展开工具,并在需要优化接缝位置的地方通过交互式手动展开功能进行处理。

014410gkihkala1l61yfrr.jpg.thumb

可见表面的UV展开

我们评估了二种计算光照贴图的方法:1、直接在Unity中使用内置光照贴图工具。2、在3ds Max使用Octane或V-Ray等第三方渲染工具。

评估二种方法的目的是为了对比不同方法得到的质量级别,并测试使用Unity内置光照贴图工具集成外部光照贴图的工作流程。汽车的内部光照贴图会直接在Unity中计算,通过正确的设置,我们获得了非常不错的结果。

直接光照由实时光线提供,间接光照则由烘焙光线提供。通过使用Unity的这些功能,即使在调整场景的可交互部分,例如转动方向盘和打开车门时,我们也能够提供逼真的视觉效果。在Unity中使用内置的光照贴图非常简单,并且产生了出色的效果。

014433b6v7t888a3hwqwm7

有无光照贴图内部效果变化

我们选择使用Octane光照贴图进行实验,通过交互方式为模型的每个外部对象调整镜面遮蔽。我们在HDRP中编辑了标准着色器,以正确合并分离的UV通道。结果令人满意并生成非常逼真的视觉效果,特别是对车身板件的间隙部分的处理。

使用这二种方法,允许我们对外部光照贴图工具的灵活性和集成光照贴图工具的易用性之间进行权衡。最后结论是二种方法都能够帮助我们达到预期效果。

014433gwsa0wqfnuj4fxaz

有无光照贴图外部效果变化

定制材质,实现逼真效果
凭借我们在汽车离线渲染领域多年的经验,我们以漫反射贴图、高度图、高光贴图、法线贴图等形式积累了大量高分辨率贴图。

在雷克萨斯项目中,我们打算使用常用贴图来实现最佳效果,但是优化性能时,Unity需要将金属度,光滑度和AO图结合到单个贴图的RGB通道中。这种方法对于性能而言是最佳的,但是却给精确调整地图和着色器带来了挑战。

在我们开发此项目时,Shader Graph着色器视图还无法在HDRP中使用,所以我们让开发团队制作了自定义纹理编辑工具,以便让我们直接在标准HDRP着色器中独立加载并调整纹理的每个贴图。

该编辑工具可以直接在Unity中调整材质,极大的提高了工作效率。现在Shader Graph着色器视图已经支持HDRP,所有Unity客户都可以使用相同的功能。

014433mg109cod84482skz.jpg.thumb

自定义纹理编辑

后期处理
后期处理对于给3D场景赋予类似电影和逼真的感觉至关重要。HDRP提供了许多功能来调整场景的最终效果,包括:颜色分级、泛光、晕影和景深等。

014433z8avg3zurq1qh785

有无后期处理的车门内部效果变化

景深是实现真实可视化的重要视觉效果,它有助于观众专注于特定区域并感受沉浸在场景中。在实时应用程序中使用固定的景深焦点值可能会产生不自然的结果。

因此我们编写了一个小型摄像机脚本,它可以自动将焦点设置在相机前面的最近对象上。在Unity中,我们很容易就能通过在场景中投射光线来确定距离最近的对象。

014433pqgd4dvlgojpqpg3

有无景深效果的内部效果变化

重要细节
我们在Unity中使用了Cinemachine来制作“Demo”模式,这是一种使用预设摄像机路径的演示模式,即使没有人和汽车进行交互,也能展示出产品的主要特性。

为了准确地展示汽车,我们提供了一种方法来管理多个不同配置。我们不仅需要在运行时应用中切换变体,还需要在Unity编辑器中进行修改,以确保正确设定了所有变体。为了实现这种效果,我们创建了配置管理脚本,它会记录“场景状态”并提供自动指定汽车材质的功能。

014433zihhh8z4ir8c8qra.jpg.thumb

变体配置逻辑

 

014433lgfpixisvrvr6913

四种不同的内部变体效果

未来展望
开发该项目的经历给予我们使用HDRP的信心,从而能够追求需要更高级别视觉质量的客户项目。

通过使用PiXYZ进行数据准备和Unity最新的渲染,影视和后期处理工具,以及内部的自定义工具和脚本,我们可以高效的制作和部署新项目。

小结
Light & Shadows在雷克萨斯LC500演示视频制作过程中使用HDRP的经验就分享到这里,更多关于Unity在汽车和运输行业的应用信息,请访问:
https://unity.com/solutions/automotive-transportation

更多Unity项目创作经验分享,尽在Unity官方中文论坛(UnityChina.cn)。