【《Unity 2018 Shaders and Effects Cookbook》提炼总结】(一)Post Processing Stack

1.什么是Post Processing Stack

Post Processing Stack可以在不编写任何额外代码的情况下调整游戏外观。使用Post Processing Stack也可以用于展示Shaders可以做什么以及如何改善游戏项目,因为在幕后,Post Processing Stack本身就是一个应用于屏幕的shader,恰当地称为屏幕着色器。

2.如何使用Post Processing Stack

a.从Window|Package Manger打开Package Manager( 或者直接按下 Ctrl + 9)

b.点击All按钮然后在列表清单里选择Post Processing

c.然后点击右上角的按钮Install安装,安装可能会要等一会儿,等In  Project列表会有Post-processing。

d.关闭Packages tab 然后回到场景窗口,选择主摄像机或者主相机附属的物体,比如说主相机附属一个人物主角,那么我们就选中这个主角下的这个相机(注意是一定是包含相机组件的物体),选中后在Unity左上角选择Component|Rendering|Post-processing Layer来添加Post-processing Behavior;如果列表里面没有这个选项这个时候我们重启一下Unity重复这一步操作我想应该就可以了。

e.添加完毕后,选中该组件里Layer选项,并选则Layer列表最下面的Post Processing,这一步用来告诉组件我们想要在屏幕上绘制哪些对象

f.设置此项,对象必须将其Layer属性设置为Post-processing才能被看到。

g.创建Post Process Volume,在Unity左上角的菜单里选择GameObject|3D Object|Post Volume 创建后,我们在Inspector里改变Layer为Post Processing。最后,为了方便我们后序工作,将Position归零并在Post Process Volume组件里勾上Is Global。

注意在声音上有一个Profile属性。这个属性包含了我们希望如何优化屏幕的信息。通过勾选Is Global选项,相当于我们声明了始终在对象上绘制此信息,如果不勾选它,效果将仅在放置音量的某个距离处可见。根据游戏的不同,这可以让你彻底修改游戏在某些区域的显示方式,但我们只关系在这一点上获得视觉效果。

3.使用纹理,渐晕和景深获得电影效果

现在我们已经安装了Post Processing Stack,我们可以创建我们的第一个Postprocessing Stack。新的Processing Stack无论是在全局还是在某个区域内都依赖于使用描述应如何绘制事物的volumes。

a.在Project 窗口下点击Create然后选择Post Processing Profile,我们可以对它进行改名,我这边暂且改成FilmProfile

b.创建完成后,我们会发现在之前创建的Post-process Volume的Inspector窗口下允许我们选择刚刚创建的FilmProfile。

c.首先,我们选择Post Process Volume下的Add effect选项并在右方选项里选择Grain

 默认情况下,我们将看到所以内容都显示为灰色。为了让它有所效果,我们可以点击左侧的复选框。右上角的On|off决定里所有复选框的开|关。

d.在本案例中,我们勾选Intensity选项并把它设为0.2.同样的,勾选Size属性并把它设为0.3,然后切换到游戏面板就可以查看我们调整的内容。我们会发现屏幕比之前的更加模糊

提示:与用户通常在Unity中工作的方式不同,提交了Post Processing Profiles 文件,我们可以在玩游戏时修改它们,并在停止游戏时仍然保存值。这对于调整值以实现您所追求的精确外观非常有用

e.我们要调整的下一个属性是Vignette属性。注意屏幕周围变黑的边缘,按照下图来调整。

f.之后,再一次选择Add effect,选中Depth of Field。我们将Foucus Distance改为6并将Focal Length改为80,这事我们应该已经注意到场景中有些区域已经边模糊了。

g.作为这些后我们会发现我们的场景比之前更像电影。
       每次我们向Post-processing Volume添加效果时,我们都会覆盖通常会显示在屏幕上的内容。如果你去过一家仍在使用胶片的电影院,你可能已经注意到在电影放映的过程中胶片上是如何有小斑点的。颗粒效应模拟了这种薄膜颗粒,使得这种效果随着电影播放的次数的增加而变得更加明显。这在恐怖游戏中经常被用来模糊玩家的视觉。

       在电影世界中,渐晕可能是使用错误类型的镜头对你想要达到的镜头类型或你正在拍摄的宽高比的意想不到的影响。在游戏开发中,我们通常使用渐晕来产生戏剧效果,或者通过使屏幕边缘与中心相比变暗和/或去饱和来使玩家专注于屏幕的中心。

       景深设置基本上决定了什么是模糊的,什么不是。其思想是将重要的项放在焦点中,而将不重要的项放在背景中。

4.用bloom和antialiasinng模拟现实生活

      bloom光学效果的目的是模拟现实世界中摄像机的成像效果,在现实世界中,有光的区域中的物体会沿边缘发光,从而使摄像机无法承受。bloom效应是非常独特的,你可能已经在魔法或天堂般的游戏中看到过它的应用

     a.在Project 窗口下点击Create然后选择Post Processing Profile,我们可以对它进行改名,我这边暂且改成BloomProfile.

     b.创建完成后,我们会发现在之前创建的Post-process Volume的Inspector窗口下允许我们选择刚刚创建的BloomProfile。

     c.选择Add effect ,选择Unity |Overrides。添加到Post Processing Volume组件的Overrides部分,选择箭头以打开其属性。检查Intensity属性并将其设置为3.然后,检查并将Threshold设置为0.75,将Soft Knee设置为0.1,将Radius设置为3。

     d.接下来,选择附加了Post Process Layer组件的对象(在本例中,它是FPSController | FirstPersonCharacter对象),然后从Inspector选项卡向下滚动到Post Process Layer脚本。从那里,将Anti-aliasing属性下拉列表更改为Fast Approximate Antialiasing。

作用

      如前所述,Bloom会使明亮的东西更加明亮,同时为较亮的区域增添光彩,我们可能会注意到路径比以前轻得多。这可以用来确保玩家将按照路径进入下一部分的游戏玩法。

      抗锯齿尝试减少锯齿的外观,这是线条在屏幕上出现锯齿的效果。这通常是由于玩家用来玩游戏的显示器没有足够高的分辨率来正确显示。消除锯齿将颜色与附近的线条相结合,以消除它们的突出性,但代价是游戏显得模糊。

5.用颜色分级设置情绪

      轻松改变场景情绪的最佳方法之一是改变场景使用的颜色。其中一个最好的例子是Matrix系列电影,其中现实世界总是蓝色,而计算机生成的Matrix世界总是绿色。我们可以通过使用颜色分级在我们的游戏中模仿这一点。

     a.在Project 窗口下点击Create然后选择Post Processing Profile,我们可以对它进行改名,我这边暂且改成ColorProfile.

     b.创建完成后,我们会发现在之前创建的Post-process Volume的Inspector窗口下允许我们选择刚刚创建的ColorProfile。

     c.选择Add effect ...按钮并选择Unity |Color Grading。

     d.检查Mode属性并将其设置为Low Definition Range(LDR)。我们将看到许多属性可用于调整屏幕上的颜色,其方式与Photoshop的色调/饱和度菜单的工作方式类似。检查Temperature属性并将其设置为30.然后,将Hue Shift属性设置为-20,将Saturation设置为15。

注意现在的场景它已经比之前的变得更黄更温暖。

6.用雾创造恐怖游戏

      最能充分利用后处理堆栈功能的游戏类型之一是恐怖类型。使用诸如景深之类的东西来隐藏可怕的物体,以及静电以使屏幕更具威胁性,可以真正帮助您将游戏牢牢地放在正确的位置并提供您想要的心情。

     a.在Project 窗口下点击Create然后选择Post Processing Profile,我们可以对它进行改名,我这边暂且改成HorrorProfile.

     b.创建完成后,我们会发现在之前创建的Post-process Volume的Inspector窗口下允许我们选择刚刚创建的HorrorProfile。

     c.但是,与以前的设置不同,雾设置位于Unity左上角的Window里面,通过进入Window |Lighting来设置。

     e.从那里,一直滚动到底部,直到你看到Other Settings选项。勾选Fog并将颜色设置为接近天空盒的值。

提示:如果你知道图形编辑软件中颜色的十六进制值,则只需在“颜色”窗口的“十六进制颜色”属性中键入它即可

     f.再次打开HorrorProfile并转到Inspector选项卡。选择Add effect ...按钮并选择Unity | Ambient Obscurance。选中Mode选项,然后选择Scalable Ambient Obscurance,将Intensity更改为2,将Radius更改为20。

 g.最后,灯光通常也会对场景的主题产生很大影响。在Hierarchy选项卡中选择direction Light对象,并在Light组件下的Inspector选项卡中将强度更改为0.5,然后将颜色调整为更暗的颜色。

h.保存改变返回场景这时我们会发现已经发生了变化。

作用

Ambient Occlusion选项将计算应该有额外阴影的区域。由于我们的场景中充满了树木,这将使底面比以前更暗。

以上均是在Unity2018.1.0f的基础上所做更改,项目工程在这里。https://github.com/xiaoshuivv/Postprocessing

猜你喜欢

转载自blog.csdn.net/qq_39218906/article/details/86620528