MCPLive > 杂志文章 > SweetFX游戏抗锯齿实战攻略

SweetFX游戏抗锯齿实战攻略

2013-06-17张夷捷《微型计算机》2013年5月下

游戏的锯齿总是令人那么难受,使用显卡进行硬件层面的抗锯齿处理吧,占用资源不说,效果还不一定很好。今天笔者向大家介绍一种通过软件处理达到抗锯齿效果的方式,它不仅对硬件要求不高、可以达到类似显卡抗锯齿的效果,且功能非常强大,还可以对游戏画面进行修饰和调节。

SweetFX游戏抗锯齿实战攻略

简单易用的SweetFX

喜欢摄影的朋友一定对Photoshop、光影魔术手等后期处理软件非常熟悉。在这类软件的帮助下,我们可以按照自己的喜好和图片所要强调的主题来调节画面的明暗、饱和、锐利程度,或者是处理成反转片、老照片、HDR等风格。此外,在播放视频的时候,绝大多数播放器也都能对画面的参数进行实时调节,以使画面更讨好眼球。然而在游戏中,似乎除了亮度和Gamma外,我们完全没有办法对画面的风格进行控制,这对于喜欢折腾、追求完美的玩家来说实属遗憾。如果有一款软件能够对游戏画面进行“PS”该多好啊!事实上,还真有一款神奇的软件能让我们对游戏画面进行修饰和调节,这就是本文要介绍的SweetFX Shader Suite(SweetFX着色器套件,后文简称“SweetFX”)。

准确来说SweetFX并不是一款软件,而是建立在InjectSMAA注入器(一款为游戏加入SMAA功能的第三方插件)上的一个MOD程序,能让我们把一系列的后处理着色效果应用到游戏中。理论上SweetFX与SMAA、FXAA等后处理式抗锯齿技术相似,都是利用显卡的着色器单元对已经处理完成准备输出的图像进行简单的2D处理。另外SweetFX对硬件的要求可以说非常低,无论N卡还是A卡,只要支持Shader Model 3.0(对应DirectX9.0c)都能工作。接下来笔者将带领大家一步步安装和使用SweetFX为游戏画面润色。

SweetFX着色器套件包括9个文件和一个文件夹
图一:SweetFX着色器套件包括9个文件和一个文件夹

SweetFX的所有设置都保存于SweetFX_settings.txt文件中,我们通过修改该文件来启用和配置各个特效。
图二:SweetFX的所有设置都保存于SweetFX_settings.txt文件中,我们通过修改该文件来启用和配置各个特效。

手把手教你安装SweetFX

一、首先我们需要下载SweetFX套件,解压后可以看到如图1所示的9个文件和1个文件夹。接下来,我们把这些文件全部拷贝到希望调整的某个游戏的可执行文件所在的目录中,不过在此之前好先进入游戏关闭游戏内置的任何类型的抗锯齿功能。

值得注意的是,对于《孤岛危机》系列、《潜行者》系列等游戏,其执行文件放在安装目录下的bin文件夹中,对于这几个游戏,我们需要把SweetFX用到的全部文件先拷贝到游戏安装目录,然后再把d3d9.dll、dxgi.dll以及injector.ini这三个文件移动到bin目录下才能让SweetFX工作。此外,由于SweetFX并不能保证在所有游戏中都正常运行,如果遇到黑屏或者跳出的情况,只要从游戏目录中把SweetFX相关的所有文件删除即可恢复。

二、接着打开游戏目录下的SweetFX_settings.txt文件,在“Choose effects”栏下面有“#define USE_SMAA_ANTIALIASING”、“#define USE_FXAA_ANTIALIASING”等十余个项目,每个项目后若是跟上参数“0”则意味着关闭该特效,若是“1”则代表开启,“// ”后面是对该项目的介绍,对于调节没有实际作用(图2)。

实际上“Chooseeffects”中的各项可以认为是每种特效的开关,而每种特效下面还有一个或多个可调节的子项目。这些子项目分别列在下方的“Anti-aliasing settings”、“FXAA Anti-aliasing settings”等段落中。每个项目后括号内的内容是提示我们这个项目参数的调节范围,注意不要超出。

三、初步调节好以后保存文件(不用关闭,马上还会用到)然后启动游戏,不出意外的话SweetFX已经生效了。我们可以用“Scroll Lock”键在游戏中实时的开启或关闭SweetFX特效,另外“PrintScreen”键可以用来对当前画面进行截图并保存到游戏安装目录。

第一次调节一般不太容易获得理想中的效果,这时候我们可以使用“ALT+TAB”键返回到桌面,重新编辑SweetFX_ settings.txt文件并保存,接着切换回游戏。如果游戏是全屏模式,那么此时新的设置就已经自动生效了。如果是用窗口模式进行游戏的话,那么需要按一下“Pause”键手动载入新的设置。需要说明的是,使用SweetFX应用到不同的游戏时,都需要从“拷贝SweetFX文件到游戏安装目录”开始重做上文提到的所有步骤。

SweetFX Configurator是SweetFX的一个GUI界面,使用起来更为直观和方便。
图三:SweetFX Configurator是SweetFX的一个GUI界面,使用起来更为直观和方便。

图4:SweetFX Conf igurator左侧为游戏列表,中部上方为各特效开关,中部下方为各特效的子选项

图5:《孤岛危机》系列游戏需要把SweetFX的源文件分别摆放,SweetFX也提供一个名为“Split SweetFX install”的功能,免除手动移动文件的麻烦。
图5:《孤岛危机》系列游戏需要把SweetFX的源文件分别摆放,SweetFX也提供一个名为“Split SweetFX install”的功能,免除手动移动文件的麻烦。

图6:为避免按键冲突,我们可以重定义SweetFX的快捷键。

图6:为避免按键冲突,我们可以重定义SweetFX的快捷键。

图7:RadeonPro也可以作为SweetFX的GUI界面使用,不过首先得自行准备SweetFX源文件,并在设置中开启SweetFX。
图7:RadeonPro也可以作为SweetFX的GUI界面使用,不过首先得自行准备SweetFX源文件,并在设置中开启SweetFX。

图8:使用RadeonPro能在GUI界面下方便地对SweetFX的参数进行调节,不过别忘了先“Enable SweetFX”。
图8:使用RadeonPro能在GUI界面下方便地对SweetFX的参数进行调节,不过别忘了先“Enable SweetFX”。

让SweetFX使用更方面SweetFX Configurator使用指南

对于习惯使用窗口界面进行选项调节的玩家在面对文本编辑时,多少有一些不适应。为了解决这些不便,国外玩家编写了一个名为SweetFX的GUI界面程序:SweetFXConfigurator(图3)。

SweetFX Configurator的使用方法是,首先把游戏的执行文件拖到SweetFX Configurator左侧SweetFX Conf igurator已经包含了SweetFX的源文件,不需要再单独下载)。接下来我们可以在“Categories”区域看到数十个特效,选中以后会在下方的“Category details”中列出该特效的子项目,选定一个子项目后在下方填入数值、打钩或是拉动滑动条进行调节。(图4)

全部调节完成之后点击下方的“Save new config”按钮,相当于之前编辑完SweetFX_settings.txt文件后保存的过程。后点击右上方的“Launch selected game”就可以进入游戏了。此外SweetFX用到的3个按键在某些游戏中可能已经被使用了,为避免冲突,可以在进入游戏前,点击“SweetF XInjector”按钮,在开启的对话框中重新定义SweetFX的快捷键。(图5、图6)

不过当前版本的SweetFX Configurator还存在一些小Bug,容易遇到的问题就是添加《孤岛危机》系列等游戏后一旦关闭SweetFXConfigurator后,再重新开启时会发现Categories和Categoriesdetails里面是空的,无法对游戏进行配置。解决的办法是点击“Remove SweetFX”后再点击“ Add SweetFX”就可以了,并且之前保存的配置文件也不会丢失。如果玩家遇到其他难以解决的B u g,可以通过前文提到的手动编辑SweetFX_settings.txt文件进行调节。

另外对于使用A卡的玩家,除了之前介绍过的两种方法以外,还可以使用本刊4月上《AMD显卡佳搭档用RadeonPro软件挖掘显卡潜力》一文介绍的RadeonPro软件为游戏开启SweetFX特效的方法。首先我们需要准备好SweetFX Shader Suite的源文件,然后进入RadeonPro的设置界面,在“SweetFX settings”页面勾选“EnableSweetFX integration”,同时在下方指定SweetFX源文件的位置以及开关SweetFX的快捷键(图7)。

保存设置后返回到RadeonPro主界面,把游戏的可执行文件添加到左侧的Profiles列表中,接着选择右侧的SweetFX标签,勾选“Enable SweetFX”,后选取需要的特效并设定适当的参数后就可以进入游戏了。事实上通过RadeonPro开启SweetFX特效不仅非常方便,而且能够同时享受RadeonPro提供的其他特色功能,比如“动态垂直同步”、“动态帧数目标控制”等。(图8)

实战SweetFX

SweetFX效果究竟如何,接下来我们通过一个实例来体验一下自己润色游戏画面的乐趣。相信大家一定还对2004年发布的经典游戏大作《孤岛惊魂》记忆犹新吧,这款游戏中标志性的蓝天白云场景在当时是非常棒的(图9)。因此笔者决定使用SweetFX对新的《孤岛危机3》进行一番“PS”,尝试将原作较为阴暗的画面替换成《孤岛惊魂》式的热带风格。

Step1

前面已经提到,SweetFX与一些游戏内置的抗锯齿功能会有冲突(《孤岛危机3》不存在这个问题)。为了方便读者体验SweetFX提供的SMAA及FXAA抗锯齿效果,笔者暂且关闭游戏内置的抗锯齿功能。由图10可以看到,SweetFX提供的两种后处理式抗锯齿技术都能够有效地抑制画面中的锯齿。不过考虑到对游戏中文字的副作用以及性能方面的影响,建议大家优先选择SMAA(图10)。

Step2

接着我们可以开启LumaSharpen(锐化)功能,并把sharp_strength值适当增加一些,这样能够提升游戏中纹理的清晰度。不过要注意的是LumaSharpen同样会锐化图像中的锯齿,因此强度不要太大否则将适得其反(图11)。

Step3

《孤岛危机3》的画面对比度较低,可以开启HDR功能适当地增加对比度并且模拟高光溢出的感觉。其中HDRPower控制整体的强度,数字越小HDR的效果越强,当然也越容易使画面出现过曝的情况,大家可以根据自己的需求适当调整(图12)。

Step4

后我们可以勾选Vibrance功能,并且把Values值设为0.55~0.85左右,这样能够提升画面的饱和度,使蓝天更蓝,绿草更绿。同时为了消除大幅增加饱和度之后可能造成的色带现象(主要出现在色域范围较小的显示器上),建议大家同时启用Dither功能。

图九9:《孤岛惊魂》中标志性的蓝天白云令所有游戏玩家难以忘怀
图九9:《孤岛惊魂》中标志性的蓝天白云令所有游戏玩家难以忘怀

图10:SweetFX提供的SMA A和FX A A能够利用较小的性能损失换来平滑的游戏画面
图10:SweetFX提供的SMA A和FX A A能够利用较小的性能损失换来平滑的游戏画面

图11:使用LumaSharpen(锐化)功能可以使游戏中的纹理看起来更清晰,相当于提升了一档“材质清晰度
图11:使用LumaSharpen(锐化)功能可以使游戏中的纹理看起来更清晰,相当于提升了一档“材质清晰度

图12:开启HDR功能后画面的对比度得到了提升,消除了灰霾感。
图12:开启HDR功能后画面的对比度得到了提升,消除了灰霾感。

图13:《孤岛危机3》原始画面
图13:《孤岛危机3》原始画面

图14:经过SweetFX润色后的《孤岛危机3》画面
图14:经过SweetFX润色后的《孤岛危机3》画面

表1:SweetFX主要特效对游戏性能影响测试(《古墓丽影9》,运行在1920×1080分辨率、高画质)
表1:SweetFX主要特效对游戏性能影响测试(《古墓丽影9》,运行在1920×1080分辨率、高画质)

经过简单的几步操作,《孤岛危机3》的画面看起来是不是更讨好眼球了呢!(图13,图14)除了画面效果以外,大家一定还有一个疑问:开启SweetFX是否会对游戏帧数产生明显的影响?对此笔者专门做了一个测试,不过由于SweetFX与Fraps等帧数记录软件有冲突,因此只能使用自带Benchmark的游戏进行测试。这里笔者选择了《古墓丽影9》(分辨率1920×1080,画质为“高”预设)进行测试。

由表1可以看到,在未开启SweetFX特效时平均帧率为69.5fps,单独开启各种特效后耗费资源的CRT效果也只损失了6.8%的性能。而两种后处理式抗锯齿技术SMAA和FXAA分别损失1.7%和5.5%,相对4×MSAA动辄10%以上的性能损失来说要高效得多。另外,笔者模拟之前《孤岛危机3》的例子,同时在《古墓丽影9》中开启SMAA、HDR、LumaSharpen、Vibrance和Dither共5种特效,总共损失6.8%的性能。测试证明SweetFX的确不耗费PC资源,笔者用不到7%的性能损失就换来了较好的抗锯齿效果、更加锐利的纹理以及更讨好眼球的画面色彩。

其实玩家在各大游戏论坛经常会发现某某游戏的“画质优化补丁”,实际上其中绝大部分都是SweetFX套件加上网友自己摸索的设置(保存于SweetFX_settings.txt文件中)。画面风格本来就是萝卜白菜各有所爱,他人所谓的“优化”对于自己来说并不一定适合,本文抛砖引玉为大家介绍了SweetFX着色器套件的使用方法,从此以后我们就可以打造真正属于自己的“画质补丁”了。

Tips:使用SweetFX需要注意的一些问题

1.SweetFX可以运行在Win 2000及更高版本的32bit、64bit系统上,但是只能兼容32bit的应用程序。

2.启动SweetFX前好先进入游戏关闭游戏内置的任何类型的抗锯齿,因为在部分游戏中开启抗锯齿会造成SweetFX失效。

3 .开启Fraps等帧数显示软件后SweetFX会失效,或者是开启SweetFX后会导致某些软件的帧数及GPU信息无法显示。

4.某些游戏完全不兼容SweetFX特效,比如《战争机器》。另外《孤岛惊魂3》只能DirectX9模式下启动SweetFX特效,以DirectX 11模式运行会黑屏。

5.某些游戏需要把d3d9.dll , dxgi.dll以及injector.ini文件放入“游戏安装目录in”文件夹,而其他文件置于“游戏安装目录”下。但是请注意,并非所有可执行文件置于bin文件夹的游戏都需要如此操作,在不确定的情况下可以查看SweetFX目录下的Game_compability.txt文件获得帮助。

6.由于SweetFX Configurator会往游戏安装目录拷贝DLL文件,这一动作会被某些安全软件警告并拦截,所以建议把SweetFX Configurator的主程序添加到安全软件的白名单中。

SweetFX 1.4主要特效解析

SMAAAnti-aliasing:SMAA(Enhanced Subpixe lMorphological Antialiasing),增强型子像素形态抗锯齿。

FXAA Anti-aliasing: FXAA(Fast Approximate Anti-Aliasing),快速近似抗锯齿

Cartoon:卡通画风格画面Advanced CRT:模拟CRT显示器的画面效果。请注意该特效对性能损耗较为明显,并且和SMA A,Cartoon,Bloom,HDR,LumaSharpen有冲突,建议不要同时开启。

Bloom:高光溢出效果模拟

HDR: HDR效果模拟

LumaSharpen:锐化图像

TECHNICOLOR:模拟老式“彩色印片法”制作出的电影画面风格

Cineon DPX:Cineon DPX电影画面风格

Monochrome:黑白画面

Lift Gamma Gain:可以分别调节阴影、中间调以及高光部位的亮度和饱和度

Tonemap:调节画面的Gamma、曝光度、饱和度

Vibrance:智能饱和度

Curves:曲线,调节画面对比度。

Sepia:棕色怀旧风格画面,当然也可以通过调节参数改变。为泛红或者泛蓝的画面。

Vignette:模拟镜头暗角效果

Dither:颤动,用以减少使用

Vibrance后出现的色带现象。

Border:添加黑色边框

Splitscreen:分屏显示,方便玩家对比启动SweetFX前后画面效果的差异。

分享到:

用户评论

用户名:

密码: