失真控制数据2版有什么重大危险源控制措施改进

& Crysis深度剖析与优化指南............................ ...
查看: 5362|回复: 7
GRAW☆不锈钢の92FS Brigadier权天使
UID1297406主题阅读权限60帖子精华0积分2952金钱1566 荣誉4 人气0 在线时间16 小时评议0
Lv.6游侠黄金会员, 积分 2952, 距离下一级还需 3048 积分
帖子精华0积分2952金钱1566 荣誉4 人气0 评议0
万众期盼的“危机”
日是游戏界一个值得纪念的伟大日子,因为就在这一天,一款万众瞩目的游戏诞生了!!~咳~……确切地说因该是“一款吸引全球游戏人眼球的游戏DEMO”诞生了!!!没错,它只是一款DEMO,一款试玩而已!这个DEMO的名字就叫做:“Crysis Pre-Release DEMO”(《孤岛危机》预发试玩版,多么伟大的名字),然而正是这样一款试玩在整个游戏界造就了空前无比的效应:早在8月底,CRYTEK就对业界宣布他们万众瞩目的钜作Crysis的试玩版将在9月26号发布。然而在经过几个版本的BETA版试测之后,CRYTEK决定忽悠全世界的玩家,将DEMO推迟一个月发布。此次跳票让整个业界的人士失望之极~~~一眨眼(实际上小编由于对Crysis的极度渴望,一个月时间简直就是“度日如年”)到了10月25号,游戏界大奸商EA突然宣布凡是预定了Crysis正式版的玩家,可以准时在26号当天通过VIP通道下载到Crysis DEMO,而没有预定的普通用户将被推迟24小时,也就是说VIP用户可以提前一天抢先体验到Crysis DEMO!!!这种以提前一天玩到DEMO的作为回报的销售策略居然引发了一场全世界范围的Crysis预定狂潮~~~在短短几天里,预定Crysis的人数就突破四千万,这个庞大的数字确实令人咋舌……由此不难看出Crysis这款钜作在玩家心目中的地位~~
在这个大作林立的季节,Crysis之所以能够突破《虚幻竞技场3》、《战争机器》、《使命召唤4》、《地狱门:伦敦》等一线大作的重重包围,脱颖而出成为业界的焦点,是因为它不仅继承了前作FAR CRY出色的游戏性,而且更重要的是为游戏界带来了一场全新的图形效果革命,这场革命势必为3D游戏图形发展历程树立一个全新的里程碑。而上一次革命要追溯到2004年那个FAR CRY、DOOM3、RIDDICK等众多优秀作品同台竞技的年代,此后虽然也不乏像FEAR、上古卷轴4、STALKER这样的优秀作品,但就画面上的进步而言,跟04年的顶尖作品相比都还远远谈不上“革命” 。在经历了近三年的平平淡淡之后,在这个Vista、DX10、统一着色器架构硬件等众多新鲜技术、产品崭露头角的年代,无论是玩家还是软、硬件商都迫切需要一款能够为图形领域带来革命浪潮的游戏!而正是在这种背景下,Crysis耀眼的技术光芒成功捕捉了全世界玩家的目光,造成如此轰动的效应也是理所当然!
CRYSIS DEMO的实际效果果然没有令我们失望:华丽而真实的画面、高度拟真的物理系统使得任何平台上的任何游戏都相形见绌,绝对是前无来者的惊世之作,其甚至会在未来几年内成为其他游戏开发者的眼中钉,因为它是在太难超越了。而这样一个被全世界奉为神作的Crysis到底是一个什么样的游戏?其背后到底集合了多少高科技秘密?如何才能在今天的硬件上跑出最优的画面?今天,小熊在线将带领各位看官,从Crytek的历史、Far Cry的成名历程、CryEngine的技术解析、Crysis性能评测、图形效果深入优化等方方面面,对这款钜作进行全方位的剖析! 下面我们先来了解Crysis的生父——CRYTEK
[NextPage]
三兄弟的游戏梦与CryEngine的诞生
三兄弟的游戏梦
1999年,Faruk, Avni和Cevat Yerli三兄弟在德国法兰克福创立了“Crytek GmbH”这家互动娱乐开发公司,当时三兄弟的梦想是开发一个能够创造历史的游戏。Faruk, Avni和Cevat Yerli都是不折不扣的游戏迷,特别是作为Crytek CEO的Cevat Yerli,早在Commodore 64时代就经常与游戏为伴,后来的大学时代更是迷上网络对战。正是爱好所激发出来的热忱才能让Crytek成为如今的业界技术领头羊,如今Crytek已经从创建开始的小工作室发展成为如今员工人数上百的大型游戏开发公司,120名来自世界各地的员工(其中有一名员工来自我们中国:))为Crytek的游戏开发项目注入了来自不同国家的文化底蕴。
帝国的根基,CRYENGINE 诞生!
三兄弟明白要想开发出一款优秀的作品,就必须现有一个优秀的引擎。当时出于自身的技术贮备不足与资金有限等因素,很多游戏开发商都采取购买第三方现成引擎的做法,而那个时代ID的Quake Engine、EPIC的Unreal Engine以及Monolith的LithTech引擎三足鼎立,几乎统治了整个第三方游戏开发引擎市场。但Crytek并不想依赖于其它人的技术,在公司成立后,他们就全力开发自己引擎。
在经过了两年左右的不懈努力之后,Crytek的著名引擎,第一代的CryEngine终于诞生了!!CryEngine不仅集合了当时诸多先进特性于一身,而且还有一些其他公司说没有的独门技术。下面我们就来简单回顾一下CryEngine的技术特性:首先是超级远景渲染,CryEngine可以渲染超过一公里外的远景,如此遥远的可视范围使得就算是在高分辨率的显示器上,远处的敌人也会被缩小为一个象素点般大小,这对于那个时代的游戏来说是不可想象!可以说当时的硬件性能是无法满足如此庞大远景对多边形的需求量的!为了能够尽量减少多边形的使用量,为CPU与内存减压,CryEngine出了使用动态LOD跟多边形遮挡剔除等提高无效渲染的技术外,更重要的是引进了一项后来大红大紫的技术——Noraml Mapping!没错,第一个大量运用Normal Mapping的游戏引擎不是我们熟知的DOOM 3 Engine而是Cryengine,之所以大部分玩家是在玩到DOOM 3才开始认识Normal Mapping这项技术是因为在CryEngine/Far Cry中,Crytek为他们的normal mapping技术起了一个很形象化的名称——“PolyBump”。这项在当时相当创新的技术是由Crytek的创始人Cevat Yerli跟其他两名天才程序员Marco Corbetta 和 Martin Mittring在2001年引进的,此外还有一项被称做Dot3 Lightmap的光照技术,用于辅助PolyBump在非真实动态光源下也可以很好地表现物体表面的凹凸效果。CryEngine 1还具有很强的可扩展性,能够与时俱进,在04年又增加了对SM3.0以及FP16精度HDR的支持,时至今日,CryEngine 1的改进增强版仍被几部未发布的大作所采用。
[NextPage]
游戏界的《侏罗纪公园》
初露锋芒 X岛浮出水面
如果你在2000期间曾光顾过Crytek的官方网站的话,那么你可能还记得但是网站上放出了大量侏罗纪公园风格的3D截图,当时你可能会猜想Crytek是不是正在秘密开发一部以侏罗纪恐龙为题材的游戏?
果然到了2000年的E3大展,Crytek在经过一年多的“闭门造车”之后,首次出席这一年一度的游戏盛典,当时他们的参展作品正是一个名为X-ISLE的技术展示DEMO!Crytek甚至将自己自嘲为E3历史上唯一一个支付入场门票的参展商:D在这一年的E3大会上,Crytek的X-ISLE DEMO可以说是技惊四座,演示画面上郁郁葱葱的孤岛上逼真巨大的恐龙来回游走,天上飞的地上爬的,各种类的恐龙一应俱全,加上漂亮的海水效果跟岛上的植被互相呼应,其画面效果可以说是美不胜收。那时候Cevat Yerli的英语虽然比较蹩脚,但是其绘声绘色的解说加上X-ISLE超高水准的画面,很快就吸引了NVIDIA跟UBI的眼光。
第二年,Crtek计划将X-ISLE分为两个项目进行开发,一个是作为NVIDIA新产品GEFORE 3系列的演示demo的全新X-ISLE技术DEMO,该DEMO还被计划开发为一个介绍恐龙知识的互动教学软件;另一个则是X-ISLE的游戏版本,计划将被开发为一个大型的FPS冒险游戏。由于GEFORCE 3可编程着色器技术的引进,X-ISLE的画面效果得到大幅增强:Pixel Shader不仅为恐龙的皮肤带来真实的凹凸粗糙感,而且也为水面带来真实的反光倒影;Vertex shader的关键帧补偿让恐龙的骨骼动画更加生动自然;而PolyBump则让画面保持高细节度的同时保证了效率,按照NV跟Crytek的说法,一片GEFORCE 3就可以在同屏幕上流畅渲染50头恐龙!!!
Far Cry社团尝试通过MOD的方式让FC重返《X-ISLE》 [NextPage]
年度黑马,成名之作
年度黑马,处女之作——Far Cry
就在一年之后,Crytek突然取消原本以侏罗纪公园为主题的X-ISLE项目,将其改名为《FAR CRY(孤岛惊魂)》,并且主题风格也完全取消恐龙的设定,唯一保留下来仅仅是那座“孤岛”。
Farcry的故事背景被设定在南太平洋一座美丽的世外孤岛「Cabatu」上。玩家所扮演的主角「Jack」是一名拥有神秘背景及不为人知过去的战士,为了逃避过往而选择在南太平洋群岛经营出租快艇的生意。没想到天算不如人算,在他答应受雇于一名女记者接送她到海上孤岛「Cabatu」时,却突然发现原来岛上已被一群来历不明的军人当成秘密基地,接着女记者不幸被俘,自己的快艇更被炸毁,已经退无可退的「Jack」只好选择搏命一战!玩家千万不要被这座美丽小岛的外观给骗了,当玩家真正开始扮演「Jack」时,玩家就会发现原来这座看似天堂的小岛也可能是无间地狱!
「孤岛惊魂」中不但有超过15种武器,更有5种以上的交通工具以及10多种不同特色的敌人,游戏更提供了自製地图功能,让玩家发挥创意自行设计单人及多人对战关卡。而当然,「孤岛惊魂」也支援多人连线功能,让玩家和来自世界各地的高手们一决高下!
图象方面,Far Cry跟现在的Crysis一样,为当时的游戏图形领域带来一场前所未有的革命!经过5年来不断地改进,CryEngine 1已经完全支持当时最先进的SM2.0,而支持的API也从当年的X-ISLE DEMO所使用的OGL过渡到更加简单易用的DX 9。当时Far Cry普一推出就立刻成为图形界的评测标准,两大图形芯片巨头NVIDIA跟ATI也围绕Far Cry展开了一场“优化”角逐,双方的FANS也为此争论不休。当时ATI R3XX系列在Far Cry漂亮的PS2.0反光效果以及NV3X系列的无能至今仍为两大阵营的FANS们所“津津乐道”。
FAR CRY中的经典峡谷场景 更为难得的是Crytek并没有在游戏推出后就松懈,仍坚持引领领导技术潮流:在6800显卡推出后Farcry 1.2使得其成为第一个支持Shader Model 3.0的游戏,1.3版本使得其成为了第一个支持HDR的游戏,在1.32其又成为最早的64位游戏之一,在ATI Radeon X1800推出后其又加入了HDR+AA的支持。
1.3补丁下的眩目HDR效果Far Cry是在2004年3月发售的,同期发售的还有EPIC的《虚幻竞技场2004》,而FPS老前辈的id Software的《毁灭战士3》和Valve的《半条命2》也是在当年发售,这些巨作对于初出茅庐的Crytek来说就像三座大山一样挡在他们面前。但这些困难并没有难倒Crytek。出于它们对技术和纯粹游戏乐趣的追求,Farcry在推出后就备受业界和玩家的好评,游戏不仅叫好还叫作,仅在美国Far cry就销售了40多万套。Far Cry的成功让Crytek这家原本默默无闻的小厂商首次被全世界的玩家所认识,让Crytek从此成为游戏界一颗耀眼的明星。
[NextPage]
告别UBI转嫁EA
与老东家分手,携手新欢
在2001年的E3大会上,育碧老总Yves Guillemot这位伯乐相中了Crytek这匹黑马,此后UBI成功发行Far Cry让Crytek奠定了今天在业界的地位。不过双方的关系却并非外人看来那么融洽,早在开发Far Cry期间,双方的矛盾就不断恶化,在作品最终完成之际,双方的互信基本已经消耗殆尽。在Far Cry大获成功之后,UBI看到这一品牌所潜在的巨大商业价值,于是趁热打铁,连续推出Xbox版《孤岛惊魂:本能进化》和Xbox 360版《孤岛惊魂:本能掠夺者》两部Far Cry系列作品,赚了个钵满盆满。
UBI的这一举措也最终激怒了Crytek,虽然后者对Yves Guillemot冒着风险承担了《FarCry》发行任务的知遇之恩,但双方的决裂仍然势在必行,双方最终分道扬镳。此次决裂育碧完全从Crytek处获得FarCry系列的知识产权和CryEngine游戏引擎的永久授权。至此开始育碧将拥有唯一的游戏开发权,还可以利用“游戏角色、造型、版权和环境设定”发布“任何格式的终结、附加、衍生和推销产品”,同时育碧也可以利用FarCry版的CryEngine引擎任意开发、销售、分发“无限制数量”的游戏,而且无需和FarCry知识产权有任何关系。如今CryEngine 1已经为UBI所占有,目前已经有数部大作正基于CryEngine 1的改良升级版本开发中,其中甚至包括Far Cry的续作——Far Cry 2,因为Crytek已经完全丧失了Far Cry这一品牌的使用权。值得一提的是,从Far Cry 2最新公布的视频来看,改良后的CryEngine 1画面效果具有跟CryEngine 2叫板的实力!
Crytek方面,在跟UBI分手之后,他们又与业界的大腕EA结为新欢,EA将为Crytek的新作负责发行工作。Crytek表示,与当初的育碧相比,自己现在的发行商EA公司提供了更多的自由空间和更好的支持。EA在各方面都很慷慨,从商业角度看,Crytek的发行和市场推广方面得到了更多支持和更多自由,能更专注于自己的事务,同时能请求更多的支持;而EA也乐于提供,因为双方都想打造出第一流的作品。
很快,Crytek就完全投入到新作品的开发工作上,新一代的CryEngie已经蓄势待发,而由于丧失了Far Cry的品牌权,他们的Far Cry正统续作改用Crysis命名,中文名《孤岛危机》。这样一场前所未有的“危机”正在遥远的德国开始酝酿…………
[NextPage]
酝酿“危机”
“危机”的酝酿
Farcry是Crytek的第一个游戏,其给他们积累了很多宝贵的经验,当Farcry还在开发的时候,Crytek知道这是同Doom 3和Half-life2的一场市场竞赛,世界知名的id Software和Valve的游戏就象两个800磅重的大猩猩,虽然后来事实证明Far Cry本身的优秀质量绝对可以跟它们相抗衡,但当时Crytek还是采取了抢先上市的策略,所以Farcry是个急促的项目,虽然Crytek保证其符合他们自己内部的质量标准,但他们知道如果他们有更多时间就会做得更好。
在2004年Farcry还在后期开发的时候Crysis的开发工作就开始了,Cevat提出要将游戏的丛林地表冰冻起来,将其变成“冰冻的天堂”,这不仅仅是个技术上的问题,还要考虑到剧情的安排。冰冻的丛林的特性不同于一般的丛林,树木和其他物体会由于超低温而更容易碎裂。他们也需要解释丛林为什么会冰冻起来,于是他们就想起了外星人入侵引起环境灾难的剧情。
Crysis不仅仅只是图象引擎的增强,而是在多方面都将是个更大更有深度的游戏。游戏的情节使得游戏有很强可重玩度,游戏有很多地方可以发掘和探索。如如果你一个队友过早就被杀掉,他就不能在后面给你情报帮你更轻松的完成任务,虽然它不会影响你通关游戏,但你依然可以重新尝试故事发展的不同方向。而这次发布的DEMO也已经证实了这一点,国外玩家已经证明走不同路线可以打出三个不同的结局。在自然环境游戏将会有更多策略,纳米作战服使你的角色有了不同的特别能力,如果你被攻击,你可以选择提升装甲使得你更耐打或者选择提升速度使得你更难被击中,你可以做不同的选择。
游戏剧情介绍
  2019年,一颗巨大的小行星撞击了地球。
朝鲜政府迅速的封锁了撞击的岛链,将神秘的小行星归为己有,美国也紧急的派遣出三角洲特种部队去调查局势并报告给五角大楼,朝鲜和美国之间的冲突一触即发。这时,小行星突然爆炸,出现了个2000米高的外星飞船,并产生了个巨大的球型力量场,冻结了岛很大一部分区域并剧烈的改变着全球的气候系统——对地球入侵开始了。
在这样的情况下两个敌对的国家不得不联合起来共同对抗异型从而拯救全人类。玩家必须带领他的爆破小组穿过茂密的热带雨林、荒芜的冰原地带,最终到达外星飞船的核心区域同异型展开殊死搏斗。
[NextPage]
CryEngine 2的诞生
CryEngine 2 技术剖析
CRYTEK在04年发布的处女作《孤岛惊魂》(Far Cry,下文简称FC)当时在技术上可以说是技惊四座,它不仅大大提高了同类型游戏的技术门槛,而且也被视为那个年代的“次世代”游戏标准。在FC大获成功之后,CRYTEK原本可以稍微增强改进一下CRYENGINE 1,然后就像其他游戏开发商那样推出一款换汤不换药的“续作”,这样就可以舒舒服服地再捞上一笔!但是决心成为业界领头羊的CRYTEK并没有采取这种保守的做法,为了满足他们对技术与美术的无尽欲望,他们决心重新开发一款全新的游戏引擎,然后再大幅改进游戏的设计以及架构以求添加更多的创新特性。在这种背景下,FC的新生续作《孤岛危机》(Crysis)粉墨登场。Crysis在类型上仍然延续FC的FPS风格,但是各方面都将比FC有长足的提高,无论是游戏性还是画面,无论是技术上还是美工,无论是物理效果还是AI,Crysis都将比Far Cry更上一层楼!而只有在全新的CRYENGINE 2引擎才能让这一切成为现实!
CRYTEK内部所有的游戏设计师、程序师以及美工们经过一轮深入研讨之后,为CRYENGINE 2制定了一系列的技术目标:
首先CRYENGINE 2必须满足CRYSIS三种主要环境的渲染刻画,这三种环境包括:
热带天堂岛
特点:大量的物体、深度图、浩瀚的海洋、超级远景、主要方向光源(如太阳、月亮)所带来的环境光照等等
异形基地的室内场景
特点:大量的点光源、巨大的区域房间、多边形遮蔽剔除、容积雾等等
特点:冰雪材质的表现、次表面散射等等
满足上面三种不同环境的需求是一项不小的挑战,而逐个为不同特性的关卡做优化则是难上加难:
达到电影、照片级画质而不落入“恐怖谷”之中(注:恐怖谷理论是由日本机器人专家森昌弘提出,当机器人与人类相像超过95%的时候,哪怕它与人类有一点点的差别,都会显得非常显眼刺目,让整个机器人显得非常僵硬恐怖,让人有面对行尸走肉的感觉。这里引申到3D游戏人物上,但3D人物做得越逼真,观众的眼光就会越加挑剔,3D人物与真人间一丁点的差异都会显得格外刺目,所以3D人物越做得逼真越难令人信服)
游戏的画质越接近电影,观众的眼光就会越加挑剔
动态光照与投影
预渲染的光照对很多提高性能和画质的算法而言都是至关重要的,全面采用动态光影将严重限制了这些算法的运用,因为这些算法通常都依赖于静态参数。
对多GPU/CPU的支持
支持CPU多线程跟多GPU的游戏要比以往单核产品复杂许多,而且很容易对其他非多CPU/GPU配置造成不利影响。
CRYSIS的设计需要21KM×21KM大小的游戏区域
Crytek原本计划21KM×21KM大小的全岛无缝地图,但考虑到如此庞大的区域以及CRYSIS的高细节度表现对开发周期、环境的持续渲染以及数据流的处理等等造成巨大的压力,而且无缝带来的好处完全不值得去花费这么大的力气,所以最终采用了像FAR CRY那样的关卡地图,即将整个岛屿切割成为若干区域并分成不同的关卡,最大的关卡地图仍可达到4KM×4KM。
超级远景支持着色器版本2.0(DX9)到4.0(DX10)
开发从SM2.0起步非常便利,但是早期的DX10硬件根驱动使得SM4.0版本的开发困难重重,整个游戏的开发进度也因此大受拖累。
高动态范围光照
早在NV40时代,CRYTEK就专门为FAR CRY开发了加入HDR效果的补丁并取得了不俗的效果。如今CRYSIS的画面效果自然不愿受到LDR拖后腿。
动态(可损坏)环境
可破坏环境系统可以说是最激动人心的特性之一,但同时也是难以征服的难点之一。
游戏与引擎同步开发
游戏与引擎同步开发造成代码终处于某种可用状态,这对于开发一个小项目来说影响不大,但是像开发CRYSIS这样的大项目就会成为一个不小的挑战。
[NextPage]
CryEngine 2技术剖析:shading 系统
全新的shading系统
开发FAR CRY的CRYENGINE 1由于需要支持当时为数不少的GF2级别的显卡,所以除了支持先进的PS/VS可编程渲染管线外仍然保留了对固定渲染管线跟寄存器合成器(register combiner,混合贴图的逐象素解决方案)的支持,这样再加上为支持DX/OGL的复杂材质,CRYENGINE 1的shader编写脚本采用了非常复杂的语法。
在完成FAR CRY的开发工作之后,CRYTEK大幅改写重建了着色系统,其中最主要的举措就是彻底废除了固定功能的渲染管线,并且大大简化了语法。为了进一步简洁引擎,CRYENGINE还废除了对OGL的支持,此举大大提高了shader脚本对FX格式代码的兼容性,开发shader从此也变得更加方便易学。
不同材质的表现结合总而言之,经过大幅改进之后的CRYENGINE 2 shader脚本系统可以将各种纹理跟多种算术运算结合起来创造出诸如遮蔽、湿润、泥泞或者冰冻等等特殊表面材质效果;这些特效还可以被分割或跟其他诸如金属高光、玻璃材质等常见shader效果混合使用。支持实时逐象素光照、凹凸反射/衍射、容积glow、动画贴图、透明电脑荧幕\窗户、弹孔、反光表面以及其它各种DX10统一着色器架构带来的独特shader特效。
CRYTEK通过创建一个“shader缓存请求列表”的方式大大简化了不同shader间的合成,然后再利用公司内部网络,让公司内所有计算机形成一个小型的分布式计算系统,用于创建shader列表所需的shader编译计算。然而编译仍需耗费大量时间,因此开发人员又通过利用动态分支特性、减少shader合成以及拆分成多个渲染pass等措施来大幅削减shader的编译时间。
高级着色器效果一扫以往游戏人物皮肤的橡皮感、塑胶感逐象素场景深度计算
CRYENGINE 2引入了一项名为“逐象素场景深度计算”的技术(也叫“基深渲染”Scene Depth Based Rendering),该技术优先计算视点到场景物体表面的深度值(Z值),并将得到的深度值保存起来以供后面的特效使用。由于运用于CRYSIS中的大量特效、渲染技巧,诸如延迟着色、球形雾、容积雾化、阴影映射、阴影遮罩的生成、视察映射、柔和水陆交接线的分离、Z缓冲柔和粒子、以及动态模糊、景深、边缘模糊处理等后期处理特效的运算都需要深度值的参与,提前计算出深度值然后供后面的渲染步骤反复使用能够有效减少shader运算的浪费,大大提高了效率。
渲染场景坐标空间着色系统
在FAR CRY中,CRYTEK将视点跟光照位置转换至切线空间坐标系(相对于表面方向),因此所有的pixel shader数据都是基于切线坐标系,同时也是在该空间中进行计算。但是随着多重光照的运用,该系统开始在传递光照参数上受到限制。为了解决这一问题,CRYENGINE 2改用“渲染场景坐标空间着色系统”,该技术实际上已经被运用于立方体贴图反射特效上,所以代码没有兼容性上的问题,而且着色效果也比原先的切线坐标系空间系统更加准确。
[NextPage]
CryEngine 2技术剖析:光影系统
FAR CRY采用的光影系统
CRYTEK当年在FAR CRY的室外场景中主要采用了shadow map(阴影贴图/映射) + projected shadow(投射阴影)的方式,其中投射阴影用于室外的太阳光源在物体上的投影,而当时他们面临的最大问题就是阴影边缘难看的锯齿问题,不过在那个时代此举实属不得以而为之。对于植被的投影,考虑到性能问题,他们只能采用预计算的阴影贴图,但另一方面又受到显存容量的限制,只能采用分辨率低下的模糊阴影贴图,效果自然大打折扣。不过在高端硬件上,CRYTEK在植被上使用了阴影映射,但在跟预计算的阴影相结合的时候容易出现问题。
FAR CRY中实时阴影贴图与预计算阴影贴图混合使用 对于点光源,FAR CRY采用了与当时DOOM 3相同的蜡版缓冲阴影(容积阴影),因为容积阴影是更加简单高效的解决方案。CPU蒙皮可以在GPU渲染容积阴影的时候协助为物体的阴影轮廓挑边,但是显然对于细节精细、轮廓复杂的物体CPU将面临重大压力,因此容积阴影的缺陷也是明显的:对CPU蒙皮性能的依赖性、对GPU的负载以及额外的内存带宽需求;而更致命的是:缺乏对半透明物体的支持,这对于需要大量棕榈树和花草灌木等半透明叶子投影的热带岛屿场景是绝对无法容忍的,容积阴影技术给CRYTEK判了“死刑”也就不足为奇了。
更加先进的光影系统
此后CRYTEK仍希望容积阴影能够被用于没有多少半透明物体的室内场景,但是生硬的阴影边缘以及多重光源下的性能损失问题最终让CRYTEK不得不寻找更加合适的光影方案。
CRYENGINE 2的光影系统
对于今天的硬件机能,采用单一简洁的投影系统似乎已经时机成熟。容积阴影由于我们上面提到的种种弊端而惨遭淘汰,CRYENGINE 2彻底抛弃了容积阴影的代码。shadow mapping(阴影映射)能够提供高质量的柔和阴影,并且可以根据实际需要自由调节性能跟画质,因此成为CRYENGINE 2光影系统的不二人选。不过,shadow mapping只能涵盖直接光照部分,对于电影画质所必不可少的间接光照部门则需“另请高明”,因此CRYENGINE 2最终为直接光照跟间接光照分别采用了两套专门的解决方案。
[NextPage]
光影系统:直接光照
CRYENGIE 2在处理直接光照部分采用了shadow mapping(即将光照中的物体深度保存在一张2D贴图之中),而容积阴影则被彻底抛弃。虽然CRYTEK早在FAR CRY时代就采用了shadow mapping,但在FAR CRY中只有极少数的物体能够单独投影,对于大部分物体,通常是采用将大量物体的阴影合成为一张阴影贴图的做法。从光源发出的方向同步投射一张简单的阴影贴图可以做到不错的效果,但是在玩家视点附近的阴影贴图分辨率很低,造成难看的块状阴影。FAR CRY还试用了trapezoidal shadow maps(PSM)跟 perspective shadow maps(TSM)两种shadow map。 CRYENGINE 2采用了跟3DMARK 06相同的cascaded shadow maps (CSM),这种shadow map技术通过在玩家视点区域内投射同一分辨率的多张阴影重叠来实现细腻的阴影效果。
为了高效处理静态光照,CRYENGIE 2采用了一种称为“动态遮蔽映射”(dynamic occlusion map)的技术,该技术可以很好地处理静态光照下的投影,但阴影的边缘存在粗糙的锯齿,而且被拉伸的贴图也带来了大量的失真。为了解决阴影贴图边缘的锯齿问题,CRYENGIE 2引进了“百分比渐近过滤”(percentage closer filtering,简称PCF),这样可以一定程度上减弱阴影边缘的锯齿状失真,但是该技术需要许多采样样本,因此性能不高,而且一些较老的ATI显卡无法支持,对于R520之后的ATI显卡则可以通过Fetch4功能来模拟。
从左至右,从上到下,分别为逐级提高百分比渐近采样的效果对比为了取得更高的效率和画质,CRYTEK又为PCF做了改进,跟一味增加PCF的过滤采样不同,CRYTEK采用了“随机查询每象素”的技巧,这样可以在使用较少的采样样本的情况下获得接近高采样的画质,可以明显减少阴影边缘的颗粒状失真。而通过调节采用的高低,又可以让玩家根据需要自由调节性能跟画质。
对于地形阴影,CRYTEK曾尝试采用从开始角度到结束角度下不同镜头的预计算阴影贴图来模拟动态地形阴影,但最后以失败告终。接着CRYTEK又尝试以增强更新率的occlusion map,但也同样不凑效。CRYTEK的三次尝试是直接让他们普通的shadow map上阵,但结果出来的阴影效果过于统一而显得不够自然,并且边缘过于生硬,而这时候采用“随机查询每象素”的技巧并不凑效,会出现严重的颗粒感。最后CRYTEK尝试使用variance shadow map(方差阴影贴图)并最终取得了成功,其唯一的不足就是在多个投影物体相间重叠的时候会产生问题,但这种情况在地形处理上很少发生。
阴影遮罩贴图
为了避开SM2.0指令数不足的缺陷,CRYENGINE 2将阴影查询从shader中分离开来,此举还可以减少结果shader的合成数量以及将多重阴影结合起来。CRYENGIE 2将计算得出的8 bit阴影贴图查询结果保存于一张平面坐标空间贴图中,这就是所谓的“阴影遮罩”。一张4通道的32bit 贴图就可以提供足够的存储位数并且还可以被作为渲染目标,而且4个通道最多可以合成4个光照基数到一个象素。但是该技术对半透明几何体支持不佳,在处理半透明物体的时候CRYENGINE 2改用在shader中做shadow map查询的方式进行。
阴影遮罩示意图[NextPage]
光影系统:简洁光照(环境光照)
间接光照 (环境光照)
随着容积阴影与阴影贴图等先进投影技术的引入,3D游戏中的光影效果在过去几年里有了翻天覆地的改进。尽管如此,几乎当前所有的游戏在光影处理上都存在一个重大缺陷——那就是缺乏对“间接光照”的表现。比如当年以出色的光影效果而闻名的DOOM 3,虽然其光影效果令玩家们印象深刻,但当时仍有很多人发现了该游戏在处理光照效果上存在一个重大缺陷:游戏中的场景处于光源之内的就“灯火通明”,而光源之外就是“漆黑一片”,明亮区域与黑暗区域之间缺乏过渡,完全没有所谓的“半影区域”,这样整个环境看起来就显得相当生硬突兀。实际上这就是由于DOOM 3缺乏对“间接光照”的计算所造成的,在现实环境中,光束的行程并非只局限于从光源出发然后到接收物体处结束,事实上由于自然界中的大部分物体对于光线都存在不同程度的反射率,所以光束在到达接收物体表面之后又有一部分被反射到周围的物体上,这时光线的接收体已经变成了“环境光源”,对其周围的物体跟场景能够产生光照效果。光线的跳转、转移使得“直接光照”以外的区域也能受到一定程度的光照,从而产生一种“半亮半影”的自然过渡区域,而这种效果正是“间接光照”所要表现的。
DOOM 3几乎没有考虑到间接光照的计算,上图灯的上方跟人物周围的场景漆黑一片 事实上不仅仅是DOOM3,后来发布的Riddick、FEAR、SCCT、Quake 4等光影效果出众的游戏同样缺乏对间接光照的支持。只有HL2采用radiosity Normal Maps技术在一定程度上实现了间接光照,但由于HL2中动态光源太少加上蹩脚的投影技术,最终出来的效果并不出众。而跳票王STALKER也秘密内置了对间接光照的支持,虽然效果比HL2要好许多,但由于性能代价太大以及算法还不够完善等问题而被开发商隐藏起来,玩家只能通过控制台来打开。
不出意外的话,Crysis将成为首个对间接光照支持最完整、效果最出色的游戏。对于间接光照的实现,Crytek原本打算采用目前最广受认可的全局光照算法——光子映射来预计算辐射度信息,并采用类似HL2的做法将光线的辐射信息保存在贴图中,crytek甚至为此而准备了一个叫做“3D传输采样器”的工具,可以很方便地运用光子映射算法来计算全局光照数据。不过由于数据存储量以及计算量太大,Crytek最终抛弃了这种方法。
Crytek改用另一种更加简单的做法——Real-Time Ambient Map(实时环境光照贴图,最近开始走红的实时间接光照实现算法,STALKER在室外场景就采用了该技术来实现环境光照,下文简称RAM),跟之前的做法相比,采用RAM每象素只需保存一个标量环境遮蔽值,该数值可以通过向所有方向发射光线来计算,而且最终得出的数值还可以反复使用。RAM在着色程序中根据带有遮蔽值的象素、相对于表面的光照位置以及光照颜色和表面法线等信息来计算物体表面对光线的接收程度。值得一提的是,这里计算得出的结果只是一个近似值,精确度不高,但是对于欺骗人眼还是没有问题的。
室外场景里使用了2.5D环境光照技术,该技术可以根据环境物体(比如植物、建筑物)对光源的遮挡情况,正确计算出物体接收到的光照量为了提高RAM的效率跟适用范围,Crytek的天才程序员又对其进行了改进,改进后的算法称为“Screen-Space Ambient Occlusion” (屏幕空间环境光遮蔽,下文简称SSAO)。SSAO通过采样象素周围的信息,并进行简单的深度值对比来计算物体身上环境光照无法到达的范围,从而可以表现出物体身上在环境光照下产生的轮廓阴影。由于可以利用我们前面介绍过的“逐象素场景深度计算”技术计算得出的深度值直接参与运算,所以SSAO的效率相比RAM有了显著的提高。
上面四张图片分别为打开(上)与关闭(下)SSAO的效果对比
[NextPage]
容积雾、次表面散射3S与HDR
CRYENGINE 2其他先进特性赏析
容积化、多层次以及远视距雾化技术
该技术可以生成笼罩地表的云、雾层,能够自然地模糊远景的可视对比度。此外还可以跟动态光影相结合,减少景物之间的生硬过渡,从而增强大场景的立体自然感。
次表面散射
  次表面散射(Sub-Surface Scattering),简称3S,主要用于模拟不完全透明材质内部表现出来的一种真实光影特效。我们知道,当灯光照射到玻璃或清澈的液体表面时,灯光会穿透这些介质,3S效果可用来模拟灯光进入介质内部后发生的散射。最典型的就是一根点亮的蜡烛,仔细观察你会发现在烛光的照耀下,蜡烛靠近火焰的那端显出的半透明效果。CRYSIS中3S被广泛运用于植物叶子、冰面等材质上,而实际上,3S的最大用处之一在于表现光源照射下的人物皮肤,换句话说,要想表现真实的皮肤材质,3S效果必不可少。目前的许多游戏在人物皮肤的渲染上就因为缺乏3S效果而显得塑料化、橡胶化,这也许正是CRYSIS中的人物看起来如此逼真的秘诀所在!
视觉适应和高动态范围光照
视觉适应是用来模拟人类眼睛碰见突然光线变化的适应情况(如从黑暗室内明亮的室外)。而高动态范围光照可以让场景有更大范围的明暗对比度从而使得画面更真实。
[NextPage]
法线贴图、视差遮蔽映射与3DC
法线贴图、视差映射和3DC
  法线贴图技术通过计算高细节度模型的法线信息并将其保存在一张高压缩比(3DC/DC5)的法线贴图之中,然后将这张法线贴图贴用于低细节模型上代替原型的多边形曲面的光照计算,从而等到一个低多边形、高细节的3D模型。CE2还支持更高级视差遮蔽映射(Parallax Occlusion Mapping),该技术曾被ATI用于展示R520 强大PS3.0动态分支性能的TOY SHOP DEMO中,目前出了CRYSIS外,还没有其他游戏支持。Parallax Occlusion Mapping是目前效果最好的Bump Mapping技术,能够给予多边形物体表面的贴图更强的深度感,从而令需要高度凹凸立体的浮雕、砖墙等材质更加真实。
  法线贴图的大规模运用虽然让画面一扫过去3D游戏平淡简洁的画面,让整个游戏场景变得凹凸有致、立体感十足,但由于法线贴图存储的信息量比一般的贴图要来得更大,因此对本地显存造成的压力可想而知。显卡的板载显存容量虽然在过去几年里不断翻倍,但仍然满足不了Crysis这样法线贴图数量如此庞大的游戏,为了解决这一问题,Crytek在CRYENGINE 2中全面支持3DC技术。
Parallax Occlusion Mapping的惊人凹凸细节效果
  法线贴图其实并不是真正的贴图,所以也不会直接贴到物体的表面,它所起的作用就是记录每个点上的法线的方向。法线的3个三维向量X、Y、Z分别对应三原色红绿蓝的颜色,被值保存在一张贴图中,这样的贴图就是所谓的法线贴图。虽然法线贴图不是真正意义上的贴图,但是传统的贴图压缩技术同样对其行之有效。业界使用做广泛、最传统的DXTC纹理压缩技术具有6:1 的高压缩比,有效提高丁硬件资源的利用率,但却不可避免遭遇图像失真的问题。造成图象失真的根本原因还是纹理压缩技术。因为作为一幅贴图来讲,其中绝大部分信息记录的都是每个点的颜色,如果要对纹理进行压缩的话,势必损失掉一些颜色的信息,这样的损失对于普通的贴图来讲影响是非常小的,因为玩家绝对不会去在意具体的一个点的颜色是否和原来的纹理保持了一致。但是,对于法线贴图就不是这样了,因为法线贴图中每个点的颜色反映的是该点法线的角度,也就是该点的凹凸的信息,如果这些信息丢失了,带来的结果就会糟糕的多——阴影失真是小,甚至可能造成贴图错误,所以传统的DXTC并不适合用来压缩法线贴图。
法线贴图制作流程图  为了解决这一问题,ATI在2004年发布R420显示芯片的时候引入了专门针对法线贴图的3DC技术。跟DXTC不同,3DC将法线贴图分成4×4像素小块压缩,这上面的16个点中分别以红、绿、蓝3个通道的颜色值记录了该点法线的方向,而这个方向恰恰就是该点的凹凸的情况的一个最直观的表达的形式。接下来,3Dc技术将这16个点的颜色值中X项和Y项独立提取出来,分成两个4×4的矩阵,然后再针对每个矩阵进行压缩。通过这种做法,3DC可以以消耗少许shader资源为代价,将每个象素压缩为一个字节,并同时保证足够好的画质。而通常未经过3DC压缩的法线贴图每象素需要占用4个字节的存储空间。在CRYENGINE 2中,纹理的压缩并非向往常那样在loading的时候进行,而是被放在资源编译工具中进行,此举可以减少整个游戏的体积并显著缩短loading时间。而对于不支持3DC的老硬件,Crytek则在loading的过程中将3DC格式的贴图转换为DXTC5格式。
3DC效果对比[NextPage]
DX10特效一览
Crysis曾被玩家们戏称为“DX10救世主”,如此响亮的外号体现出玩家们对Crysis DX10效果的期待程度。下面我们就一起来看一下CryEngine 2将支持哪些DX10特效。
高质量的3D海洋渲染技术
CE2在渲染海面时会根据风力跟洋流的信息即时作出动态调整,因此可以生成非常自然逼真的海面。而“柔和剪裁技术”会在海陆相接的地方根据陆地的高度和海水深度生成自然的海岸线和海床。此外,“焦散模拟技术”还会在海底环境投射效果逼真的动态阴影跟水底光纹。
为了表现出海面波涛汹涌的效果,CE2采用了屏幕空间坐标系镶嵌技术(Screen-Space Tessellation),该技术可以很好地表现出波涛起伏的效果,但这种效果并非基于真实的物理运算,而仅仅是一个程序化的过程,因此效率非常高。
光束、光轴
CRYENGINE 2支持容积光照技术(立体光照),运用此技术用于渲染光线在通过高度遮蔽的环境时(比如茂密的森林)所形成的光束、光轴,还可以用来渲染光透过海面在海底形成的“神圣光芒”效果。
[NextPage]
DX10特效一览(续)
运动模糊和景深
运动模糊是用来模拟慢速快门拍摄快速移动的物体或者是快速移动的镜头,以往的运动模糊效果只能做到全屏幕模糊,而运用DX10特性可以对单个物体进行模糊处理。通常的做法是利用几何shader跟踪物体模型边线的运动轨迹,后用渐变的透明度来绘制,以达到运动模糊的那种物体拖着残影的效果。而景深是用于清晰视野焦点而模糊焦点前后的事物。
动态细节的soft LOD地形管理技术
在DX10纹理阵列(texture arrays)、绘制断言(predicated draw)、数据流输出(stream out)、低API overhead以及Instancing等特性的帮助下,CryEngine引入了soft LOD技术,可以大幅减低CPU和内存负担,在让近处的物体和地形有不错的细节程度同时,依然可以有长达八千米的视野距离。
[NextPage]
CryEngie其他技术特性赏析 物理系统
Polybump 2
  Polybump 2可以单独使用也可以同3DS Max之类工具一起使用。这个工具可以快速提取如法线贴图、置换贴图、非闭区域方向和其他一些属性来创建包含高质量的表面描述的扩展信息。这些扩展信息可以用来绘制类似高模品质的低模,但这个速度将会快得多。这些数据储存在文件里,它可以不必再次计算就用多种不同的方法导出。即使是1000万个多边形这样的高多边形数也可以快速完成。
内置多线程处理物理引擎
  该技术可以让场景里的任何物体,比如树木、植被等模型对诸如风力、爆炸冲击、引力、物体之间的碰撞/摩擦等外力作出互动反应,而且无需专用物理加速硬件的支持。
高级绳索物理性模拟系统
  绳索物理性模拟技术令柔软的植被、树叶能够对风、雨和角色运动等外力作出自然物理反应。此外,其它诸如吊桥跟外力的互动以及触须之类柔软可弯曲的生物组织的物理性模拟均为高级绳索物理模拟系统的杰作。
互交的可毁坏的环境
动态的改变任何环境物件和形状,可以摧毁建筑、树木和其他物体。
[NextPage]
CryEngie其他技术特性赏析 角色动画系统
角色动画系统
  新的角色动画系统可以真实的表现人类或者载具动画。完全内置的角色编辑器可以让制作者在CryENGINE Sandbox2里预览动画效果。此外,超级强大的动画图表允许动画设计师对角色动画的状态设置以及状态转换进行可视化操作。
集成的面部表情编辑器
  强大的全新面部表情编辑工具使用音频波形分析技术自动的同步获取声音并将语音的关键点转化为自然而可信的面部表情和唇型。成熟而方便的多重基于摇杆的用户界面允许使用多种方法直观而快速的被定义和被组合。表情和动画一但被创建,就可以在多个不同的人物模型上运用。在系统的配合下,视频跟踪工具可以用普通的摄象机来捕捉演员的动作,这些运动会在编辑器里直接被转化成想要的面部模型,表情和运动能够同步组合成唇型,可以被动画制作人进一部的处理。
个性化角色制作系统
  角色制作流水线使用一个丰富的角色特征附件粘贴系统,可以给人物角色粘贴上蒙皮材质、动画信息等数据。此外,还可以将物理信息粘贴到骨架跟人物多边形脸孔上,甚至还允许设计师任意更换角色的身体,比如更换头部、手臂或者上下身。支持硬件加速的人物模型变形系统允许设计师对人物模型网格的变量进行修改。该系统不仅支持手动变形操作而且还可以选用程序化自动生成的样本,以减少内存的占用量。此外还有一个基于着色器的变形系统,可以对泥泞、衣物以及用于皮肤伪装的着色器效果进行变形操作。
参数化骨骼动画系统
  通过对用户定义的动画样本进行混合,设计师可以对角色的动画进行互动控制,令该角色能够自然合理地根据实际游戏环境改变动画运动。该系统允许角色可以以不同的速度走动;可以在对通道、路径的方向转变作出合理反应;可以作出自然的上、下山运动;可以通过动态混合各种碰撞反应动画来改变角色的移动方式。
程序化运动变形
  CE2采用CCD-IK,分析IK、样本IK等程序化算法以及物理模拟来增强预设定动画。这些程序法处理方法都是让计算机根据这些算法规定的步骤来计算人物的运动方式。CE2采用了一种运动变形技术来保留原本基础运动的方式,使得原本生硬的计算机生成跟真人动作捕捉混合动画看起来更加自然逼真。
高质量动画压缩
  CE2采用了关键帧压缩技术,可以根据特定动画所需的保真度动态调节压缩等级。该技术可以在提供高保真度的同时节约至少90%的内存占用量。
[NextPage]
无限创造力:Sandbox 2编辑器概览 1
集成的CryENGINE Sandbox2编辑器
运行时间引擎是完全集成在CryENGINE Sandbox2编辑器给了设计者“所见既所玩”特性。
集成的植被和地形生成系统
  在运行的时候植被会依据如坡度,地表特性等自然特性程序性的生成植被而创建一个可信的自然环境而不用设计师对其每个树木或者草进行调整。植被还会随其地面纹理而改变颜色,使得其和环境更为融合。
集成3D地表生成及渲染(VOXEL) 技术高级地形系统
  允许设计者在他们的场景里安置悬空的悬崖、洞穴隧道,并控制每个区域的地形细节程度来减少多边形数量。
  一个可视化编辑系统允许玩家通过连接逻辑单元的入口和出口、定义它们属性和状态来创建事件、触发器和其他逻辑条件。可以让设计者不用写C++代码或者LUA脚本就完成复杂关卡的设计。
高级的柔和粒子系统和集成的FX编辑器
可以用次世代的柔和粒子十分简单的创建复杂的爆炸、火、烟和其他特殊效果,其还可以检测同其他物体的碰撞、对风、重力等外力施力或者受力做出反应,并能够对光影互相影响。
[NextPage]
无限创造力:Sandbox 2编辑器概览 2
动态的时间日夜设定
在游戏过程中动态的改变时间会有不同的光照条件和不同的24小时循环的日/月位置,从雾气蒙蒙的清晨日出到炽橙的日落再到月高夜冷。
道路和河流工具
  集成的这些公共能够轻易的平滑和改变地形的层次并在崎岖的地形上创建小道,公路和河流。
载具编辑器
  允许设计者设置载具的损坏系统,可以定义部件损坏和损坏效果,定义成员座位和状态(如控制坦克炮塔或者附武器,还由引擎提供了完全可控的物理参数。也可以表现载具的尾气和表面粒子效果(如流水、冰冻和隐性效果)。
[NextPage]
CryEngine 2先进特性赏析 音效系统
音效和音乐
CryEngine2的音效系统有了很多新的特性和进异步发展了数据驱动的概念,每个音效都带有自己独特的特性,所以音效设计者能够完全控制音效的最终质量,音效会贯穿游戏始终。
数据驱动音效系统
录音室质量的音效能够轻易的被创作和分发,并支持任何现有的环绕立体声扬声器配置。由内建音效库的FMOD确保了其多平台的兼容性。
互交的动态音乐系统
有特别定义逻辑的改进的音轨回放可以对游戏的事件提供你所期望的变化,其能够给玩家提供电影音乐般的体验。
动态环境音效
任何物理接触都会产生由大量如材质类型、物体类型、质量等大量参数控制独特音效。这个技术给互交的游戏世界提供了无重复的和有感应的音效回放。
  在大量目标平台上集成丰富功能的编辑器和工具提供了实际游戏的混合功能。用户可以在游戏开发的各个阶段:实际游戏里或者是在其他编辑模式进行试听,如在角色编辑器检查由动画触发的音效。
环境音效果
  这个特性允许音效设计师真实的还原来自自然的多种不同材质的混合音效,如自内向外移动的音效,或者下图轮胎与地面摩擦的声音。
[NextPage]
CryEngine 2先进特性赏析 AI篇
高级AI系统
  CryENGINE 2拥有灵活和可以轻易自定义角色和载具行为的AI系统。它完全支持角色动作系统,并且它是完全集成在CryENGINE Sandbox2编辑器里的。
LUA脚本驱动的AI系统
不需要C++编程而用LUA脚本扩展状态机器行为就可以创建复杂的AI行为.
高级的2D和3D算法允许AI导航路径为事件实时改变,创建新的或者删除已经存在的路径,在高度互交性和可毁坏的环境创建可信的AI。
给关卡设计师给关卡里的特别的物体提供简易创建连接特别动作的方法,角色动画和物体在动画开始和结束前校正堆齐和按自动的动画顺序播放。
强大的测试程序允许开发者实时分析引擎性能,创建内存使用报告,自动遍历每个场景产生测试结果。
可以从控制台命令轻易创建视频流或者图象,并将其输出成任意分辨率和比例的画面,甚至还可以生成360度可以全景环绕的画面。
模块化的C++支持
整个程序都由C++模块化编写,并且有完整文档和注释,并分离为独立的逻辑DLL文件,你可以使用你需要的,也可以按你个人项目的需求自己修改或者替换引擎的组件。
多线程支持
完全支持现在的多核心处理器架构,CryENGINE 2的如物理、网络、音效等子系统代码都被重写来支持多线程
资源编译器
在项目建立的时候可以用资源编译器可以从原始格式编译,这个允许依照设置和目标将全局性的改变(如mipmap计算、网面生成)输出数据而不会影响最终的场景载入时间,或者需要开发者为多平台开发多个版本。
流系统能够按需求实时的载入大的关卡,这样可以让游戏更为复杂,同时也会降低对内存的需求。
网络客户端/服务器系统
CryENGINE 2有一个全新的多线程的管理多人游戏模式全部连接的网络系统。它是一个使用基于高压缩的十分可靠,低延迟、低带宽的系统。
[NextPage]
[NextPage]
Crysis DEMO实战
  Crysis用来这么多先进的技术,肯定又有人会担心Crysis是绣花枕头,中看不中用。但这个担心完全是多余的,Crysis的游戏性也非常出色,游戏的关卡设计,武器设定和操作都十分出色,当然这也都要得益于优秀的Cryengine 2引擎。
丰富的武器和独特的武器装配系统
  Crysis里提供了手枪、冲锋枪、突击步枪、、狙击步枪反坦克导弹等很多种类的武器,大多武器都是以现实武器装备为原型,如SCAR突击步枪的原型是XM8,而DSG-1的原型则是 PSG-1,并且武器都可以进行改装,如突击步枪可以加装战术手电、激光指示器、ACOG瞄具、EOTECH内红瞄具、枪榴弹发射器、消音器,狙击镜等格式装备,可以让玩家大户过瘾。除了现实风格的装备以外,还有科幻风格的高斯步枪、分子加速器、冰冻枪、甚至还有手持核弹发射器。特别值得一提的是冰冻枪发出的冷冻射线可以将敌人冻住,然后用其他武器将冰冻的目标打碎。
可以自由改装的武器系统  除了单兵武器,游戏里还有大量的载具,从越野车到重型坦克、从气垫船到武装直升机,相信这些设定可以让玩家大呼过瘾。
Crysis最游戏最大的创新要数Nanosuit纳米作战服系统,玩家是身穿高科技纳米材料作战服的超级战士,作战服可以切换到防护、速度、力量和隐形四种状态,这样的设定给了玩家更大的自由度,玩家可以用防护模式硬拼,也可以用速度模式逃逸,还可以用力量模式跳跃障碍或者一拳将敌人打飞,还可以用隐形模式打伏击,玩家在游戏过程中需要熟练的配合使用。而在多人游戏里玩家对这些技能的应用也很大程度的决定玩家的水平,使得游戏更具技巧性和观赏性。
使用战术核弹的华丽效果[NextPage]
Crysis DEMO系统要求与测试平台
Crysis系统要求
  玩家如果要想运行Crysis,首先硬件配置要符合以下最低要求,而想要真正体验Crysis的魅力则最好配置在推荐系统要求之上。并且你最好要记住开发商为了能够将游戏卖的更多一些,系统要求公布的总是比实际的低。
DEMO下载地址:
最低系统要求:
操作系统--Windows XP 或者 Windows Vista
处理器--2.8GHz以上(XP); 3.2GHz 以上 (Vista)
内存--1GB RAM 或者 1.5GB RAM (Vista)
显卡--256MB**
和DirectX 9.0c兼容
* 支持的处理器: Intel Pentium 4 2.8GHz (3.2GHz for Vista) 以上, Intel Core 2GHz (2.2GHz for Vista) 以上, 和其他同级别CPU.
** 支持的显卡: NVIDIA 6800 GT以上GPUs,ATI Radeon 9800 Pro (Radeon X800 Pro for Vista)以上. 型有可能不被支持. 不支持集成图像芯片,建议更新驱动。
推荐系统要求:
操作系统--Windows XP 或者 Windows Vista
处理器--Intel Core 2 DUO @ 2.2GHz
内存--2GB RAM
显卡--NVIDIA GeForce 8800 GTS/640或者同级别
Crysis性能测试
  Crysis提供了CPU和GPU两个测试方案,我们在这里测试选用的是GPU,测试的内容是单人游戏Demo的flyby,由于视角比较高,同屏幕的物体比较多,所以Benchmark的速度会略低于游戏。由于Crysis系统要求很高,我们在这里只是测试了Geforce 8800GTS、8800GT、8800GTX和ATI HD2900XT这些高档显卡,测试的具体平台如下:
图像设定界面[NextPage]
Crysis显卡测试结果
   我们测试选用的是 AA OFF 16X AF high和very high的设定,我们没有选用的更高设置原因是作为高端卡在更高分辨率都不能流畅运行,没有什么意义。8800GTX在Very High的设置下仅有20FPS,这个速度很明显不能让人满意,幸好实际游戏的速度比Benchmark高,大概有30左右,还是勉强玩的下去。,88GT紧随其后,速度也有17.8,和8800GTX的差距并不大,但如果分辨率和AA设置的提供,受显存容量的限制,这个差距会更为明显,不过在更高设置下,8800GTX受核心处理能力的限制,更高设置依然是没有什么使用价值的。8800GTS 320MB既是是在这样的低分辨率下,320MB也成了严重的瓶颈,使得其在Very High的设置下仅有12.5FPS的。ATI 2900XT的速度有15FPS,同8800GT相比略慢。
  注意本成绩并不代表游戏正式版最终性能。
Crysis系统要求之高是前所未有的,甚至说可以流畅运行Crysis的电脑没有诞生都不为过。虽然游戏设置里有比较丰富的选项,但对于想彻底优化游戏的玩家这依然不够的,还好Crysis提供了十分详尽的控制台命令和cfg文件可以供用户调整:
首先用户要有基本的硬件配置,如双核心处理器、2GB或者以上的内存和一块支持DX9C显卡,当然想要运行好Crysis最好有四核心的处理器,8800GT以上级别的显卡,当然这些配置不是每个人都有的,下文将会为不同配置的玩家给不同建议。
[NextPage]
深度优化指南:参数效果调试与对比
玩家在游戏之前,请安装最新版本的显卡驱动程序,在发稿之日前,nvidia和ATI的最新驱动本版为169.04和催化剂7.10。 Vista版169.04 nvidia显卡驱动:
XP版169.04 nvidia显卡驱动:玩家可以在Crysis SP Demo目录新建个autoexec.cfg文件,在里加入参数和命令,游戏会在启动的时候自动运行文件里的命令,下文我们有些地方需要使用这种方式进行修改。 在游戏设置中,对速度影响最大的是Shader Quality,使用中(medium)的设置大概可以提高7-10FPS,我们在这里推荐00/00的用户都设置成中,而8800GTS 320MB和2900XT的用户设置成高(High),而8800GT 512MB/8800GTS 640MB/GTX/Ultra的用户设置成很高(Very High)。当然将shader设置成中,画面质量也会有比较大的损失,我们可以选择一个折中的方法,可以将起设定为中,然后再在autoexec.cfg里添加以下代码来打开环境光吸收和提供地形细节,使得画面接近high而速度接近Midium。
e_terrain_ao = 1
q_ShaderTerrain = 3
视差映射是在Very High下才会开启的,而当设定成高的时候,使用r_usepom=1将会开启视差映射,让地面的纹理更具立体感,以下是图片对比,它在有明显体现的时候对速度大概会有2FPS的影响,平时也没有什么影响,但会大大的提高游戏的YY度,我个人觉得是值得的。
阴影(shadow)对速度影响比较大,将阴影质量从高改到中画面损失不大但速度提升很多,推荐以下的用户采用.
后期处理(post processing)部分主要包含运动模糊和景深两部分,其中运动模糊对速度影响比较大,并且对游戏战斗也有不良影响,我个人建议所有用户都关闭运动模糊。而景深对速度影响不大,并且可以大大加强画面的真实感,建议开启。玩家可以在autoexec.cfg里添加以下代码开启景深和关闭运动模糊。
r_DepthOfField=1(Very High下是2,有object Blur,景深给人感觉更有层次感)
r_MotionBlur=0(Very high下是3, 有object Blur)
后期处理还包括阳光透过树叶间隙的光柱效果,这个是属于DX10 Very High效果,以下是开启和关闭的对比图,其对速度影响并不大,用户也可以在cfg里添加r_sunshafts=1来手工开启。
[NextPage]
深度优化指南:纹理LOD与抗锯齿对比
调节以下的参数可以改变远景纹理和动态细节的质量
e_detail_materials_view_dist_xy 4096
e_detail_materials_view_dist_z
以下的图片对比胜过千言万语
以下参数可以控制植被的显示距离和茂密程度
e_cull_veg_activation 70             (默认50)
e_vegetation_sprites_distance_ratio 1.5      (默认1)
现在任何卡运行Crysis开抗锯齿都是十分奢侈,游戏茂密的植被和各种shader都会贪婪的吃光你的显存,即使你使用8800Ultra SLI也不可能在全特效开启AA流畅的运行,降低其他画质来开AA与其不如提高其他画面设置,这样对画面的效果提升会更而显著。不过Crysis还提供了边缘AA(Edge AA,相当于软件AA,对物体的边缘进行模糊处理还缓解锯齿,《幽灵行动》最新作就是采用这种方式的AA)玩家还是可以尝试用r_UseEdgeAA 2开启Edge AA,虽然这种方式的AA效果不如MSAA,并且边缘部分会变得模糊,但还是起到的AA作用,并且速度损失也不大。
[NextPage]
深度优化指南:让DX9实现DX10效果
在Windows XP和DX9平台上设置接近DX10 Very High的画面
前面我们已经介绍过Crysis所支持的DX10特效,但实际上我们发现,许多所谓的DX10特效完全可以在DX9硬件上实现,针对这一点,我们发现了如何在DX9平台上手动打开Very High DX10特效的办法,下面我们就一起来看一下如何让DX9跟XP实现Vista下的DX10效果:
  在autoexec.cfg里加入以下代码让在DX9环境实现接近DX10 Very High的画面效果:
sys_spec_GameEffects = 3
sys_spec_ObjectDetail = 3
sys_spec_Particles = 3
sys_spec_Physics = 3
sys_spec_PostProcessing = 3
sys_spec_Quality = 3
sys_spec_Shading = 3
sys_spec_Shadows = 3
sys_spec_Texture = 3
sys_spec_VolumetricEffects = 3
sys_spec_Water = 3
e_foliage_wind_activation_dist = 25
e_max_entity_lights = 16
e_obj_quality = 4
e_particles_max_emitter_draw_screen = 32
e_particles_quality = 4
e_shadows_cast_view_dist_ratio = 0.8
e_vegetation_sprites_distance_ratio = 1.5
e_view_dist_ratio_detail = 30
e_view_dist_ratio_vegetation = 45
e_water_ocean_fft = 1
e_water_tesselation_amount = 10
es_DebrisLifetimeScale = 1
g_battleDust_enable = 1
g_breakage_particles_limit = 250
g_ragdollDistance = 40
g_ragdollMinTime = 15
q_Renderer = 3
q_ShaderFX = 3
q_ShaderGeneral = 3
q_ShaderGlass = 3
q_ShaderHDR = 3
q_ShaderIce = 3
q_ShaderMetal = 3
q_ShaderPostProcess = 3
q_ShaderShadow = 3
q_ShaderSky = 3
q_ShaderTerrain = 3
q_ShaderVegetation = 3
q_ShaderWater = 3
r_BeamsDistFactor = .05
r_BeamsMaxSlices = 200
r_ColorGrading = 1
r_DepthOfField = 2
r_DetailNumLayers = 2
r_DynTexAtlasSpritesMaxSize = 32
r_MotionBlur = 3
r_ShadowJittering = 2.5
r_SSAO_quality = 2
r_SSAO_radius = 2
r_sunshafts = 1
r_TexAtlasSize = 2048
r_WaterReflectionsQuality = 3
r_WaterUpdateDistance = 0.2
通过上面的INI设置,我们成功在DX9平台打开容积光照、海面波浪等效果[NextPage]
深度优化指南:低、中、高端平台INI参数设置推荐
次高端用户设置建议:
  对于2900XT和8800GTS和8800GT的用户,可以参考以下的autoexec.cfg的设置,以下是以High为基准,开启了视差映射和光柱(sunshafts)效果,使得其画面品质接近Very High。
sys_spec_ObjectDetail=4
sys_spec_Shading=3
sys_spec_VolumetricEffects=3
sys_spec_Shadows=3
sys_spec_Texture=3
sys_spec_Physics=3
sys_spec_PostProcessing=4
sys_spec_Particles=3
sys_spec_Sound=3
sys_spec_Water=3
sys_spec_GameEffects=3
r_DepthOfField=2
r_MotionBlur=0
r_sunshafts=1
r_usepom=1
中端用户设置建议:
  对于使用00GT/GTS,2600XT的这些中端用户而言,可以参考以下的autoexec.cfg的设置,这个设置是以medium设置为基准,开启了几个对速度影响不大的High的设置,使得实现画面与效能的平衡。主要开启了环境光吸收和景深效果,提高物件、水、山体和整体纹理的质量。
sys_spec_ObjectDetail=3
sys_spec_Shading=2
sys_spec_VolumetricEffects=2
sys_spec_Shadows=2
sys_spec_Texture=3
sys_spec_Physics=3
sys_spec_PostProcessing=2
sys_spec_Particles=2
sys_spec_Sound=2
sys_spec_Water=3
sys_spec_GameEffects=2
e_terrain_ao=1
q_ShaderTerrain=3
r_DepthOfField=1
r_MotionBlur=0
低端用户设置建议:
对于8500GT、、1600这些比较陈旧的显卡,我们也提供了一套设置方案,虽然在此设置下,Crysis的画面会差很多,但我们还是希望你能够体验到Crysis游戏的乐趣。
sys_spec_ObjectDetail=3
sys_spec_Shading=1
sys_spec_VolumetricEffects=1
sys_spec_Shadows=2
sys_spec_Texture=3
sys_spec_Physics=2
sys_spec_PostProcessing=1
sys_spec_Particles=1
sys_spec_Sound=2
sys_spec_Water=2
sys_spec_GameEffects=2
e_terrain_ao=1
q_ShaderTerrain=3
终极Ultra画质挑战
传说中Crysis还有个终极的Ultra画质,虽然这个只是传说,不能全信,但Very High在参数设定上还是留有一些余地的。以下是Ultra的设置,喜欢自虐的玩家可以将其加到autoexec.cfg,来见识下什么叫天下无敌终极最强画质。
ys_spec_ObjectDetail=4
sys_spec_Shading=4
sys_spec_VolumetricEffects=4
sys_spec_Shadows=4
sys_spec_Texture=4
sys_spec_Physics=4
sys_spec_PostProcessing=4
sys_spec_Particles=4
sys_spec_Sound=4
sys_spec_Water=4
sys_spec_GameEffects=4
e_cull_veg_activation 70?? (植被显示距离)
e_detail_materials_view_dist_xy 4096? (细节材质显示的距离)
e_detail_materials_view_dist_z 256
e_max_entity_lights 20 (最大光源数量)
e_particles_max_emitter_draw_screen 48
e_view_dist_ratio 80 (视野距离)
es_MaxphysDist 300 (最大的物理特效作用距离)
g_ragdolldistance 40 (布娃娃效果作用距离)
g_ragdollmintime 20 (布娃娃效果最短作用时间)
r_beamsdistfactor 0.01
r_beamsmaxslices 300
r_detaildistance 12
r_dytexmaxsize 100? (最大动态材质尺寸)
r_envtexupdateinterval 0.025
r_waterreflectionsquality 3 (水面反射质量)
r_waterupdatefactor 0.01 
  在自定义的Ultra质量下,远景质量更好,远处Very High下没有显示的房屋也显示了出来,岩壁上的纹理也更为清晰。海面的礁石在水面上也有了清晰的倒影。
控制台命令参数一览
  在看完上面的优化指南后,有能力的玩家也可以依照我们下面提供的控制台命令参数一览自己进行修改。
[NextPage]
硬件升级指南
Crysis升级指南
  对于大多人来说,想要升级到一天可以在高效果下流畅运行的Crysis的电脑就基本等于新购买一台电脑。如果你想要一台能够在高分辨率下开启抗锯齿全效流畅运行的电脑,那估计你要失望了,因为这样的电脑还没有诞生,即使是QXUltra SLI也不能满足这样的需求。当然如果你有高频的Core 2 Duo或者Athlon64X2,而显卡比较弱,也可以考虑购入块8800GT。
? Crysis对显存容量的需求可以用恐怖来形容,我们用Rivatuner对游戏的现存占用率进行监测。遗憾的是,RT的显存容量占用监测功能目前无法在Vista下使用,因此我们最高只能只能监测到XP下的HIGH设置显存占用。下面我们分别列出不同分辨率、设置跟AA下的显存占用情况。
中等设置???????? ?????????????高设置 ???????????????高设置 贴图中
* NoAA 184MB?????????????? * NoAA 315MB???????????? * NoAA 300MB
* 2xAA 295MB?????????????? * 2xAA 375MB???????????? * 2xAA 363MB
* 4xAA 355MB?????????????? * 4xAA 440MB???????????? * 4xAA 423MB
* 8xAA 395MB?????????????? * 8xAA 470MB???????????? * 8xAA 445MB?????????????????
* NoAA 223MB?????????????? * NoAA 368MB???????????? * NoAA 340MB
* 2xAA 375MB?????????????? * 2xAA 456MB???????????? * 2xAA 428MB
* 4xAA 455MB?????????????? * 4xAA 535MB???????????? * 4xAA 505MB
* NoAA 240MB?????????????? * NoAA 400MB???????????? * NoAA 370MB
* 2xAA 430MB?????????????? * 2xAA 515MB???????????? * 2xAA 475MB
* 4xAA 535MB?????????????? * 4xAA 615MB???????????? * 4xAA 585MB
? 从上面的数据我们可以看出,想要在HIGH设置以上玩Crysis,512MB或更多的显存是必须的。 我们也可以推算出,VeryHigh下由于LOD德提高,显存的需求量将进一步提高,因此512MB显存的显卡也只能满足 VeryHigh noAA这样的设置,在我们的测试中, VH设置下打开4AA之后512MB的88GT反被640MB的88GTS反超,虽然前者112SP以及更高的频率拥有比后者更强的运算能力,但显存不足再强的运算能力也是白搭,因此在为CRYSIS而升级机器的时候我们建议玩家要特别注意下显存容量。可以想象在1080高清分辨率下打开超远景的Ultra设置只有1GB显存的显卡才能满足了!!
  目前的Crysis在DX9环境下SLI有25-50%的提升,而目前DX10模式的Crysis对SLI支持还有问题,提升幅度并不大,Crytek和Nvidia承诺会竟快推出补丁和新的驱动来解决SLI效能的问题。Crysis对CPU要求也比较高,其对多核心的支持很好,游戏将画面、音效、AI、物理特效、远景等自动分为不同线程,基本上双核心的处理器才能满足其需求,双核心到四核心性能也有显著提升,如果要升级CPU,Intel Core Quad Q6600就是现阶段不错的选择,有比较高的性价比。
  虽然游戏本身2GB内存就足以应付,如果你想用Sandbox 2 SDK做地图和进行MOD开发,4GB内存也是必不可少的,当然你还需要一套64Bit的Windows XP或者Vista。 当然在64Bit下,Crysis的性能表现会更好,特别是在Very High的设定下。
  就在本文截稿之际,我们刚刚收到消息,最新一期的游戏权威杂志PCGAMER的评测栏目给Crysis打了一个98%超高分数!这一分数不仅超过了前作Farcry,甚至也超过杂志以前对《半条命》、《生化骑兵》这些经典游戏的评分。在评论中,PCGAMER对Crysis的顶级的图像表示肯定的同时、还对游戏出色的游戏性和节奏的把握、极富趣味的多人游戏和功能强大的地图编辑器做出了很高的评价。在小编看来Crysis顶尖的画面表现无论是任何平台的任何游戏都无一可以与其匹敌,甚至在未来两到三年内都很难有游戏可以超越它,也相信因为这个原因,相信会有不少游戏开发者会对其产生怨恨心理。当然Crysis系统要求过高,就注定了它不能被大众接受,而只是少数高端游戏发烧友的玩物,也是由于这个原因,会有不少人吃不到葡萄就说普通酸来贬低它,但这一切也都不能阻止Crysis在成为一款必备3D游戏性能评测软件的同时也将成为一款经典游戏。
[NextPage]
精美截图欣赏
转载自小熊北京  作者:tzeeyoung& &
UID1765374主题阅读权限50帖子精华0积分1854金钱731 荣誉2 人气0 在线时间86 小时评议0
Lv.5游侠白银会员, 积分 1854, 距离下一级还需 146 积分
帖子精华0积分1854金钱731 荣誉2 人气0 评议0
【电脑DIY游戏高级群】 文明用语.禁止一切*** 暴力
UID1024735主题阅读权限40帖子精华0积分516金钱4410 荣誉0 人气2 在线时间1126 小时评议0
Lv.4游侠高级会员, 积分 516, 距离下一级还需 484 积分
帖子精华0积分516金钱4410 荣誉0 人气2 评议0
再看一遍,感触颇多啊!想当年用X1550死拼CRYSIS的时候,真是兴奋异常啊!从FARCRY到CRYSIS,两次震撼!!
intel E7500(已超,3.6G,拖后腿中...)
索泰GTX4601G首发版(小超公版)
微星 P43 NEO3-F(稳定,不错)
Windows7 旗舰版 64位 SP1(很不错)
金斯顿DDR800 2GX2(正好)
康舒IP500+额定400W(足够)
飞利浦 240SW9(还行)SONY PS3silm (港) XBOX360(日)
GRAW☆不锈钢の92FS Brigadier权天使
UID1297406主题阅读权限60帖子精华0积分2952金钱1566 荣誉4 人气0 在线时间16 小时评议0
Lv.6游侠黄金会员, 积分 2952, 距离下一级还需 3048 积分
帖子精华0积分2952金钱1566 荣誉4 人气0 评议0
当n年用1900gt抗crysis...........
UID2534266主题阅读权限40帖子精华0积分572金钱4612 荣誉0 人气0 在线时间3265 小时评议0
Lv.4游侠高级会员, 积分 572, 距离下一级还需 428 积分
帖子精华0积分572金钱4612 荣誉0 人气0 评议0
想当年用EX550玩孤岛危机.........
NBA洛克公园【组员】超级巨星球员 热火
UID1408147主题阅读权限100帖子精华0积分2047金钱29826 荣誉21 人气528 在线时间7009 小时评议0
帖子精华0积分2047金钱29826 荣誉21 人气528 评议0
第一次打的时候用以前那块8800GTS320M,死超到690/才勉强全高基本流畅啊
都怪那时侯没人研究优化配置,一气之下就买了G92GTS了~~~残念
ASUS G51VX-RX5 bb 2009.7
CPU:&&Mobile Intel Core 2 Duo TGhz OC 3.30Ghz
RAM:&&Hynix 4G 800Mhz DDRII
HD:& & Seagate 320G 7200rpm + Hitachi 1TB 5400rpm
GPU:&&nVidia GeForce GTX 260M 112SP 256bit 1G
& && && && && &3DMark06 000+
UID1794709主题阅读权限50帖子精华0积分1059金钱2931 荣誉0 人气1 在线时间257 小时评议0
Lv.5游侠白银会员, 积分 1059, 距离下一级还需 941 积分
帖子精华0积分1059金钱2931 荣誉0 人气1 评议0
原帖由 jamaero13 于
10:45 发表
再看一遍,感触颇多啊!想当年用X1550死拼CRYSIS的时候,真是兴奋异常啊!从FARCRY到CRYSIS,两次震撼!!
这事刚过一年不到...啥玩意叫当年...太夸张了...
话说当年我也是用2600PRO抗CRYSIS...1G内存战斗时卡死我了....
AMD ATHLON II X4 620
劲冷 大黄蜂
鑫谷核动力530PV加强版
MSI 785GE-51
KINGSTON DDR1333 4G
西部数据500GB 8M(SATAII)
兔子腦漿倉庫管理員
UID1649523主题阅读权限50帖子精华0积分1392金钱3427 荣誉1 人气0 在线时间240 小时评议0
Lv.5游侠白银会员, 积分 1392, 距离下一级还需 608 积分
帖子精华0积分1392金钱3427 荣誉1 人气0 评议0
autoexec.cfg&&这个文件在什么地方 我怎么找不到了 。??
人生就像个茶几,不大但充满了杯具
对付SB们,最好的办法就是无视他,你越理他,他还越像丢了骨头的野狗似地,越咬着你不放。
理是说不通的,他会选择性无视;
骂是骂不疼的,他习惯逆来顺受;
就算你能人肉出他当面给他两大嘴巴——他还是睁着以一双阿Q的眼神冲你讪笑 呵,手打肿了吧
Powered by

我要回帖

更多关于 重大危险源控制措施 的文章

 

随机推荐