模型

在编辑器中还原美术效果

image.png

背景

Galacean 引擎目前有 3 种方式调试材质:

  1. 通过代码修改材质属性,参考教程

  2. 通过 Galacean Editor 可视化调试,参考教程

  3. 通过 3D 建模软件调好后导出 glTF

前两种方式直接使用引擎渲染,所见即所得,没有视觉上的差异。

但是设计师一般会使用第 3 种方式,即在 C4D、Blender 等建模软件中调好了视觉效果,然后导出到引擎中进行预览,发现渲染结果不一致,甚至有很大的偏差,主要原因在于:

  • 不同软件的渲染算法不同。

  • 光照不一样。

  • 部分资产无法导出到 glTF 文件。

针对造成差异的这些原因,可以通过以下方法来获取最大程度的视觉还原度:

  • 通过烘焙贴图,导出 Unlit 材质到引擎

  • 使用相同的环境贴图(一般为 HDRI 文件)、直接光照等变量。

  • 在建模软件中只调试可以导出到 glTF 的属性和资产。

如果你也遇到了上述问题,可以先参考本教程,找到具体的原因,然后再参照相应的解决方法。如果还是无法解决问题,可以联系我们团队,我们会不断改进本教程。

原因

渲染算法差异

目前在实时渲染领域应用的最多的是 PBR 算法,拥有能量守恒、物理正确、易操作等优点,但是不同软件的具体实现算法是不一样的,使得渲染结果也不一样。Galacean 使用的是 Cook-Torrance BRDF 反射率方程,并针对移动端做了优化。

值得一提的是,虽然算法不同会造成一定的视觉差异,但是其物理规律还是一致的。比如,金属度越大,环境反射越强,漫反射越弱;粗糙度越大,环境反射越模糊,如下图:

image.png

光照差异

跟现实世界一样,3D 场景也可以添加直接光与环境光。Galacean 场景中默认是没有光源的,只有一个偏向蓝色的纯色漫反射,如下图左一;而很多建模软件中是自带光源的:

image.png

环境光基于 立方纹理 开启 IBL 模式,需要绑定一张 HDRI 贴图用来模拟周边环境,可以从网上下载。Galacean 场景中默认是没有绑定 HDRI 贴图的,而很多建模软件是自带了一张比较好看的周边环境的:

image.png

glTF 支持度差异

Galacean 引擎和建模软件的连通渠道是 glTF 文件。glTF 支持标准的 PBR 属性通用材质属性,并支持 ClearCoat 等插件,如下图。因此建模软件中的操作只要能导出到 glTF,引擎都能通过加载器加载,而那些额外的操作,比如 vRay 材质的一些参数,是无法导出到 glTF 文件的。

image.png

image.png

解决方法

保证视觉还原度的首要前提是在同一个场景下调试材质,即相同的光照,相同的环境光等等,然后再选择实时渲染方案或者是烘焙方案。

统一光照

  • 直接光

前面说到,引擎默认不带直接光,那么保持还原度最简单的方法,就是删除建模软件中的灯光,保证建模软件和 Galacean 引擎中都只有环境光(性能最好)。

image.png

如果某些场景确实需要添加直接光,那么请保证建模软件可以导出 glTF 灯光插件 (Google 搜索关键词 "**** 建模软件 KHR_lights_punctual" ),比如 Blender 导出 glTF 的时候勾选上 **Punctual Lights。**

image.png

如果建模软件不支持导出该光照插件,可以中转到 Blender 进行导出,或者和开发人员口头描述一下光照数据。

  • 环境光

前面说到,引擎默认不带环境贴图,即 HDRI 贴图,但是建模软件一般都是自带的,比如 Blender:

image.png

我们可以先从网上下载喜欢的 HDRI 图片,然后在建模软件中进行调试,觉得满意后,将该最终 HDRI 交付给开发人员(因为 glTF 不支持导出 HDR)。

在建模软件中绑定环境贴图的方法很简单,可以 Google 搜索关键词 "*** 建模软件 environment IBL" ,拿 Blender 举例:

image.png

实时渲染方案

  • 渲染方案

统一光照之后,我们就可以选择渲染方案了,如果你希望材质受到光照影响,能够实时光影交互,或者有一些透明、折射方面的需求,那么你应该选择实时渲染方案,即引擎的 PBR 方案。

  • 调试材质

前面说到 Galacean PBR 使用的是 Cook-Torrance BRDF 反射率方程,在 Blender 中比较接近的是 Principled BSDF - GGX 算法:

image.png

可以通过 Blender 官网教程参考如何调试可以导出到 glTF 的材质参数,其他建模软件同理,可以 Google 搜索关键词 “*** 建模软件 export glTF”。

还有一个比较简便的参考方式,就是在建模软件里面导入 glTF demo(点击下载),这个 demo 里面的 PBR 属性比较全面,可以参考着调试,比如 Blender 导入后,材质面板显示如下:

image.png

  • 校验导出

导出 glTF 后,可以将文件拖拽到 glTF 查看器 中,查看相应的颜色、纹理、参数等是否正确:

image.png

烘焙方案

不同于实时渲染,如果你的渲染场景完全静态,不需要光影交互,不需要要折射、透明等效果,那么使用烘焙方案会更加满足你的艺术创作,因为烘焙方案可以无视上文说的光照、glTF 支持度等问题;可以放心地使用建模软件的自带渲染器,vRay 等强大插件,最后通过烘焙贴图,导出到 glTF Unlit 插件

我们针对烘焙方案也提供了几篇教程,你也可以通过 Google 搜索“*** 建模软件 烘焙 KHR_materials_unlit” 等关键词学习更多细节:

Galacean 预览插件(规划中)

我们后期还会投入插件开发人员,在各种建模软件中内置 Galacean 预览插件,保证所见即所得,省去 glTF 文件校验等步骤。

最后更新于 七月 11, 2024

这篇文档对您有帮助吗?