游戏世界里看到的物体,其实大多都是现实世界的模拟,尤其是随着硬件的发展,游戏厂商制作的品质越来越精良,现在游戏做的越来越“真实”,而这个“真实”是离不开现实物理的,所以本文来说一些关于游戏渲染与物理现象的那些事儿。、
先说一个众所周知的物理知识,反射和折射:光由空气射入水面时,入射光线一部分会被反射,一部分会被折射。
OK,那么我们知道了光从一个介质进入另一介质的两个归处。这个规律适用于所有的理想环境(我们举了一个很常见很好理解的例子,但这个情景太理想主义,现实中,水并非是均匀介质,水面也并非平坦无比),现在,让我们用显微镜将世界放大了看,当光线传过空气中的尘埃,水中被搅拌起的泥土时,也会发射折射和反射,那这些本来折射进入水中的光线,有可能在浑浊的水中经过几次反射后又射出水面,这是完全有可能的。那么,当光线照射一块石头或者皮肤的时候,从微观上来讲,也会发生类似的现象,那些本来射入介质内的光子与介质粒子碰撞后射向不同方向的现象,我们把它叫做散射。
现在我们可以知道,入射光线一部分发生反射,一部分发生透射。对于金属导体来说,透射光线完全被吸收,而对于非金属来说,透射光线一部分被吸收,另一部分散射出来。举个很简单的例子,我们小时候经常玩的激光射向手指,可以看到红色光线从手指穿透过来,这被叫做次表面散射(SubSurface Scattering)游戏中经常会用到。
在物理世界中,要遵循能量守恒定律,而光作为一种能量同样也要遵守这个规律,也就是说:入射能量=反射能量+透射能量.
那么,当光线进入一个物体时,我们只要知道反射率,就能知道物体要显示什么颜色,物体的反射率和物体的材质、颜色有关。在物体表面完全平坦时发生的反射被叫做镜面反射,但实际上,大多数平面都不是光学平面,都会有凹凸不平的表面对光线做出不同方向上的反射,像这样的反射,我们称之为漫反射。
物体表面越光滑,镜面反射占比较多,反射就越清晰,能量相对集中,高光处很亮,整体偏暗;反之物体越粗糙,漫反射占比较多,反射也就越模糊,能量相对分散,物体整体显得较亮。
而在微表面理论中,视线垂直于表面时,反射较弱,而当视线非垂直表面时,夹角越小,反射越明显,Fresnel反射就是为了模拟真实世界的这种光学现象。
以上就是常见游戏渲染需要知道的理论,很多公式也都是根据理论而来,后边有空会在游戏中具体实现,今天就讲这么多。(以上图片都是来自网络,侵删)