亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Unity Shader實現(xiàn)黑幕過場效果

 更新時間:2021年07月27日 11:32:30   作者:Hello Bug.  
這篇文章主要為大家詳細介紹了Unity Shader實現(xiàn)黑幕過場效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Unity Shader實現(xiàn)黑幕過場效果的具體代碼,供大家參考,具體內(nèi)容如下

一、效果演示

二、實現(xiàn)

Shader:黑幕過場著色器

//黑幕過場著色器
 
Shader "Custom/BlackScreenSpread"
{
 Properties
 {
  _Color("Main Color", Color) = (1,1,1,1)
  _MainTex("Base (RGB)", 2D) = "white" {}
  _Radius("Radius",float)=1.5
  _Center_X("Center_X", float) =0.5 
  _Center_Y("Center_Y", float) =0.5
  _Sharp("Sharp", float) = 100
 }
 
 SubShader
 {
  Pass
  {
   ZTest Always Cull Off ZWrite Off
   Fog{ Mode off
  }
   
  CGPROGRAM
  #pragma vertex vert_img        
  #pragma fragment frag             
  #include "UnityCG.cginc"  
 
  fixed4 _Color;
  sampler2D _MainTex;
  float _Radius;
  float _Center_X;
  float _Center_Y;
  float _Sharp;
 
  float _tanh(float x)
  {
   return 2.0f / (1.0f + exp(-2.0f * x)) - 1.0f;
  }
 
  float4 frag(v2f_img i) : COLOR
  {  
   _Center_X=_Center_X*(_ScreenParams.x / _ScreenParams.y);
   float x = i.uv.x*(_ScreenParams.x / _ScreenParams.y);
   float y = i.uv.y;
 
   float dis = sqrt((x - _Center_X)*(x - _Center_X) + (y - _Center_Y)*(y - _Center_Y));
   float t = _Radius - dis;
   float rt = 0.5f + _tanh(t * _Sharp) * 0.5f;
   float col = float4(rt, rt, rt, rt);
   return tex2D(_MainTex, i.uv) * col * _Color;
  }
  ENDCG
 }
 }
 Fallback off
}

CS:后處理的基類

using UnityEngine;
 
/// <summary>
/// 后處理的基類
/// </summary>
[ExecuteInEditMode]
[RequireComponent(typeof(Camera))]
public class PostEffectBase : MonoBehaviour
{
    [Header("后處理著色器")]
    public Shader shader = null;
 
    private Material _material = null;
 
    public Material material
    {
        get
        {
            if (_material == null)
            {
                _material = GenerateMaterial(shader);
            }
            return _material;
        }
    }
 
    protected Material GenerateMaterial(Shader shader)
    {
        if (shader == null || shader.isSupported == false)
        {
            return null;
        }
        Material material = new Material(shader);
        material.hideFlags = HideFlags.DontSave;
        if (material)
        {
            return material;
        }
        return null;
    }
}

CS:黑幕過場效果(掛載到渲染的相機上)

using UnityEngine;
 
/// <summary>
/// 黑幕過場效果
/// </summary>
[RequireComponent(typeof(Camera))]
public class BlackScreenSpread : PostEffectBase
{
    [Header("黑幕半徑")]
    [Space(25)]
    public float radius;
 
    [Header("黑幕中心")]
    public Vector2 center;
 
    [Header("使用邊緣模糊")]
    public bool useEdgeBlur;
    [Header("邊緣模糊值")]
    public float blur = 10;
 
    public void OnRenderImage(RenderTexture source, RenderTexture destination)
    {
        if (material)
        {
            material.SetFloat("_Center_X", center.x);
            material.SetFloat("_Center_Y", center.y);
            material.SetFloat("_Radius", radius);
            material.SetFloat("_Sharp", useEdgeBlur ? blur : 200);
            Graphics.Blit(source, destination, material);
        }
        else
        {
            Graphics.Blit(source, destination);
        }
    }
}

——設(shè)置屬性

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 5分鐘用C#實現(xiàn)串口助手

    5分鐘用C#實現(xiàn)串口助手

    本文主要介紹了C#實現(xiàn)串口助手,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • 理解C#中的枚舉(簡明易懂)

    理解C#中的枚舉(簡明易懂)

    這篇文章主要介紹了理解C#中的枚舉(簡明易懂),本文講解了枚舉的優(yōu)點、枚舉說明、枚舉的類型、枚舉的使用建議等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • WPF自定義選擇年月控件詳解

    WPF自定義選擇年月控件詳解

    這篇文章主要為大家詳細介紹了WPF自定義選擇年月控件的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Unity3D基于UGUI實現(xiàn)虛擬搖桿

    Unity3D基于UGUI實現(xiàn)虛擬搖桿

    這篇文章主要為大家詳細介紹了Unity3D基于UGUI實現(xiàn)虛擬搖桿,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C?sharp?(#)?數(shù)據(jù)類型獲取方式

    C?sharp?(#)?數(shù)據(jù)類型獲取方式

    這篇文章主要介紹了C?sharp?(#)?數(shù)據(jù)類型獲取方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Unity的Console的控制類LogEntries深入解析與實用案例

    Unity的Console的控制類LogEntries深入解析與實用案例

    這篇文章主要為大家介紹了Unity的Console的控制類LogEntries深入解析與實用案例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • C#生成本地配置文件的實現(xiàn)示例

    C#生成本地配置文件的實現(xiàn)示例

    本文將介紹如何使用C#語言生成本地配置文件,以便為應用程序提供靈活的配置選項,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • .net的命名空間類庫的簡單介紹

    .net的命名空間類庫的簡單介紹

    .net的命名空間類庫的簡單介紹,需要的朋友可以參考一下
    2013-04-04
  • 支持windows與linux的php計劃任務的實現(xiàn)方法

    支持windows與linux的php計劃任務的實現(xiàn)方法

    這篇文章主要介紹了支持windows與linux的php計劃任務的實現(xiàn)方法,較為詳細的講述了php計劃任務中涉及到的php程序?qū)崿F(xiàn)方法、Windows計劃任務實現(xiàn)方法等,需要的朋友可以參考下
    2014-11-11
  • c# 如何實現(xiàn)獲取二維數(shù)組的列數(shù)

    c# 如何實現(xiàn)獲取二維數(shù)組的列數(shù)

    這篇文章主要介紹了c# 實現(xiàn)獲取二維數(shù)組的列數(shù)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04

最新評論