游戏的图形修改:(简介,可跳过直接看教程)
是由Boris(鲍里斯)开发的
3D图形修改,用于 TES Skyrim,TES Oblivion,Fallout,GTA,Deus Ex 等游戏,它通过修改游戏的渲染函数调用并应用其他效果来工作。 可用的效果包括SSAO(环境光遮蔽), SSIL , Depth Of Field(景深), Lens FX, Bloom, HDR(高动态光照渲染), Tone Mapping(色调映射), Sharpening(锐化), Sun Rays, Shadows, Detailed Shadows, Reflection等各种版本。
ENBoost 是ENBSeries的补丁程序,可减少游戏的内存使用,因此您可以安装更多的修改而不会崩溃和出错,并且它更好地利用了现代视频卡的视频内存,ENBoost通常包含在最新的ENBSeries中,并且可以在enblocal.ini配置文件中作为内存管理器激活。(传奇版玩家应该都知道enbhost.exe ,它通常被包含在高核心ENB中,为ENB的渲染工作所消耗的内存额外提供一个载体,有了它传奇版可以很稳定地运行)
是由crosire开发的用于游戏和视频软件的通用后处理注入器,想象一下你喜欢的游戏拥有环境光遮蔽,真实的景深效果,色彩校正效果等等,ReShade公开了一种自动通用的方式来访问框架颜色和深度信息以及所有实现它的工具。 ReShade 拥有自己的着色语言和编译器,被称为 ReShade FX ,语法基于 HLSL ,这意味着它拥有着无限的可能性,任何人都可以基于它编写属于你自己的 Shaders(着色器),它们可以在任何地方使用,ReShade 会把它们编译成正确的着色器模型和语言。(这也是我们即将讲述使用的 RTGI 的基础)
而我们今天的教程就是教大家如何将天际必备的画质插件 ENB ,与强大的 “滤镜软件” ReShade 一起使用,并且提供 RTGI 的指路,ReShade 的部分效果使用等。
注意:“妄图” 使用 RTGI (模拟光线追踪)的玩家们,如果你们的显卡低于 GTX 1060 或 RX 580 水平的,我建议你们尽快把这个危险的想法从脑中除去,当然这篇文章对你依旧有意义,因为 ReShade 还有很多优秀的效果可以使用哦。
教程中我还会推荐一些可在 ReShade 中使用的,并且性价比较高的 Shaders(着色器)来把你的画质更优!
教程开始:
ENB 的安装我就不说了,老滚玩家基本都知道,由于下文中要提到 ENB 和 ReShade 兼容性,因此我简单地叙述一下 ENB 的工作原理:
介绍中提到ENB通过修改游戏的渲染函数调用来工作,用通俗的话讲就是需要劫持游戏的渲染核心,天际(Skyrim)的渲染核心是 DirectX 9,游戏会调用 DirectX 9 的核心文件:d3d9.dll,以此来使用里面的渲染函数,通常游戏本体(例如传奇版就是 TESV.exe )的目录中并不附带 d3d9.dll,所以它会调用系统中的 d3d9.dll(题外话:这也是我们要安装运行库的原因),但如果游戏目录中如果已经存在 d3d9.dll 文件的话,游戏本体就会优先调用它的目录中附带的 d3d9.dll,而 ENB 就是通过这个方式,把预先设计好的渲染代码放进 d3d9.dll 中,并放入游戏目录内,游戏本体优先调用目录中存在的dll,那么它就自动运行了目录中放置的 d3d9.dll 里面的ENB的代码,从而成功让 ENB 运作。
不仅 ENB 如此,大多数后处理效果注入器(例如 ReShade,SweetFX 等)通常也都是采用这种方法。
当然也有例外,由于民间有团队为天际(Skyrim)制作了 脚本扩展器(也就是我们常说的 SKSE ),为开发者们提供了另一个平台,论坛上也分流了 SKGE 插件(也叫 Skyrim Reloaded),这个以 SKSE插件 形式实现渲染效果的原理其实是 HOOK (这个我没法解释,要听懂的话得有编程基础),因此并不和劫持游戏渲染核心 d3d9.dll 的插件冲突(安装时)
(题外话,看不懂也不用在意呢)
上文中提到了大多数画质插件需要劫持游戏渲染核心来达到图形修改的效果,因此 ENB 用户应该都会注意到游戏目录中多出了个 d3d9.dll,这个就是 ENB 的本体,而我们接下来要安装的 ReShade ,它的本体也同样是 d3d9.dll ,如果你直接安装,你就把 ENB 覆盖了,这显然是不可取的, ENB 几乎是天际(Skyrim)画质的救星,但 ReShade 同样拥有很多优秀的效果,那么,ENB的作者Boris(鲍里斯)显然也想到了这一点,为我们提供了代理功能,ENB的代理功能就是其如何与 ReShade 共存最关键的一环。
当然看到这里,一些有基础知识的小伙伴们可能会想到直接把 ReShade 的 d3d9.dll 文件改个名字然后填进 enblocal.ini 的 ProxyLibrary 里不就是了。
那真是太好了,快去试试吧,记得启动游戏崩溃后别回来继续看了
好了开个玩笑,咱们言归正传,做法确实是这样没错,但还需要一些额外的操作来确保它们的兼容性,但在这之前,考虑到一些菜到抠脚的新手,我们先来进行傻瓜式教学:
如何下载 ReShade ,首先这是 ReShade 的主页地址:
成功下载 ReShade 后,我们会得到一个exe文件(可执行应用程序),双击运行之后会出现这样一个界面:
第一步很简单,点击中间那个非常明显的长按钮即可进入下一步(记住不要勾选下面那个可选框,除非你想让你电脑上所有 Vulkan 游戏都使用 ReShade )
当你在第一步中点击按钮来到下一步后,会出现一个列表窗口,会列出你电脑上的游戏,这时候千万不要选择你的天际(Skyrim)直接下载,因为它会下载 d3d9.dll 文件覆盖你的 ENB,那要怎么办呢,很简单,按以下步骤来:
1. 新建一个文件夹(临时用途,随意命名),并且同样新建一个文件,将扩展名改为exe(如果你不会改扩展名,你随便复制一个应用程序进来也一样,反正临时用,后期要删除)
2. 查看第二步时的窗口,找到右下角一个叫 Browse... 的按钮,点击它,你会看到一个通用对话框弹了出来,我们就将其跳转到刚刚新建的文件夹中选中那个新建的exe文件并打开:
3. 上一步点击打开按钮后,你会看到这样一个窗口,这是让你选择游戏的渲染核心,对于传奇版,自然是选中 DirectX 9 的:
4. 接下来弹出的窗口是让你选择你想要下载的 Shaders(着色器),也就是实现那些效果的文件,我个人推荐只选择前三项,多了你也用不到:
5. 然后点击 OK 按钮确认下载,静静等待即可,下载界面就不截图了,那个百分比应该很好认,下载完毕后还有界面停留,这时候你可以直接关闭,反正我们可以手动编辑配置文件。
下载完后就是这样:
最下面的exe可以删掉了,只是临时帮助下载一下,待会安装过去也是没用的文件。稍作解释:
第一个文件夹是 ReShade 的资源文件,用于放置 Shaders (着色器)和 Textures (纹理)的路径
第二个 d3d9.dll 就是 ReShade 的本体,上文已经提到
第三个 d3d9.log ,反正没用
第四个 ReShade.ini 是 ReShade 的配置文件,待会确保 ENB 与 ReShade 的兼容性也要编辑这个。
为了使用 ENB 的代理功能来与 ReShade 共存,我们需要将 ReShade 的 d3d9.dll 改个名字(名称随便,我这里改为 ReShade.dll):
现在的 ReShade 已经可以直接复制进你的游戏目录中了,它不会再覆盖 ENB ,在成功复制进游戏目录后,我们需要通过编辑一些配置文件来确保 ENB 与 ReShade 共存:
1. 打开游戏目录中的 enblocal.ini ,修改 [PROXY] 节点下的三个配置项为:
第一个配置项是 启用ENB的代理功能,必须为 true
第二个配置项是 将图形功能附加到被代理的插件中,由于 ReShade 并没有挂接渲染功能并且需要被注入到游戏进程中,第二项必须为 false
(题外话:像代理 SweetFX 这样的后处理渲染插件,第二项是需要为 true 的)
第三个配置项是 修改名字后的 ReShade 本体,我修改的是 ReShade.dll,因此我填ReShade.dll
修改完毕后保存继续
2. 打开游戏目录中的 ReShade.ini,在其中添加以下代码:
[DEPTH]
DepthCopyAtClearIndex=0
DepthCopyBeforeClears=0
DisableINTZ=1
UseAspectRatioHeuristics=0
更改后是这样的:
这里是较为专业的解释:添加的这些代码用来关闭 ReShade 的检测深度边缘的功能(用以支持景深类的效果),而 ENB 同样有类似的功能,不关闭就共用将会导致画面异常。
所有的配置文件被正确地修改并保存后,即可启动游戏,你会发现你的 ENB 和 ReShade 已经完美共存了,
进入游戏后,不仅有 ENB 的提示信息,也包括 ReShade 的初始化信息,这时候你可以按下键盘上的 Home键 呼出 ReShade 的主界面,
初期你会看到一些信息提示等,可以一直点继续或直接跳过,在 Shaders 选项卡下,有一个浏览框,这里面就是你下载的所有 Shaders(着色器),想用哪个勾选哪个即可。
这里讲一些题外话:
--------------------------------------------------------------------------------------------------------------------
对于锯齿(这种在场景物体边缘产生的锯齿样形变常常令玩家感到不爽,除了不美观以外,还会造成一些闪烁的不适感),传奇版自带的 MSAA(多重采样抗锯齿),通常是不会被纳入考虑范围内的,因为 MSAA 并不兼容 延迟渲染(ENB用以支持环境光遮蔽等效果),因此大多数人可能会注意到 ENB 自带的 EdgeAA(边缘抗锯齿),在 enblocal.ini 中:
关于 EdgeAA ,这应该是一个非常适合低端计算机的解决方案,因为它几乎完全不掉帧,并且抗锯齿效果也很明显,能够有效地清除图像边缘的锯齿,但它的缺点也很明显:它会模糊图像的边缘,中高端计算机用户可能会发现 SMAA(增强型子像素形态学抗锯齿)是一个更好的解决方案,它能在有效消除图像锯齿的同时最大程度地保留图像清晰度,(由于多数抗锯齿都是应用调色技术来消除锯齿,多多少少都会导致一些模糊感,SMAA 也一样,但它可能造成的模糊感你几乎完全看不出来),不仅是传奇版,特别版玩家同样可以借鉴这个,特别版自带的 TAA(时间性抗锯齿)虽然可以和 ENB 一起使用,但 TAA 也会在一定程度上造成画面模糊,因此特别版也可以用 SMAA 来代替 TAA 来达到最好图形质量。
方案:传奇版玩家关闭 enblocal.ini 的 EdgeAA(配置项保持为 false),或特别版玩家关闭游戏自带的 TAA,与 ReShade 共用,通过勾选启用 Shaders 选项卡浏览框中的 SMAA.fx 文件,以此来最大程度保留你的图像清晰度!
不用担心 SMAA 的性能消耗,即使你通过挂载 SweetFX 来使用 SMAA,它消耗的性能也不会超过你使用 MSAA X4,而当你看完这整篇文章 ,成功将 ENB 与 ReShade 共存,那么 ReShade 里的 SMAA.fx 会有更好的优化,消耗的性能非常少,而且消除锯齿效果也很好,可以放心启用。
--------------------------------------------------------------------------------------------------------------------
回到正题,接下来是 RTGI (Ray Tracing Global illumination
),模拟光线追踪效果的使用教程:
大家都知道,光线追踪 是最近 NVIDIA 新出的游戏技术,可以在很大程度上提升游戏画面的真实性,而我们要讲的 RTGI (模拟光线追踪),其实并不是真正的光线追踪,真正的光线追踪仅能在 DirectX 12 Ultimate 中实现,无论是传奇版(DirectX 9)还是特别版(DirectX 11),都不可能实现真正的光线追踪,如果有人说老滚光线追踪什么的,那就是个傻*
所以这里要讲的 RTGI ,只是假光线追踪,通俗来讲就是通过 ReShade 特有的着色器语言来模拟 光线追踪 的效果,比之真正的光线追踪可能差得远,但同样可以明显提升你的游戏画质。
下载成功后我们可以看到一个压缩文件,打开后是这样的:
压缩包中的两个文件夹:Shaders 和 Textures 就是 RTGI 的本体,你需要将这两个文件夹解压至 ReShade 的资源文件夹中,ReShade 的资源文件夹在上文中提到过,安装成功后你的游戏目录里有一个叫 reshade-shaders 的文件夹,打开后里面就是那两个(Shaders,Textures)文件夹,因此只需要将 RTGI 压缩包里的两个文件夹解压至安装好后的 ReShade 的资源文件夹中:
成功解压后,启动游戏按 Home键 呼出 ReShade 的主界面,你就可以在 Shaders 选项卡下的浏览框中找到 RTGI ,名称为 qUINT_rtgi.fx ,勾选此 Shader 后即可成功应用 模拟光线追踪 效果到游戏中,下面放一些截图:
测试效果截图:
(其实是虐杀原形2的图,暂时不方便截老滚5的图,反正虐杀原形2也是32位的DirectX 9游戏,而且老滚5都是漫反射材质,放虐杀原形2的图也可以更明显的看出效果)
RTGI_OFF:(模拟光线追踪未启动)
RTGI_ON:(模拟光线追踪已启动)
由于论坛不能上传太大的图片,测试图片都被压缩过,这里放出未被压缩的测试图片供各位下载观看:
(图片仅供参考,请以实物为准)