《战神4》中的图形学技术——风场和植被交互系统
简单的风力与植被交互系统
一些基础教程通过自定义顶点着色器实现对植被面片模型的顶点扰动。简单的方法是根据时间对一张噪声纹理进行位移和缩放上的变化。依据遮罩纹理限制顶点变化值,再将变化值附加到原先的顶点位置上,从而实现植被的随风摆动效果。
至于与植被的交互则是需要记录玩家的行动轨迹Render Texture,根据Render Texture的信息对周围植被做出响应。
当然这只是简单的植被材质的实现。在此基础上可以做到更为复杂且看起来真实的效果。但是仅仅简单的方法不能满足角色挥砍武器等动作与植被的交互。同时这种实现方法的植被很容易就会感到重复,为玩家带来的代入感就会降低。
《战神4》中的风力与植被交互系统
风场的表达
结合上面提到的植被交互系统的优缺点,《战神4》制作组提出了明确的目标,需要清晰展现随时空变化风力的变化以及玩家交互。
在深入探讨如何表达风前,我们需要对风有更加深刻的认识。风可以看作一个场,这个场将位置映射到风力,风力自然是有大小和方向的矢量,且这个矢量会随着时间和空间变化。从最直观感受上看,生活中同一个位置的不同时刻风的方向和强弱均在发生变化,而同一时刻的不同位置风力自然 ...
《战神4》中的图形学技术——全局光照
全局光照技术
全局光照的定义
全局光照(Global Illumination,GI)或称间接光照(Indirect Illumination)。GI可以分为直接光照和间接光照两部分,通常要考虑直接受到光源照射的能量和反射光源产生的能量的总和。
为了更好理解和分析《战神》中的全局光照技术,下面先介绍一下GI的技术发展路线。
全局光照的技术发展路线
在光栅化渲染管线中,我们需要将场景中的模型数据准备好后输入顶点着色器中,经过细分曲面着色器、几何着色器、光栅化、片元着色器等操作拿到输出图像。这一过程中并不涉及间接光照。直到光线追踪技术的出现。
光线追踪的思想本质就是从屏幕投射一条光线,光线会经过不断的反射、折射直到打到光源,对物体的着色就是在这一过程中不断积分能量并计算渲染方程。
光线投射(Ray Casting)
光线投射由Arthur Appel在一篇名为《 Some techniques for shading machine rendering of solids》中提出。这是光线追踪的第一步,需要将屏幕空间转换到世界坐标下,然后以每个像素为起点向场景中发射一条光线,并根据与光线相 ...
