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

unity中实现毛玻璃模糊效果

2023-03-09 14:30 作者:奇闻超解说  | 我要投稿

全屏毛玻璃模糊效果

原理

全屏毛玻璃模糊效果的原理是使用RenderTexture来捕捉当前屏幕的画面,然后使用模糊算法对RenderTexture图像进行模糊处理,最后将处理后的图像显示在屏幕上。这种方法可以实现全屏的毛玻璃效果,但是需要较高的性能。

部分对象毛玻璃模糊的原理是使用两个摄像机,一个摄像机只渲染需要模糊的物体,另一个摄像机渲染其他物体和背景。然后使用RenderTexture来捕捉第二个摄像机渲染的画面,对RenderTexture图像进行模糊处理,最后将处理后的图像作为材质贴在第一个摄像机渲染的物体上。这种方法可以实现部分物体的毛玻璃效果,但是需要较高的性能。

完整代码

// 创建一个RenderTexture作为中间渲染目标
private RenderTexture rt;

// 获取需要模糊的物体
private GameObject targetObj;

// 获取需要模糊的摄像机
private Camera blurCamera;

void Start()
{
// 创建RenderTexture,分辨率可以根据需要调整
rt = new RenderTexture(Screen.width, Screen.height, 0);

// 获取需要模糊的物体
targetObj = GameObject.Find("TargetObject");

// 获取需要模糊的摄像机
blurCamera = GameObject.Find("BlurCamera").GetComponent<Camera>();

// 将RenderTexture作为BlurCamera的渲染目标
blurCamera.targetTexture = rt;

// 将渲染后的图像作为材质贴在TargetObject上
targetObj.GetComponent<Renderer>().material.SetTexture("_BlurTex", rt);
}

void OnRenderImage(RenderTexture src, RenderTexture dest)
{
// 对RenderTexture图像进行模糊处理
Graphics.Blit(src, rt, blurMaterial);

// 将处理后的图像显示在屏幕上
Graphics.Blit(rt, dest);
}


部份对象毛玻璃模糊, 主体不模糊

原理

部分对象毛玻璃模糊的原理是使用两个摄像机,一个摄像机只渲染需要模糊的物体,另一个摄像机渲染其他物体和背景。然后使用RenderTexture来捕捉第二个摄像机渲染的画面,对RenderTexture图像进行模糊处理,最后将处理后的图像作为材质贴在第一个摄像机渲染的物体上。这种方法可以实现部分物体的毛玻璃效果,但是需要较高的性能。

完整代码

// 创建一个RenderTexture作为中间渲染目标
private RenderTexture rt;

// 获取需要模糊的物体
private GameObject targetObj;

// 获取需要模糊的摄像机
private Camera blurCamera;

void Start()
{
// 创建RenderTexture,分辨率可以根据需要调整
rt = new RenderTexture(Screen.width, Screen.height, 0);

// 获取需要模糊的物体
targetObj = GameObject.Find("TargetObject");

// 获取需要模糊的摄像机
blurCamera = GameObject.Find("BlurCamera").GetComponent<Camera>();

// 将RenderTexture作为BlurCamera的渲染目标
blurCamera.targetTexture = rt;

// 将渲染后的图像作为材质贴在TargetObject上
targetObj.GetComponent<Renderer>().material.SetTexture("_BlurTex", rt);
}

void OnRenderImage(RenderTexture src, RenderTexture dest)
{
// 对RenderTexture图像进行模糊处理
Graphics.Blit(src, rt, blurMaterial);

// 将处理后的图像显示在屏幕上
Graphics.Blit(rt, dest);
}


利用URP特性实现






unity中实现毛玻璃模糊效果的评论 (共 条)

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