撰写了文章 发布于 2016-08-22 18:29:01
[译]西川善司献给3D游戏粉丝的「Love Plus」图形讲座, LovePlus角色的渲染技术
前言
很早以前LP刚火的时候朋友帮翻译的老文,觉得老丢在那还不如发出来,比较死宅粉丝向,拿现在来说其实没啥特别的技术,不过也有不少启发性,当了解一下就好 (不过今天科乐美已经成了玩家眼中的大毒瘤了233)。
场地:KONAMI总公司
本连载,是为让大家聚焦于给予轰动的3D游戏图像而设立的。
本连载到现在为止都是在介绍高端的技术,在PS3和Xbox 360等高端平台已进入了普及期/成熟期的今天,能成为热点讨论话题的机会不断减少。这是由于整体技术水平的提高,虽然很高 兴但也感到有点寂寞。
于是,今后将会把重点落在艺术的崭新表现和独有的处理技术上,正在这时,出现了一个不能不令人注目的作品。
它就是这次介绍的「Love Plus」。「为什么是NDS的作品呢?」有人可能会这样问,把全文 看完,就能够知道本次连载介绍它的理由。4月5日以闪电般的速度推出了iPhone版,6月24日 还推出了最新作「Love Plus+」。在今天的日本,是非常有人气的作品。
而且本文还会包含使全国一部分「Love Plus」粉丝们震撼的影像。具体来说,由于KONAMI 的厚意,将会有3个妹子的多边形数据,线框和骨架数据。在技术情报公开的过程中,还会有间 接的剧透,请多多理解并继续读下去。
【Love Plus的妹子们】
「Love Plus」里登场的3个妹子。被要求“尽量要按照ミノ☆タロー的人设形象来3D 化”
■ 「Love Plus」的妹子是9合体?
「Love Plus」的类型属于恋爱模拟游戏 (KONAMI把它分类到「恋愛交流游戏」),因以男 性为目标用户,如何表现出可爱而有魅力的妹子就变得非常重要
KONAMI Digital Entertainment 实况足球 制作人 田之倉稔先生。 负责游戏引擎的设计开发以及 「Love Plus」的主程序开发了「Love Plus」里将这表现形式赋予到3D图像上。
虽然有着以艺术家描绘的插图来表现妹子,以2D动画来表现角色等传统表现手法,但「Love Plus」中重视角色与玩家间的互动和交流乐趣,对玩家行动作出的应对和变化假如不丰富的话很 快玩家就会觉得无聊。采用表达丰富的3D图像一半是必然的选择。
接下来的问题是,NDS的3D图像能力。DS的3D处理能力比较坑爹。但,在「Love Plus」里登场的妹子们,算不上「写实系」,也不是变体的图标风格,而是实实
在在能动的3D模型。虽然不知道是否符合,也算是有着跟PS2游戏相当质量的3D建模了。
1个妹子的全身多边形大概有5000个。在里面会设置53个骨架,骨架的运动就会产生动画的 演出。贴图是角色的外表和衣服,我们设计成在需要显示3D模型的时候就会把贴图从ROM里读 取到显存中。
【妹子的3D模型】
「Love Plus」的妹子3D模型(上)。一个大概5000个多边形。设置在「Love Plus」妹子中的骨架(下)。3个 妹子共通。裙子和胸部都有骨架
「MGS3」的线框
「Love Plus」中背景作为2D分开处理,因此背景没有多边形数 目。而且,有在同一时间只能表示1个妹子的限制。虽然如此,在 DS的画面上显示5000个多边形构成的3D建模角色也是非常惊人 的。这数字正好是前面说的相当于PS2游戏角色的多边形数。以 KONAMI的游戏举例的话「潜龙谍影3 噬蛇者」中的蛇叔就是 4400个多边形。
DS本应没这样的3D图像能力的。因为以DS的GPU规格,根本不 支持这样的多骨架和大规模3D模型显示。
田之倉先生「没错,以DS的机能是不可能表示这样的一个3D模型 的。因此为了回避这个限制采取了血泪般的工夫(笑)。在画面上虽 然看到的是1个妹子......但实际上是让DS的系统显示9个3D角色」
说出来就是「原来是这样啊」,这是个「哥伦布的鸡蛋」(译者:日本的谚语,意思是即使 是谁都能想到的事情,但是第一个想出来却是很难得的)般的构思。换言之就是把1个5000个 多边形和53个骨架的角色分割表示成复数个3D角色建模。
分割数是9。分为1:头(头发)、2:脸部、3:身体、4:左手掌、5:左手臂、6:右手掌、 7:右手臂、8:左脚、9:右脚。看上去是1个「姉ヶ崎寧々」,实际上表示成是9个姉ヶ崎 寧々部位。
但是看上去就像是1个妹子的3D模型在动。3D角色们的多种动作和表情演出都是动作捕捉 的,当然这是利用“1个人”的动作捕捉的。利用动作数据去控制9个“小”3D角色的时候,坐标系
上的连接关系虽然有点复杂,但这完全不成问题。
松本先生「开发用的DCC工具MAYA中是作为一个整体的3D模型,动作捕捉所得到的动作数据 也是应用在这一个3D模型上。为了使这次的9体分割控制系统能正常运动,我们开发了 exproter(converter),在DS上会以相应的个体数据去控制9个部件,因此这方面完全没问 题」
之所以采用分割数字是固定的9分割规格,而不是动态变化,也是考虑到捕捉到的动作数据能 够简单的分配到9个3D模型上。
KONAMI Digital Entertainment 第2游戏软件内容制作部 程序员 松 本一也先生。负责3D图像引擎的设 计开发。同时作为负责艺术和图形 规格的technical artist工作
上图为妹子左手掌的“小”3D模型。这左手掌在某方面来说,给人以1个3D角色模型的印象。一个妹子实际上是由9 个迷你3D模型合体后的显示图像。下图是一个衣服纹理例。如图,这时妹子的衣服贴图会即时从ROM中读取到显存
■ 独家的4次渲染去打破DS的限制,实现大量多边形的显示
渲染像素就是DS画面像素的256×192。颜色格式也是DS机能的RGB各6bit的26万色。帧速是每秒15帧(15fps)。 基本上3D游戏以30fps~60fps为标准,因此15fps这个数字并不多。但以DS的3D能力来看是一个十分不错的数字了。
田之倉先生「实际上就算5000个多边形的模型分成9部分,DS也不能1次就把整个画面渲染出 来。因此,1帧的画面就分割成4次来处理了。下面举这样做的其中一个理由,『Love Plus』 中动作用到的骨架数多、坐标变换的运算量大」
实际在显示中,经过以下步骤才能完成画面显示。 ・第1步:计算以下显示步骤所需要的动作数据等 ・第2步:计算以下显示步骤所需要的动作数据等& 大约200个多边形的渲染 ・第3步&第4步:计算剩下的动作数据 & 运用全部机能去渲染(大约2000个多边形)
每1步大约消耗1帧的时间(16.7ms的时间),60fps÷4步=15fps...就是这样。3D渲染过程本 身虽然进行了两次,但第一次3D渲染过程生成的帧就已经是半成的帧了(译者:貌似文中把第 2步叫做第1次,第3步和第4部叫做第2次)。
KONAMI Digital Entertainment 第2游戏软件内容制作部 技术管理 鈴木淳先生。负责为开发组提供技 术支持。正为多个项目提供技术面上的支持
【只显示第1~2次渲染结果的截图】
左边是第1次、右边是第2次的渲染结果分别显示的截图。第一次的 渲染大概有200~300个多边形、第2次大概是2000个。由于没对 看不到的多边形进行渲染,所以只渲染了可视范围内的2000~ 2300个左右的多边形
开发初期曾尝试过使用3步骤渲染的20fps,最后还是用了现在的规格。
鈴木先生「我们开发了在复数帧时间中进行多次渲染去得到1帧的程序,经过多次测试,建立了当 前渲染引擎的开发前景。刚好其他公司也开始使用这项技术,我们也有着去实际应用一下的打 算。」
在昔日初代红白机时代,有着非常严格的sprite限制,于是产生了利用时间交替处理使得sprite 倍化的技术,使得红白机的画面表现力得到了巨大的改善,现在的引擎简直就是当时红白机技 术的21世纪3D版啊。
DS的GPU不像近代的GPU,能够同时处理多个渲染对象。DS的GPU反而是更类似于基于2D游 戏机时代的sprite引擎,是把读取到VRAM(显存)中的图像显示出来的基本构造。
DS GPU的3D引擎部分由几何引擎和渲染引擎构成,和近代的GPU比较,前者相当于负责顶点 shader,后者相当于负责pixel shader。为了进行3D图像显示,会把将要显示的3D物体的顶 点信息和多边形列表 (哪个多边形由哪些顶点构成,以列表方式构成的数据)传送到几何引擎的 RAM中。几何引擎把这些数据进行坐标变换并栅格化处理后,交到后面的渲染引擎,渲染引擎会 将对其进行像素绘画。
但是,DS的GPU,相当于渲染目标的color bu er只有1帧,就是全屏幕的1/4,只有 256×48。也就是只实装line bu er的感觉,经过1次的渲染能够描绘的只有48行,就是 256×48的范围,在每个规定的分割显示时间间隔段,会立刻传送到显示用的VRAM中。要描绘 的多边形太多的话,48行的渲染还没完成,line bu er的数据就传送到VRAM中,就产生显示 崩溃的错误了。
相对于color bu er只有256×48,depth bu er只有256×2,其中的内容使用后就会被覆 盖掉,而且在其他软件上也没有能作事先参考的方法。因此DS的GPU架构,将1帧分成多次渲染
绘图是不可能的。
松本先生「对这个我们下了血泪般的努力(笑)。DS的深度信息使用后就没了,也没有复数渲染 目标。还有由于line bu er的概念,本来是不能重复渲染绘图的,但能获取VRAM的内容。因 此「Love Plus」的渲染引擎获取了半完成的帧,并对其再度渲染」
渲染本身和表示bu er是在不同的VRAM区域进行的,前面说到会进行4步骤的渲染。获得第 1次半完成帧的绘图结果,把它当成1幅2D背景图放进VRAM中,在对其进行第2次的绘图。
表示1个3D模型时,会剔除背后不可见的多边形不作渲染,假如采取从视点看去从里侧的多 边形开始渲染的手法,这是行得通的。但是「Love Plus」如前文所述,由5000个多边形构成
的3D妹子模型,是由9分割的“小”3D模型合体而成的。要描绘复数个的3D模型,假如深度测试 做的不够好的话,就会有出现前后关系破绽的可能性。
没有深度测试,为什么却能重复绘画呢。关于这个,我们的应对法是在绘画前事先将绘画顺
序做好排序处理。
先生本氏「虽说是9体的“小”3D模型,但各自都是人体的一部分,“小”3D模型只能在人体运动 范围内作位置运动。手臂和手掌不会陷进到头和身体中,只要事先排序好就能处理了」
这就好比Z-sort,在半透明处理的时候,为了不出现前后关系的矛盾,会从3D模型的里面向 外面按顺序绘画。
在「Love Plus」中,玩家的视点操作是有范围限制的,构成人体的“小”3D模型会被调整到不 会出现前后关系错误,这也是为了不出现重复绘画破绽所下的工夫之一。
另外看着「Love Plus」中妹子的动作,不会因15fps而产生动作粗糙的感觉。
因为不同于一般的动作游戏,女性角色不会在屏幕画面中周围快速走动,而是手足动作、头 和身体等姿势变化为主体,以比较缓和的速度去运动。这不是所有DS游戏都能用到的技术,但 在「Love Plus」的渲染引擎来说是一个非常高明的手法。
■ 光照处理是toon shading调整后的修改版本 「Love Plus」的妹子,既不是写实系,也不是单纯的赛尔动画风格,而 是表现出一种独特的视觉感觉。
由于DS GPU的机能限制,光照的光源只有平行光源,因此只能 对顶点单位的光照结果进行插值,得出的颜色作为像素颜色。因 此在shading方法上相当于Gouraud shading。当然,这也适用 于纹理,但不像近代GPU那样对应多纹理,DS只能对应1层纹理。
薗部先生「实际上光照引擎活用了硬件上预设的toon shading机 能。是把目录化的色码表作为shading结果参照的简单toon
shading。但是,不像普通的toon shading只有阴影的明暗二种值,而是设计了有微妙层次的 色码表」
并不是一开始就决定了「就用这shading吧」,而是为了接近负责概念设计ミノ☆タロー的原 画风格去3D化,以此为目标,不断去试错和调整的结果,得出了制品的风格。
KONAMI Digital Entertainment 第2游戏软件内容制作部 主管,薗部 浩明先生。负责游戏中登场的3D模 型开发和管理,以及游戏内事件的 指挥
【toon shading】
光照是有关平行光源的扩散反射。光照单位是由定点单位决定,像 素颜色则是由线性插值决定。光照方法上来说接近于Gouraud shading
贴上纹理后的截图
附加轮廓线后体现出插画风格的味道
完成画面
线框表示
■ 胸部也能摇!
「Love Plus」的演技动作モーション 「Love Plus」中妹子的演技动作总共约有600个。压缩后也有16MB的容量。这动作数已不是DS游戏的规模了。动作数据是通 过真人演员动作捕捉而取得的。
事件总数约有4000个,由600个动作和44个表情(后述)去设定 妹子的表演。而且这是以旧时的手法——NOTEPAD(记事本)去记 述,所花费的功夫是超乎想像的。
薗部先生「我们设计组听着声优的录音,揣摩着台词,脑里想象 着妹子的动作和表情,从600个动作和44个表情中选出最符合印 象的动作和表情。600个动作当中,有的动作我也不知道是为了表达什么的(笑)。用NOTEPAD 去进行作业是非常艰巨的。但为了在实机上看到角色动作而进行的转换过程最初只是5分钟而 已。这项目不用花太多时间在环境整备上也没什么能发牢骚的了。但硬是要说的话,转换到实 机确认的所需时间改善到1分钟了(笑)」
600个动作中,有的直接播放,有的不播放到最后而在中间插入实时线性插值的连接动作,而 切换到其他动作,从而表现出急剧和起伏的感情变化。因为很难和9体分割控制系统统合一块, 所以在运行时,没有运用到能将复数个动作复合成另外的一个动作的动作混合。具体来说,就 是 跨越“小”3D模型间的顶点混合是非常难实现的。
KONAMI Digital Entertainment 第2游戏软件内容制作部 指挥 石原 明広先生。负责游戏设计的指挥和 工作进程的管理衣服、头发等附属物的运动一开始是预定在运行时采用物理模拟的,但运算负担太大了,所以采用了手工动画。
松本先生「虽然我曾负责设计开发过Wii游戏『Elebits』的物理模拟引擎,并以此为经验去尝 试在DS上应用物理引擎。在初次尝试中,虽然准备和头发多边形数相同的顶点,制作了顶点缓 存和将其传到几何引擎的测试程序,但行不通(笑)」
石原先生「我、松本、薗部和鈴木都是『Elebits』小组的(笑)」
离题说下, 「Elebits」是作为Wii首发的一个KONAMI发售动作游戏。是一个用Wii遥控操纵 光枪去捕获一种叫做Elebits的“恶作剧怪物”游戏,是加入了我们的物理引擎的动机之作。在游 戏中场景内所有的大道具和小道具能互相碰撞和破坏。现在best版以2940日元发售,有兴趣的 人也可以去玩玩看。
基本上身体的骨架就1种类,设计师把它设计成就算放到哪个妹子上也不会出现破绽的动作。 看回在本文开头的画面就能知道,控制裙子摇动的骨架和胸部附近的骨架在设定上都是身体骨 架的一部分。再是头发大体上有3种发型,各有独自的骨架设定。
由动作捕捉的数据去控制身体骨架,进而驱动身体动作,裙子、胸部、头发、其它小饰品的骨架则由手工动画去控制。
石原先生「可能大家会没注意到,妹子们的胸部是在摇的。实际上是把骨架设置进去手工去调 整它的摇动。我和制作人内田明理不喜欢猥亵的乳摇,所以用了非常优雅的乳摇。没在意的人 请留意地看(笑)」
头发、衣服、饰物、胸部等附属物的运动不是物理模拟的,而是以手工动画控制,真是非常艰苦的回忆。实时处理的运算量太大,曾经想过将事先进行物理模拟的结果动作应用到附属物
上的方案,但由于「Love Plus」中妹子的每一个动作时间都不是太长,与其用物理模拟还不如 直接手工处理,这样的工作效率更高。
在短时间动作后,会立刻恢复为待机动作(通常姿勢),要对每一个动作的恢复动作都做到「刚 好长度的动作」,也是直接用手工动画处理会更为方便快捷。
忽然的姿势方向改变,头发和衣服由于动作惯性的原因,产生的延迟运动看上去非常自然,这也是手工动画的功劳。
■ 妹子们脸部表情的秘密
制服前的丝带、高嶺愛花头上的丝带都是以手工动画控制
姉ヶ崎寧々的胸部也设置了骨架,实际上胸部能摇!
小早川凛子经常低头搞mp3播放器的动作是手工动画控制的
动作捕捉者的录影场景 有限会社スターダス・21 奥田優美子
眼球部件。眼球部件除了能生成表情,还能利用于视线移动的制作
虽然「Love Plus」的妹子们脸部不会扭曲、也不会有能使轮廓变形的激变,担有着富有感情 的表情。声优卓越演绎力的语音台词和鲜明的表情融合一起,很好的把妹子的感情变化传递给 玩家。
在DS作品中,有很多应用了甚至可以说是过量的丰富表情,这在「Love Plus」中成为了妹子 们的巨大魅力所在。妹子们的表情表现基本上是由纹理动画来实现的,表情部件由眉、目、 脸、口4种类构成。各部件的组合构成了表情数据库,在运行时,系统会对应脚本调用出合符当 前感情表现的动画。
最终完成的表情数据库中有44种表情。把他们连续运用就能实现多彩的表情变化表现。 眼球动画是视线处理的一个特例部件。特定的动作中,在动作数据里加入了视线移动的信息,
在播放该动作时必定会连带视线的移动。
比如说「低头动作,低头之后会是眼球往上的视线」,这种视线移动在设定上是归属于低头
动作的动作数据中的。
视线表现的眼睛动画部件非常多,最初由于不能全部载入到纹理内存中,所以改为随时从 ROM中读取到纹理内存里,来实现视线动画。
在一般的3D游戏中,有会以向着的视线方向进行坐标变换/旋转,对眼球进行单独的渲染,或 者是为了向着视线方向而合成眼球纹理等的处理手法,「Love Plus」中则没采用这些手法。这 是因为DS GPU的限制,不能合成复数个的层。因此只能事先准备好贴图部件。
还有在待机动作中眼睛四处张望的动作,是由程序方面实时控制的。这是为了作为动作的一
环,和事先制作好的视线运动组合一起的,跟单纯的动画播放不同,表现出了类似实时视线移
动的举动。
【眉、脸、口】
上图是眉和脸的部件。下图是口部件
【丰富的表情表现】
田之倉先生「和玩家并排走的时候,妹子会把视线对着玩家,这是由程序控制视线运动的。视线会相应玩家操作、妹子和屏幕的位置关系实时控制。假如这里是固定动作的话就会很容易显露出规则性了」
以DS游戏的3D人物表现来说, 表情非常丰富 的「Love Plus」妹子关于发型的变化,我们准备了几个假发模型,在适当场合,跟头部模型合成一起,就能实现 妹子的发型改变了。如前面所说,包括头发骨架的所有骨架都是全角色通用的,就是说事先准 备的假发模型能用在3个妹子上。
石原先生「虽然在机能上来说是没问题的,在世界观来说,原则上妹子有着其专有发型。顺便说说,虽然衣服的规格也可以做到全妹子一样,但同样实际上也是设定成各妹子专用的」
■ 以技术力和创新想法去超越硬件机能的「Love Plus」
「Love Plus」的ROM容量约为256MB,选择了在发售当时DS软 件想定的最大容量。
其中最大容量的就是声音数据,占了ROM整体容量的60%以 上。为了收录妹子们的声音数据,几乎占用了各妹子声优整整3个 月。游戏中各妹子能够叫出玩家的名字,那并不是使用语音合 成,而是真正的录音。每个声优大约读了1400个名字,非常的惊 人。在ROM中收录的语音总收录时间大概是21小时。平均每个妹 子收录了约7小时的语音数据。声优们在项目完了后透露的感想 「这游戏的录音是一件比任何大作动画的录音都要辛苦的工 作」。
关于图像, 3D建模、骨架和贴图被统一打包成文件包,其中每 个妹子大约占6MB~7MB。和语音文件比较起来,图像文件给人 相对紧凑的感觉。
在实际开发中,估算了语音的容量,以此制定了整体的结构... 指挥的石原先生如是说。在剩余的容量中塞进了调整容量后的背 景用2D图像,几乎塞满了整个256MB的ROM容量。
关于开发时间,先行版的开发和基础技术的研究时间共2年,实 际制品开发大概用了1年。在DS游戏中,「Love Plus」是一个巨 型项目异例,包含着这么多资源的内容,暂时没有移植到其他游 戏机的预定。
石原先生「我们也不大了解今后的发展方向,在硬件机能上PSP是游刃有余。游戏的界面调整不 成问题。移植到iPhone上也可以。因为iPhone支持两点触控。在市场方面,也有望作为 iPhone App来发行。但是这是个重视语音的游戏,多语言的本地化是极其困难的(笑)」(编辑 注:因本文是在iPhone版发表前写下的,有点暧昧的表现呢)
「Love Plus」这个项目,以「能与游戏机里的妹子进行虚拟恋爱的游戏」而提出、以「能交 互的与妹子们互动」、「在任何时候都能与妹子们见面」等为概念,最能符合的硬件就是DS。 但是游戏规格远远超出了DS的机能。本来应该是把游戏规格调整到适合硬件机能的理论,但是 「Love Plus」项目没这么做,而是用技术力和创新想法去摸索解决方法,实现了我们能够接受 的游戏规格,把内容实装作为目的,这是非常厉害的。
在游戏开发上「吃透硬件性能」,对于开发者来说是一件「很酷」的事情,在这之上的「超 越硬件机能」,从以前来看就是「更加酷」的事情。「Love Plus」就是在这意味上,近年的一 个“很酷”的作品。
(C)2009 Konami Digital Entertainment
系列最新作「Love Plus+」会在6 月24日发售
- KONAMI官网 http://www.konami.jp/
- 「Love Plus」官网 http://www.konami.jp/products/loveplus/
原文: 西川善司の3Dゲームファンのための「ラブプラス」グラフィックス講座 DSの3D能力を超えた5,000ポリゴンキャラクターをレンダリングする技術に迫る
Yoge 1年前
叔音OKATU 1年前
发布