界面仅一块区域清晰,其他地方模糊

本文探讨如何在Unity中创建一个场景,使得特定区域(如圆形)保持清晰,而周围区域呈现模糊效果。通过修改Shader,分别设置不同的渲染顺序和混合模式,实现了高效且便捷的视觉效果。具体涉及两种Shader的编写,包括'Custom/WWW'和'Custom/XXX',它们控制了不同部分的透明度和渲染顺序。
摘要由CSDN通过智能技术生成

比如在做新手引导的时候,希望某块区域(比如一块圆形区域)是清晰的,其他地方是模糊的。

这样的话界面里的所有Shader都要改动,下面用个简单例子进行说明。


这里的是Unity中的情形,这是一种很麻烦的方法,但是效率较高,其实有个更方便的方法,就是根据当前屏幕指定的点来做个圆,判断当前Fragment是否在圆形区域内:


“从远到近”依次是,       1:制造模糊的面(plane,其alpha值是半透明) , 2 代表界面的面 , 3 一个球 ,直接create 一个sphere


这里用的是最原始的shaderlab:


================1中的shader:========


Shader "Custom/WWW" {
Properties {
        _MainTex ("Base (RGB)", 2D) = "white" {}
        _Color ("Color ", Color) = (1,1,1,1)
    }
    SubShader {
Blend SrcA

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值