我们是如何做到的
追逐》介绍了一幅未来派风景画,两位主人公骑着克服重力的悬浮自行车在画中穿行。他们不顾一切、令人兴奋的旅程暗示着更深层次的冲突和激情。
下面是我们如何将其变为现实的过程。
角色
极致的人物细节
与所有人物驱动型故事一样,细节决定成败。因此,我们为每个角色设计了多达 40,000 个顶点。即使按照当前一代游戏机和 PC 游戏的标准,这也是一个非常高的角色多边形数量。每个角色的面部和身体都有多个 2048x2048 贴图,包括肤色、反射率、法线贴图等。
逼真的皮肤
你注意到人物的皮肤了吗?我们采用了次表面散射(SSS)皮肤着色器,在屏幕空间中模糊了进入的光照,这一过程也被称为屏幕空间扩散,从而实现了超凡的逼真度。我们从《蝴蝶效应》中学到了很多东西,并针对移动 GPU 进行了优化。
在计算动态物体的照明时,我们考虑到了能量守恒和菲涅尔效应,并对皮肤和金属的镜面反射成分使用了贝克曼分布。
为了使悬浮车的金属漆和其他反光表面更有光泽,我们对蒙皮系统进行了改装,使其适用于低扩散材料。
我们没有使用全屏幕后期处理来实现绽放,而是采用了屏幕空间扩散方法,并在皮肤着色器中直接评估了扩散皮肤组件的绽放效果。这样,我们就能以最低的成本达到预期效果。
光照
线性空间照明近似值
几乎所有现代游戏机或 PC 游戏都会进行伽玛校正,但许多移动 GPU 仍然不支持自动伽玛校正(sRGB)读写。为了模拟 sRGB,我们使用了 2 的伽玛值,这样就可以使用平方(与自身相乘)和平方根运算,这比计算 2.2 的幂要快得多。我们只校正了皮肤像素和关键的皮肤着色第三道工序。
大气散射
我们制作这个演示的部分目的是为了说明移动平台上的背景墙可以给人留下多么深刻的印象。为此,我们决定采用移动友好型大气散射系统,而不仅仅是使用传统的距离雾。我们考虑到与太阳的角度和与物体的距离,模拟了空气中的散射。因此,"大通 "可以提供一个非常宽广和开阔的观测环境,可见物体距离摄像机最远可达 4 公里。
新的镜头耀斑系统
使用多层照明弹可以实现各种效果,例如
- 变形现象:由于镜头的变形形状,耀斑在水平或垂直轴上移动。
- 内阴影:由于云台内部遮挡或镜头反射率不均匀,照明弹的强度被部分削弱。
- 漏光:耀斑的几何图形在屏幕边缘被拉伸,以模拟画面外非常明亮的光源。
大通》的背景设定在一个虚幻而遥远的未来,但创作它所使用的技术在此时此地却可以实现。如果您刚开始做移动开发人员,并想了解如何为您的移动游戏带来高端图形,我们的《移动优化实用指南》就是您的起点。
谷歌在其 Nexus7 / OpenGL ES 3.0 发布会上使用了 "The Chase",并在 SIGGRAPH 2013 演示片段中得到了广泛展示和赞誉。