如何渲染出逼真的透明表面?3D玻璃渲染简介
如何在3D软件中制作一个透明材质?你可能会想的很简单:将材质的透明度滑块直接设置到100%不就行了?但你会发现它看起来一点也不像玻璃,这是为什么呢?

实际上,透明材料是3D建模中最复杂的材质类型之一,与之相关的影响参数非常之多。这包括物体的厚度、材料的弯曲方式、模拟材质的化学成分(这决定了玻璃、钻石、油或水在设置上的区别)等,具体表现为一系列相关数值,而每一个你都需要弄清楚。
透明材料和其他材料一样,非常依赖电脑的渲染计算能力,而如今的计算机越来越强大,已经逐渐对处理透明材料有了一定能力。如今,透明材料可以通过特定的参数设定,被渲染引擎比较好的渲染。
在这篇教程中,我们将讲解和透明材料相关的几个参数,这些将是十分值得学习的。如果你希望进行透明材料的建模,学习一些理论是必要的,比如理解实心玻璃球和空心玻璃球在相同灯光条件下的表现为何不同。你可以先思考一下:空心玻璃球有两层薄壁,这导致了什么区别?
随着3D技术的进步,你应该学会尽量让3D物体的渲染效果接近真实的材料,这对效果图创建等工作来说是必要的。而在效果图中,透明物体也是非常重要的。
话不再多说,我们开始吧!
01 折射率

折射率通常简称为IOR(Index of Refraction),每种材料的折射率是不同的。折射率决定了光线如何通过材料内部,因此会影响我们看到的(或相机镜头中的)透明材料后放的物体形变。IOR在数学上是被精确定义的,比如,在把IOR设置为1.5的时候,(其他数值设定正确的情况下)大多数渲染引擎的渲染结果都会比较接近现实世界中的玻璃。随着如今PBR材质系统(如今广泛应用于3D的材质类型,在3D游戏引擎中非常常见)的广泛应用,IOR和反射率往往具有很高的相关性。
02 空心玻璃球和实心玻璃球

厚度是透明材料很重要的参数之一,因为厚度决定了光线在材料里通过的路程,也就决定了材料能对光线造成多少影响。请注意,并非所有的透明材料都是实心的,像是电灯泡、气泡、相机镜头等实际都是透明薄片。这类材料才建模时也会被用薄片表现,引擎对玻璃薄壁会有一定的渲染能力。
03 透明度

透明度和光线的折射质量,取决于物体的规模大小(我们假定渲染引擎在物理上是足够准确的)。举例来说,一个高达2m的大玻璃杯,表现出的折射和反射效果会和正常尺寸的玻璃杯大不相同。因此,你有必要确保自己建模的物体在正确的尺寸下,否则像玻璃杯这样的物体可能会显得非常奇怪。
04 色散

另一个对透明物体的真实感影响较大的参数是色散,注意不是所有3D软件都提供散射率调整的。从实质上讲,色散指的是某种化学材质的物体会分解光波,让不同波长的光波分离开来。这个参数可以体现玻璃杯和水晶杯的差异,也是体现肥皂泡彩虹效果的好方法。
How to render realistic transparent surfaces