1 游戏CG技术的挑战

写实的CG影像表现对于增强模拟现实世界的游戏环境中的沉浸感是必不可少的。特别是在高品质游戏制作中,改进图形表现使之成为成为大吸引力点的机会很多,如何做出让玩家第一眼看到就惊讶无比的影像已经成为了一个重要的技术课题。

图1 Agni's Philosophy
图1 Agni's Philosophy
例如,SQUARE ENIX在2012年举办的E3这个世界上最大的游戏展上,公开的《Agni's Philosophy》实时CG技术演示。如图1的截图所示,实时计算影像已经接近电影质量,各公司和各研究机构正在进行各种研究和开发,以进一步提高性能。
在游戏中开发CG技术的困难在于,它必须在每个游戏场景中实现健壮的计算,同时确保有限的计算资源之间的响应。与电影等影视产品不同的是,在游戏中,不仅仅是角色操作和相机操作,包括故事的速度和顺序之类的掌控权通常都留在玩家手中。出于这个原因,无论玩家视角如何,无论玩家进行了什么操作,都必须要能立即显示高品质的图像。
此外,游戏制作所需的金钱和时间成本随着每一代硬件产品而呈指数级增长,尤其是处理60fps全高清视频的高品质游戏时, 为了避免在屏幕上出现锯齿,必须要生成高精度的多边形模型,纹理,动画等,这是造成开发周期延长和成本增加的原因之一。减少数据制作所需成本是各公司的共同课题, 给予依赖于设计经验的传统工作流程以技术支持,或是能够全自动生成一些数据的系统也已经被开发出来。
本文介绍了几种应用于游戏的CG技术。首先,我们描述被称为实时全局光照(Global Illumination)的渲染技术。接下来,我将从物理模拟开始到统计分析方法的引入为止,总结CG动画技术的最新发展趋势。最后,我们介绍一种称为程序技术(Procedural Technologies),可动态生成游戏实时处理的数据的最新技术,并总结今后的展望。

2 写实渲染的挑战

2.1 图形硬件的应用

在当前的游戏图像表示中,通过利用称为GPU(图形处理单元)专用于3D图形处理的并行计算单元已经开发了用于实时可编程地渲染CG场景的技术。在传统的CG系统 ,CG是利用硬件固有机能计算出来的,但是在GPU中,开发人员可以自由地编程控制绘图功能。尤其3D对象的质感表现依靠着GPU的登场得到了飞速发展。例如,为了再现人体皮肤的纹理,也在使用诸如在皮肤内模拟漫反射光的技术。

2.2 基于即时辐射度技术(Instant Radiosity)的实时全局光照

在此之前的技术中,确定对象颜色的时候,只处理从光源直接入射的光线。即不考虑来自其它物体的反射光和物体内部的透射光的影响。而用于模拟这些对象之间的光的相互反射和传播的技术被称为全局光照(GI)。为了实现精确的GI,需要模拟光传播的各种路径,其计算量通常很大。例如,以追踪方法和光子映射方法为代表的典型算法,为了得到物理上精确的结果,渲染一张静态画需要几秒到几个小时的计算时间。因此,GI限于应用于诸如电影等视频作品。然而,在近年来的高品质游戏中,GI和类似技术的引入变得不可或缺。出于这个原因,适合于游戏机的有限计算资源,特别是GPU计算体系结构的近似算法的正在持续不断的开发。
图3 使用立即辐射度的实时全局照明
图3 使用立即辐射度的实时全局照明
在这种情况下,即时辐射度技术作为一种可以在游戏中得到实际应用的技术而受到关注。在即时辐射度技术中,如图2所示,在场景中放置一个接近物体表面反射间接光的颜色和强度的虚拟点光源,并且在渲染计算时,除了实际光源以外,还需要来自所有虚拟点光源的直接入射光进行对象的颜色计算。例如,通过在红色物体附近放置发射红光的虚拟点光源,近似模拟来自对象的反射光。一旦确定了虚拟点光源的亮度,颜色和排列,剩下的渲染过程就可以在一般的GPU计算管线上执行,因此它与现有的硬件兼容。而且,通过调整虚拟点光源的数量,可以容易地权衡计算速度和质量进行优化。图3显示了基于立即辐射度技术在GPU中实装的实时GI渲染结果,这表明即使使用现有的硬件配置,也可以获得足够高质量的影像。如上所述,即时辐射度技术具有优良的特性,因此预计可应用于次时代游戏。

3 动画技术的发展

伴随着纹理表现对GPU的使用和GI技术的发展,背景影像和场景纹理变得难以与现实区分。但是,如果角色像机器人或玩偶一样移动,整个影像的质量反而会使游戏的世界观崩塌。因此近年来,游戏场景的构成对象,特别是模仿人类模型角色的动画控制技术成了瞩目的焦点。

3.1 使用数据交换和转换的经典技术

在游戏中的传统动画技术中,通过在短时间切换数据进行回放,生成对应玩家操作的一系列动画。在许多高品质游戏中,会通过动作捕捉设备进行三维测量,以创建高度逼真的动画数据。
然而,在简单地再现记录数据的技术中,可以在游戏中呈现的动画变化是有限的。在游戏中,多次重复显示相同的动作,重复播放相同的动画,会降低玩家的兴致。此外,影像要展示足够的说服力,显示与地形和环境相适应的动画是不可或缺的。简而言之,我们需要一种技术,它能高速生成与游戏进行时对应而且变化丰富的动画。

3.2 物理仿真的应用

物理仿真技术正在被广泛使用于具有表现力的动画计算技术中。例如,基于物理定律来模拟包括毛发和衣服等物件、水和烟等流体、物体破坏等行为在内的对象,可以在不预先准备动画数据的情况下再现真实对象的行为。
除了提高视频质量外,物理仿真还有诸多与游戏设计直接相关的作品发布,展示了其广泛的适用性。
另一方面,由设计师指导物理仿真往往是一项非常困难的任务,例如,当制作长发在风中卷起的动画时,需要考虑如何指导诸如控制头发剪影形状等细节来反映角色的感觉和场景的意图。虽然为了在物理仿真中获得所需的结果,不可能改变头发的运动方程,但是许多参数,例如头发的材料和风的强度等,必须以反复试验的方式进行调整。
而且,利用当前的技术,几乎不可能模拟角色的活跃行为。例如,角色丧失心智倒下的样子确实可以根据诸如重力的物理定律来计算得到,但即使在最单纯的行走运动中,也无法建立能够完全描述主动人体运动的数学模型。此外,如果将性别,个性,情感等不确定因素包含进去,则人体运动仿真将会是一个完全未知的领域。
针对这些问题,引入人体运动的测量数据以便提高物理仿真质量,以及通过先进的优化,使设计师得以进行仿真设计的技术都在研究中。这其中许多仍处于学术研究的阶段,但如果实现更强大和更有效的算法,它将可以很好地应用于游戏中。

3.3 应用统计处理的动画合成

随着动作捕捉技术的普及,可以轻松测量大量的三维人体运动数据。通过对大量运动数据进行统计分析,实时生成自然的动画的技术得到了广泛的发展。例如,应用贝叶斯统计量在保持动画的统计性质的同时进行数据压缩,高速搜索相似动作自动生成满足任意约束条件数据等等,这些方法已经得到了广泛的应用。
特别地,作为近年来游戏产品中实用化程度不断提高的技术,运用散射数据插值方法的动画生成技术不断得到发展。在该技术中,通过使用表示运动特性的少量控制参数,达到计算多个动画数据加权插值的目的。例如,对以不同的速度和行进方向行走动画进行插值时,不必直接操纵加权百分比,而是在满足指定速度和指定方向的前提下进行最优化统计,来间接控制动画。
图4 使用散射数据插值生成非平坦地形行走动画
图4 使用散射数据插值生成非平坦地形行走动画
在图4的示例中,使用在不同高度的台阶上的行走动画简单数据,基于在角色的行进路线上检测到的地形来应用散射数据插值,可以做到实时计算任意非平坦地形上的行走动画。

4 对程序技术的期望

为了减少用人工制作数据的成本,统称为程序技术的技术群被给予了很高的期待。它指的是基于一些程序计算算法,动态计算游戏场景构成数据的一般方法。例如,被称为程序噪音的技术,是通过操作二维傅立叶级数参数,生成各种类噪声纹理图像。此外,傅立叶级数在合成周期性物体动画合成和效果音合成等领域得到了广泛利用。另外,植物的枝条分叉形态已知可以通过被称为L-系统的简单语法规则来记述,该技术已被应用于动态生成森林和草原场景。这样,经典的程序技术方法,通过调整相对简单的数学模型参数,获可以得生成无穷变化对象的方法。近年来,已经开发了一种从对象数据上获取特有背景知识和少许简单数据,就能够在保持计算自由度的同时进行更高质量数据合成的方法。
举一个形状建模的例子,最新的GPU都配备了被称为镶嵌单元的功能,他可以程序化地操控多边形的位置和数量,而这些多边形构成了3D对象。通过使用镶嵌单元,设计者不需要事先制作所有对象的形状数据,根据给定的算法动态计算,通过操作少许参数,就可以生成出丰富的变化。如图5所示怪兽角色,设计者在制作过程中事先合成少许几乎没有波动的、低分辨率的模型,在游戏实时运行时增删多边形数量的同时,通过程序将详细的凹凸形状添加到物体表面。此外,仅在角色放缩的时候对多边形进行细致分割等,可以实时优化计算量与质量之间的权衡。目前的技术,很多的详细的形状信息仍然由高级设计师手动设定,但我们认为它会向前发展,变成可以基于任何数学模型和规则的自动生成机制。

5 技术元素和游戏引擎的进步

如以上所述,游戏CG的技术要素组成是非常复杂的,每个技术都需要相关的深度专业知识。事实上,在海外的游戏制作现场,活跃着很多获得计算机科学博士学位的计算机人才,技术的精锐化变得越来越受欢迎。在另一方面,一般的制作者学习技术变得越来越困难,即便对于与游戏的基本乐趣无关的部分也是如此,被迫付出巨大成本的情况时有发生。基于这些情况,人们开发出了许多称为游戏中间件和游戏引擎的制作平台。游戏引擎是一个集成开发环境,可以轻松处理复杂的游戏技术,通过充分利用它们,制作人可以专注于游戏设计和故事等内容制作。

6 将来的展望

直到目前为,大多数游戏CG技术都被几年前的离线技术所主导,它们通过硬件的进化和高速化近似手法实现实时计算。因此,通过观看当前的CG视频作品,将能够在一定程度上预测未来游戏CG的姿态。另一方面,游戏是一个直到最后都由玩家操作进行干预的交互式应用程序,即使在游戏CG中,玩家的操作体验也是很重要的。例如,考虑角色全身浸在水中,衣服被浸湿而变得难以移动的游戏设计。这个时候,如果能适当的表现出湿润的头发和衣服的质感,那么游戏设计将给与人很强的说服力。换句话说,游戏CG是支持游戏设计的一个要素,也被认为是今后制作者扩展自由度,进一步激发新的游戏设计的发展方向。其中,特别是以程序技术为代表的实时数据生成技术和物理仿真技术,可以成为游戏空间和玩家达到高度交互的基础,有待今后的进一步研究和开发。

最后修改:2018 年 07 月 04 日 11 : 10 PM
如果觉得我的文章对你有用,请随意赞赏