EPIC《无尽之剑》分享美术制作经验

互联网 | 编辑: 2012-05-16 10:10:22 返回原文

5月15日英佩游戏与91、DeNA在上海举办《无尽之剑》分享会,Epic公司全球运营总监John T.Farnsworth、及《无尽之剑》开发团队高级美术师Nathan Trewartha参加了此次会议,并作了主题演讲,以下为Nathan Trewartha分享的有关Infinity Blade项目的美术制作经验。

5月15日英佩游戏与91、DeNA在上海举办《无尽之剑》分享会,Epic公司全球运营总监John T.Farnsworth、及《无尽之剑》开发团队高级美术师Nathan Trewartha参加了此次会议,并作了主题演讲,以下为Nathan Trewartha分享的有关Infinity Blade项目的美术制作经验。

Nathan Trewartha的现场演讲给gamelook留下最深印象的是:

1)游戏设计方法的中外差异,Infinity Blade的游戏创意来自所有团队成员的头脑风暴,这不仅体现在初期也在整个项目过程中,这或许是小团队开发的特点,同时频繁的项目沟通,能够确保团队成员的步调一致。而在国内,项目的创意往往是主策或者为数不多的人说了算。

2)虽然团队小,但是成员都很资深,包括演讲者Nathan Trewartha也有12年的从业经验,CHAIR作为EPIC旗下工作室,对Unreal引擎的了解是非常全面的。

3)UDK虽然针对移动平台开发,但是在Infinity Blade开发的初期,其实一些功能也不是全面的,这在游戏的美术方面更为明显,为了增强游戏的画面效果,往往使用了游戏业惯例的“土办法”和“障眼法”,而采用手绘来增强,实际上效果显着。并且能有效降低硬件的性能要求。而UDK之后则在不断完善对移动平台的支持。

4)CHAIR团队虽小,但同样使用了外包资源,一些初期实验、以及概念设计由CHAIR团队自己完成,而大量的美术则由外包完成,所以说明面上的10人半年开发,实际上参与这个项目的人员是超过10人的。

以下为演讲实录:

我的演讲主要介绍CHAIR工作室如何使用UE来完成这款游戏的美术部分。在美国有很多的开发者都在问我们如何做到Infinity Blade这样的美术质量。事实上CHAIR的整个团队都非常的资深,最初这个Team只有6个程序人员,不过有的人已经在这个行业有10多年的工作经验,而我最初是在Glyphx公司工作,并且Glyphx公司的项目采取了unreal引擎,这对我后面在CHAIR的工作帮助很大。

因为CHAIR工作室的成员非常少,因此开发人员常常要身兼数职,因此需要大家来一起来完成美术工作也是“家常便饭”,CHAIR的第一个产品并不是Infinity Blade,而是undertow,第二款游戏则是Shadow Complex,这两款游戏也非常成功,曾经获得了年度的奖项。

在我们的团队创意过程中,通常采用“头脑风暴”的办法,我们在2周之内就有了60个idea可以去挑选,之后挑选出了最棒的3个,这3个idea中,除了undertow之外、就是shadow complex。这是项目最初找到idea最好的方式。我在这两个项目中,不仅当作美术,也作为关卡设计。而在Infinity Blade这个项目中,我主要负责游戏整个的世界设计及美术。

因为团队很小,所以需要快速的开发游戏,我们在开始的时候不会写很长的文档。Infinity Blade整个游戏的概念设计是最初的10个人一起来想的,会做很多的头脑风暴。在没有具体的策划文档的时候,已经通过头脑风暴明确了游戏长什么样。在最初的会议中,需要决定游戏的优势是什么,哪些是要呈现给玩家的。

游戏最初的设计不需要做太多的美术及模型,最重要的是把游戏的核心的gameplay做出来。需要最快的做决定,哪些关卡、内容需要保留,哪些需要砍掉。

这张图是无尽之剑的世界地图,在一开始,它可以让团队全部成员知道游戏世界是怎样的,之后会尽快搭建起来,而左上角的部分,我们最终去掉了。

这是《Infinity Blade 2》的一张简单的关卡设计的草图,它非常的简单、但说明了游戏框架的概念,圆圈的部分代表的是有战斗,三角形就是有BOSS战,有了这个草图,美术设计人员、关卡设计和整个team对游戏整体都有了概念。每个人看到这张图就能明白自己要做什么工作。

接下来,我们介绍Infinity Blade的美术素材是如果制作的,我们把非常简单的材质放到模型上就可以了,这张图就是刚才演示的平面图中的一部分,不过,这部分的设计在很早的讨论中就被舍弃了。而这张图则是之后保留的部分完成后的最终效果。

谈下UDK中,如何实现光照效果:

通常我们会使用一个directional light来模拟太阳光,室内光一般用点光源,对于角色的光照会用平行光和点光源来组合。Infinity Blade游戏中,通常只出现2个角色,所以我们会使用一个通道对准玩家角色,另一个通道来对准“敌人”的角色。

我们的引擎程序,基本是4种banked 光照方式

1)全局光 2) ambient coclusion 3) bakedin normal maps 4) custom painted details

虚幻引擎最大的优势是将以上这4点实现后,环境光照非常的棒。

最左边的是一张light map,之后拿来当作photoshop上的一层,这样就可以看到每个块砖头。第二张图是在ps中画的房子的贴图,第三张图,就是用手绘的话,就可以得到一个normal map。

这张图演示的是,在阴影部分实际上是难以看清楚的,有锯齿,在UDK中,把这个map取出,并且跟物体上的贴图来组合在一起,然后再放回最终的画面,然后用手工的方式把阴影去掉,从而没有锯齿,因此在编辑器中贴图效果就更好。而且还带来更好的性能。

现在看到的一张图是只有投影的效果,除了有投影外,还有normalmap的效果,这是之后增加了手绘之后的效果。。。(说到很多的效果的合成,用到了一些手绘的方式)。手绘的加入,可以打破画面的单调感。

在unreal上要制作移动游戏,要用到之前其他平台的一些老办法,这些方法在iOS也同样适合。

为了实现反射效果,采取的是镜像翻转,来实现。

在材质中,有一个平移贴图的方式,来做出一些特殊的效果。

为了节省系统的性能,增加了很多的cards来制作背景画面。

在材质中,用顶点动画的方式,来实现动画效果。

使用cards来做投影,然后贴到模型上,来实现阴影的效果。

这是一个很有趣的动画效果,左侧是一些小鱼,实际上,是用的鱼的贴图在一个条状物件上,然后让贴图移动,从而实现鱼在游的效果,并不是鱼在动。

游戏中树的摇晃的效果,用的顶点图的方式来控制树的摇晃。

这张是使用画背景图的方式来模拟效果,在这张图中,建筑物实际上都是“片图”,而不是模型。

这张图,是用图来模拟树的阴影的效果。

下面讲下游戏的角色的优化:

基于顶点的高光效果,其实效果并不是很好,在角色上,用了逐像素的方法来实现,用了diffuse RGB的方式来节省内存。

然后角色身上,使用了Unreal的技术,banked GI。

在游戏中,只会一次出现2个角色,每个游戏的面数并不会很多,但使用了非常大的贴图,即使是ios也使用了2048的贴图,3000顶点。

为了有更好的性能,每个顶点有2个骨骼权重。

每个角色运行时,只有一个draw call,材质id只有一个。

无论是玩家、角色还是怪物的贴图,都会match成一张贴图。

这是5200个verts及3600 verts的顶点的模型,基本看不出差别。

下面说一下优化的技巧。

减少场景中物件的数量,会进行一些合并。在《Infinity Blade》及《Infinity Blade2》中,这些合并的工作都是手工来完成的,现在的Unreal工具中增加了新的工具来自动完成,会更快。

如果更加激进的优化则是,更远的场景彻底不画,比如远处的哪些树。

unreal引擎可以自动监测,玩家的游戏设备是哪一款。

在不同的设备上,就是切换材质,高端机器上用更好的材质,低端机器上用更低的材质。

关于美术外包

CHAIR本身只有一个4人的美术团队,建模和贴图都是外包的,贴图等的优化工作都是拿回来自己做的,当然也会告诉外包团队需要的标准,也会告诉他们如何进行优化。刚才大家看到的原型的测试,由我自己来完成,我做完这些非常基础的工作后,会发给外包团队。

最后,如果没有unreal引擎,我们这么小的team是无法完成这么多的工作的。

infinity blade level performance

Average infinity blade level(ipod touch 4上的数字)

draw call 58

triangles 190000

base binds 52

lightmpa texture binds 15

 

 

更多精彩游戏资讯,请点击进入PChome游戏中心

返回原文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑