Unity使用[Post Process v2]排坑记录

发布于 2019-08-18  58 次阅读


导入Post process包

2018使用了全新的包管理工具
在Window->Package Manager打开包管理面板
左上角选择All packages,等待Untiy加载一会儿。如果加载不出来就上梯子试试。

选择Post process包,点击Install。我这边安装的是2.1.7版本。
一段时间后包就被自动导入了。

导入依赖排错

导入后,有可能会出现如下错误
报错
大致内容是找不到XRSetting这个类,让导入UnityEngine.XRUnityEngine.AR的引用。
一开始非常纳闷,到处找解决方法也没有找到,后面发现可能是这个问题比较简单,别人都懒得纪录了。其实报错信息写得非常明确,让在buit-in packages中添加XRAR包,只是我一开始都没有找到这个buit-in packages在哪儿。其实就是包管理面板的左上角。
buit-in packages
也需要等待一会儿,就能看见XRAR包,添加进来就好了。

PS.也可以在[项目路径]\Packages\manifest.json中进行配置。

添加效果

和以往一样还是在摄像机上挂脚本,只是这次需要先挂上一个Post process Layer组件,然后再加上效果的Post process volume组件。
Post process Layer需要设置的主要是Layer属性,需要将其和摄像机物体的Layer层设置为一致。
接下来添加Post process volume组件,并且创建一个Profile配置文件即可。
这里记得把Is Global勾上,才能看到效果生效了,至于这块儿的原理我们下面就来解析一下。

特效触发空间

新版本的PostProcess新增了一个效果,即在指定的碰撞区域内才会触发特效。我们可以很方便地动态制作效果的切换(如水下、某些室内空间的效果、以及buff效果)。
这块儿我还没具体摸熟,大致就是靠取消Is Global选项,让效果变成Local的状态。
然后通过Post process Layer的Trigger来设置触发的空间,如果摄像机进入了该区域,那么特效才生效。
后面我试试了再写上来。

Comments


来自像素世界的代码家,创造第九艺术!