最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Unity Shader實(shí)現(xiàn)黑幕過場(chǎng)效果

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

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

一、效果演示

二、實(shí)現(xiàn)

Shader:黑幕過場(chǎng)著色器

//黑幕過場(chǎng)著色器
 
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:黑幕過場(chǎng)效果(掛載到渲染的相機(jī)上)

using UnityEngine;
 
/// <summary>
/// 黑幕過場(chǎng)效果
/// </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)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C#獲取網(wǎng)頁源代碼的方法

    C#獲取網(wǎng)頁源代碼的方法

    這篇文章主要介紹了C#獲取網(wǎng)頁源代碼的方法,涉及C#基于自定義函數(shù)讀取網(wǎng)頁html代碼的方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • C#設(shè)置自定義文件圖標(biāo)實(shí)現(xiàn)雙擊啟動(dòng)(修改注冊(cè)表)

    C#設(shè)置自定義文件圖標(biāo)實(shí)現(xiàn)雙擊啟動(dòng)(修改注冊(cè)表)

    這篇文章介紹的是利用C#設(shè)置自定義文件圖標(biāo),然后實(shí)現(xiàn)雙擊啟動(dòng)的功能,文章給出了示例代碼,介紹的很詳細(xì),有需要的可以參考借鑒。
    2016-08-08
  • C#微信公眾平臺(tái)開發(fā)之高級(jí)群發(fā)接口

    C#微信公眾平臺(tái)開發(fā)之高級(jí)群發(fā)接口

    這篇文章主要為大家詳細(xì)介紹了C#微信公眾平臺(tái)開發(fā)之高級(jí)群發(fā)接口的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • C#的String轉(zhuǎn)換成float防止精度丟失問題的解決

    C#的String轉(zhuǎn)換成float防止精度丟失問題的解決

    這篇文章主要介紹了C#的String轉(zhuǎn)換成float防止精度丟失問題的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • C#多線程系列之原子操作

    C#多線程系列之原子操作

    本文詳細(xì)講解了C#多線程的原子操作,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • Unity3D實(shí)戰(zhàn)之答題系統(tǒng)的實(shí)現(xiàn)

    Unity3D實(shí)戰(zhàn)之答題系統(tǒng)的實(shí)現(xiàn)

    本文將用Unity3D制作一個(gè)答題系統(tǒng),可以從文本文檔中提取題目和分?jǐn)?shù),然后綁定到UI上,在答題的過程中,自動(dòng)判斷分?jǐn)?shù),自動(dòng)判斷正確率。感興趣的可以學(xué)習(xí)一下
    2022-03-03
  • C#實(shí)現(xiàn)NPOI的Excel導(dǎo)出詳解

    C#實(shí)現(xiàn)NPOI的Excel導(dǎo)出詳解

    這篇文章主要介紹了C#實(shí)現(xiàn)NPOI的Excel導(dǎo)出的示例代碼,文中的實(shí)現(xiàn)過程講解詳細(xì),對(duì)我們的學(xué)習(xí)或工作有一定的幫助,感興趣的可以跟隨小編一起學(xué)習(xí)一下
    2022-01-01
  • C#如何獲取文件全路徑、目錄、擴(kuò)展名、文件名稱

    C#如何獲取文件全路徑、目錄、擴(kuò)展名、文件名稱

    這篇文章主要介紹了C#如何獲取文件全路徑、目錄、擴(kuò)展名、文件名稱問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • C#使用NPOI導(dǎo)出Excel類封裝

    C#使用NPOI導(dǎo)出Excel類封裝

    這篇文章主要為大家詳細(xì)介紹了C#使用NPOI導(dǎo)出Excel類封裝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 比Math類庫abs()方法性能更高的取絕對(duì)值方法介紹

    比Math類庫abs()方法性能更高的取絕對(duì)值方法介紹

    這篇文章主要給大家介紹了一種比Math類庫abs()方法性能更高的取絕對(duì)值方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04

最新評(píng)論

镇宁| 马龙县| 泰安市| 基隆市| 平塘县| 清镇市| 奎屯市| 秦皇岛市| 江城| 象州县| 砀山县| 镇安县| 海晏县| 古蔺县| 碌曲县| 曲周县| 克什克腾旗| 徐水县| 榆中县| 泰兴市| 石景山区| 金阳县| 同德县| 同德县| 股票| 新蔡县| 桦甸市| 灵宝市| 化德县| 德令哈市| 邛崃市| 屯门区| 扎鲁特旗| 海晏县| 霸州市| 徐州市| 禹州市| 禹城市| 万安县| 绥德县| 台东县|