欢迎光临散文网 会员登陆 & 注册

MMD联动Unity学习笔记 Vol.31 Cinemachine后处理

2019-06-29 20:28 作者:NXL2  | 我要投稿

前言

    这期我们接着上期内容,官方的Cinemachine教程实际上已经出了7期,Shallot夏洛特大佬不知为何没有做下去,Up这次就自己去啃了一次生肉。本人水平有限,如果有翻译不对的地方,请各位小伙伴指正。

使用Cinemachine进行后期处理

    我们来看看如何使用后期处理扩展到激活的Cinemachine的后期流程虚拟摄像机,我们也将去看看我们如何融合我们每个人的不同后期流程虚拟相机。

    后期处理栈包括我们可以添加到我们的一系列行为,相机要彻底改善。我们场景的观感。

场景中有三个不同的虚拟相机

    在这个场景中,我们在三个不同的Cinemachine虚拟相机之间有一个简单的时间轴序列剪辑,我想要给它们添加一些不同的后处理效果,

添加后处理层

    我们在我们的主相机上创建一个Post-process Layer(后处理层),

设置方法

    我们再给它设置为自定义层让它作为游戏对象的层,我们将它命名为Post Processing,我们将后处理层组件里的Layer设置为刚才定义的Post Processing,为了优化性能它值得单独设置,我们在专用层中一般还有我们的Volumes代替默认设置,我想要应用一些默认后处理覆盖所有我们的相机,

设置方法

    所以我们在我们的相机上创建一个Post Process Volume,给我们的后处理创建一个新的Profile,然后我们可以应用我们默认的后处理,

添加默认设置的效果

    如你看到的,我添加了一些默认的颜色渐变,景深和光晕效果。现在我们的三个相机都附带一些后处理,我们第一个镜头看起来不错,但我们或许还可以做一些改变,

    我们添加一个Cinemachine Post Processing扩展,

    并创建一个新的Profile,

    现在默认的后处理在我们的设置的Profile下,作为覆盖附加的效果已经应用得非常好了,我们假设我们想让我们的第二个镜头,在我们的相机到达轨道上一个特定点时,它看起来有少许不同,我们想要混合一种不同的后处理效果,我们可以用Post Processing Volumes来达到这种效果。

创建后处理Volume

    我们创建一个Processing Volume(在层级中),

将后处理Volume物件的Layer设置为Post Processing
融合距离

    Blend Distance(融合距离)可以使相机在它当前的后处理和应用Volume的后处理之间融合,来作为进入融合区域,保持融合距离为0可以使相机在没有任何融合时立即切换效果。

相机未进入Volume区域时
相机进入Volume区域后

    现在当相机移动到Volume区域,我们的后处理效果将会改变。

    我们也可以在时间轴使用片段融合,来在不同的Cinemachine后处理状态之间进行过渡。举个例子,我们的最后的镜头,我们想让镜头开始聚焦在柱子,然后在它移动的过程中,我们将焦点移到背景上。

复制虚拟相机
创建Cinemachine镜头片段
将虚拟相机拖入镜头中

    要做到这些,我们先复制相机并复制后处理(Profile),

    我们只需调整景深设置在商店上,

设置景深焦点背景

    焦点就可以移到背景上,

观察焦点的变化
观察状态变化焦点的变化

   现在我们如果在两个镜头之间切换,我们可以看到我们想要的相机在开始和结尾状态之间融合。

    如果将它们移动到一起,并创建一个融合状态,我们可以看到我们的相机现在在两个不同的状态间融合,模拟一个拉近焦点的效果。

    如果我们在相机上只有一个景深后处理可用,这也不太值得,我们追踪一个目标,我们可以告诉Cinemachine,在基于它离相机的距离,我们的轨道目标,动态地拉动焦点。

    你可以看到通过使用后处理栈并覆盖带有Volumes的效果,或者Cinemachine后处理效果,我们可以给我们的项目做出一些非常有意思,和动态视觉相机效果。


MMD联动Unity学习笔记 Vol.31 Cinemachine后处理的评论 (共 条)

分享到微博请遵守国家法律