简介
今天看到国外的一个大佬做的一个魔方刺客信条鹰眼的效果,我看着不错,就学着做了一下,秉着取其精华去其糟粕的原则进行了自己的复刻,并介绍一下我的制作步骤.大佬的视频地址我真的已经不知道了,所以也就不在这里发,只是在这里进行说明,这个思路不是我的思路,只是按照我自己的使用习惯进行了自己的改变.
效果演示
官方效果
复刻效果
点击v的时候屏幕会暗一下,再亮起来的时候就变成了鹰眼模式,但是不好的地方就是unity渲染是我无法控制,我每次有限渲染他的时候总会出现屏幕上的这种先后渲染级别错误的情况.
步骤
创建工程
选择Universal Project Template,里面带的Packages方便我们使用,不用再packageManager里面安装
创建高亮层
我们只要添加一个高亮的涂层就行,我只是把这个层的名字叫做高亮而已
创建PBR_shader
使用unity自带的shadergraph制作一个高亮的shader效果,这里面唯一要注意的就是高光,最好使用hdr的color
创建高亮材质球/默认材质球
制作一个高亮的材质球使用的就是上述的那个shader
制作一个默认的材质球,使用的是自己喜欢的一个材质球,主要是看自己的感觉,没什么特别指定的,也可以不用
创建Post-process Volume
常规模式
这个就是制作一个简单的volume,看自己的习惯
高亮模式
虽然叫做高亮模式,但是需要把整个的亮度变暗,因为我们要让高亮的物体亮一些,对比之下效果更强
创建UniversalRenderPipelineAsset
这个是显然管线的管理资源,我们要做的这个功能主要使用的就是这里面的功能
创建两个Forward Renderer
创建的方法也不难,和上面差不多,主要是点对,因为毕竟属性太多了.
normal
没什么需要改的,尤其是layermask
highlight
- 第一个要改的就是layermask,要去除我们要使用的层
- 然后添加两个renderfeatures
- 把layermask选为我们要看效果的层
- 把overrides的material选为我们上面做的高亮材质球
- 打开depth
- 并根据自己的喜好,选择depthtest
- 下面的normal同样使用上述的方法设置
设置UniversalRenderPipelineAsset
把我们的UniversalRenderPipelineAsset的两个属性分别为普通的效果和鹰眼的效果
并把UniversalRenderPipelineAsset添加到projectSettings的Graphics中
加入黑屏效果
添加一个panel,并加入一个黑屏的动画
写一个控制脚本
在update进行轮询,只要点击V就可以转换
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
public class Fuck : MonoBehaviour
{
public Camera m_camera;
public UniversalAdditionalCameraData m_uacd;
public int m_nIndex = 0;
public Volume m_volume;
public VolumeProfile vp1;
public VolumeProfile vp2;
public Animator m_anor;
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.V))
{
m_anor.SetTrigger("fuck");
Invoke("change", 0.1f);
}
}
void change()
{
if (m_nIndex == 0)
{
m_nIndex = 1;
m_uacd.SetRenderer(m_nIndex);
m_volume.profile = vp2;
}
else
{
m_nIndex = 0;
m_uacd.SetRenderer(m_nIndex);
m_volume.profile = vp1;
}
}
}
填入属性
把脚本挂到一个自己相信的gameobject上,然后按照下图的方式去修改属性
完成了
这样就完成了鹰眼效果的复刻
结束
先关注我 | 然后给我点赞 | 你今年就会 |
---|---|---|
git地址:https://gitee.com/asiworld
csdn博客地址:https://blog.csdn.net/JianShengShuaiest
bilibili地址:https://space.bilibili.com/15766978