屏幕空间次表面散射
概述
本文介绍了如何使用虚幻引擎3中的次表面散射。"次表面散射"是指光线透过物体表面,从物体内部散射出来,从不同的位置射出。
UE3实现的次表面散射是一种屏幕空间特效,它把入射到物体表面的光线模糊到表面附近其它点上。模糊基于入射点到出射点之间的世界空间距离衰减光照,从而模拟物体内部吸收光线的效果。
该模拟足以使我们把材质看成皮肤,但是并没有处理光线从不可见表面完全散射穿过物体的现象。
启用SSS
要想使用次表面散射,您必须在DirectX11模式下运行UE3。
另外,您必须在您游戏的engine INI文件中启用次表面散射功能。在 [SystemSettings] 部分找到AllowSubsurfaceScattering项,并设置它为True。
SSS材质参数
要想向材质添加次表面散射,您需要设置它的EnableSubsurfaceScattering属性为True:
另外,您需要提供SubsurfaceInscatteringColor、SubsurfaceAbsorptionColor和SubsurfaceScatteringRadius材质参数的值:
SubsurfaceInscatteringColor(次表面内散射颜色)
内散射颜色是用于在光线入射到物体处调制该光线的颜色。这对于控制次表面散射的总量和颜色是有用的。
内散射颜色由绿变红的示例:
SubsurfaceAbsorptionColor(次表面吸收色)
吸收颜色是光线已经到达散射半径后仍然保留的颜色。从入射点到散射半径处,光线颜色按照指数型衰减由白色变为吸收色。
和内散射颜色不同,吸收色在光线射出物体处进行计算。
吸收色由绿变红的示例:
SubsurfaceScatteringRadius(次表面散射半径)
散射半径定义了光线在完全被吸收前可以穿越物体的最大距离,按世界单位计算。
和吸收色一样,它是在光线射出物体的地方进行计算。
在水平方向变化的散射半径的示例:
内容示例
以下图片是创建角色皮肤材质所使用的次表面散射的基本示例。您将注意到有一个漫反射贴图,它用于phong漫反射且该漫发射贴图经过颜色调制,以便创建内散射颜色。有一个独立的贴图用于吸收颜色。创建漂亮的皮肤效果的技巧是平衡phong和次表面的光照分布多少。太多的次表面效果将会产生闪光的或胶状物的外观效果,而太多的phong光照将会导致角色呈现出过于干枯、锐化的外观效果。
Important!
You are viewing documentation for the Unreal Development Kit (UDK).
If you are looking for the Unreal Engine 4 documentation, please visit the Unreal Engine 4 Documentation site.