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

UnityShader實現(xiàn)百葉窗效果

 更新時間:2019年11月30日 10:32:23   作者:貓叔壓力大  
這篇文章主要為大家詳細介紹了UnityShader實現(xiàn)百葉窗效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了UnityShader百葉窗展示的具體代碼,供大家參考,具體內(nèi)容如下

shader實現(xiàn)以上百葉窗效果,主要通過shader實現(xiàn)C#只是做開關(guān)控制

看到一篇文章弄的比較復(fù)雜,覺得可以都通過shader來實現(xiàn),就動手了。

shader定義了2張texture,自己隨便找2張圖片拖進去就行。

Shader "Unlit/NewUnlitShader"
{
 Properties
 {
 _MainTex ("Texture", 2D) = "white" {}
 _MainTex2 ("Texture2", 2D) = "white" {}
 _StartFlag("開始標記", float) = 0
 _SpeedFactor("速度",Range(0.01,10)) = 0.1
 _StartTime("時間初始標記,不要手動設(shè)置",float) = 1
 _Column("百葉窗的列數(shù)",float ) = 5
 }
 SubShader
 {
 Tags { "RenderType"="Opaque" }
 LOD 100
 
 Pass
 {
 CGPROGRAM
 #pragma vertex vert
 #pragma fragment frag
 // make fog work
 #pragma multi_compile_fog
 
 #include "UnityCG.cginc"
 
 struct appdata
 {
 float4 vertex : POSITION;
 float2 uv : TEXCOORD0;
 };
 
 struct v2f
 {
 float2 uv : TEXCOORD0;
 float4 vertex : SV_POSITION;
 };
 
 sampler2D _MainTex;
 float4 _MainTex_ST;
 
 sampler2D _MainTex2;
 float4 _MainTex2_ST;
 
 float _StartFlag;
 float _Column;
 float _SpeedFactor;
 float _StartTime;
 
 v2f vert (appdata v)
 {
 v2f o;
 o.vertex = UnityObjectToClipPos(v.vertex);
 o.uv = TRANSFORM_TEX(v.uv, _MainTex);
 return o;
 }
 
 fixed4 frag (v2f i) : SV_Target
 {
 fixed4 col = 0;
 //_StartFlag 通過C#監(jiān)聽鍵盤事件,設(shè)置為1,作為開始動畫的標記
 //step(a,b) => if(b>=a) return 1 else return 0
 //i.uv.x % (1/_Column) i.uv.x范圍是0-1,分成_Column份 每份(1/_Column)
 fixed result = _StartFlag * step( i.uv.x % (1/_Column) ,(_Time.y - _StartTime) * _SpeedFactor );
 
 if( result == 0 )
 {
 col = tex2D(_MainTex, i.uv);
 }
 else
 {
 col = tex2D(_MainTex2, i.uv);
 }
 
 return col;
 }
 ENDCG
 }
 }
}

C#控制開關(guān),點擊鍵盤任意按鍵。掛到panel上

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class baiyechuang : MonoBehaviour {
 
 // Use this for initialization
 Material mat;
 MeshRenderer meshRen;
 void Start () {
 meshRen = this.GetComponent<MeshRenderer> ();
 print (meshRen);
 mat = meshRen.material;
 print (mat);
 }
 
 void OnGUI() {
 if (Input.anyKeyDown)
 {
  Event e = Event.current;
  if (e.isMouse) {
  Debug.Log(e.button);
  }
  if (e.isKey)
  {
  if (e.keyCode == KeyCode.None)
   return;
  Debug.Log(e.keyCode);
 mat.SetFloat ("_StartTime", Time.timeSinceLevelLoad);
 mat.SetFloat ("_StartFlag", 1);
  }
 }
 }
 
 
}

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

您可能感興趣的文章:

相關(guān)文章

  • Unity shader實現(xiàn)移動端模擬深度水效果

    Unity shader實現(xiàn)移動端模擬深度水效果

    這篇文章主要為大家詳細介紹了Unity shader實現(xiàn)移動端模擬深度水效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • C#實現(xiàn)的SN快速輸入工具實例

    C#實現(xiàn)的SN快速輸入工具實例

    這篇文章主要介紹了C#實現(xiàn)的SN快速輸入工具,以實例的形式詳細講述了C#實現(xiàn)序列號快速輸入的方法,是非常實用的技巧,需要的朋友可以參考下
    2014-11-11
  • C#中的var關(guān)鍵字用法介紹

    C#中的var關(guān)鍵字用法介紹

    這篇文章介紹了C#中的var關(guān)鍵字用法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • C# Onnx實現(xiàn)DIS高精度圖像二類分割

    C# Onnx實現(xiàn)DIS高精度圖像二類分割

    這篇文章主要為大家詳細介紹了C# Onnx實現(xiàn)DIS高精度圖像二類分割的相關(guān)知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習一下
    2023-11-11
  • 詳解WPF如何在Panel中實現(xiàn)設(shè)置所有子項間距

    詳解WPF如何在Panel中實現(xiàn)設(shè)置所有子項間距

    這篇文章主要為大家詳細介紹了WPF如何在Panel中實現(xiàn)設(shè)置所有子項間距,本文借鑒了 Qt 中的 Spacing 設(shè)置方法,感興趣的小伙伴可以跟隨小編一起學(xué)習一下
    2024-10-10
  • C#實現(xiàn)按照指定長度在數(shù)字前補0方法小結(jié)

    C#實現(xiàn)按照指定長度在數(shù)字前補0方法小結(jié)

    這篇文章主要介紹了C#實現(xiàn)按照指定長度在數(shù)字前補0方法,實例總結(jié)了兩個常用的數(shù)字補0的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • C#中Dictionary<TKey,TValue>排序方式的實現(xiàn)

    C#中Dictionary<TKey,TValue>排序方式的實現(xiàn)

    這篇文章主要介紹了C#中Dictionary<TKey,TValue>排序方式的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2021-02-02
  • 詳解LINQ入門(上篇)

    詳解LINQ入門(上篇)

    這篇文章主要介紹了詳解LINQ入門(上篇),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2019-12-12
  • C#中如何限制TextBox控件內(nèi)輸入值的范圍

    C#中如何限制TextBox控件內(nèi)輸入值的范圍

    這篇文章主要介紹了C#中如何限制TextBox控件內(nèi)輸入值的范圍,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • C#判斷字符串中內(nèi)容是否為純數(shù)字的詳細教程

    C#判斷字符串中內(nèi)容是否為純數(shù)字的詳細教程

    在進行C#編程時候,有的時候我們需要判斷一個字符串是否是數(shù)字字符串,下面這篇文章主要給大家介紹了關(guān)于C#判斷字符串中內(nèi)容是否為純數(shù)字的詳細教程,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-04-04

最新評論

吐鲁番市| 旅游| 永济市| 道真| 柘城县| 西平县| 黎川县| 香河县| 扎鲁特旗| 汶上县| 老河口市| 泰顺县| 六盘水市| 闽清县| 读书| 图木舒克市| 岳西县| 南投市| 迁安市| 久治县| 水城县| 临武县| 南城县| 滦平县| 洛川县| 绥宁县| 兴安盟| 德庆县| 洪洞县| 晴隆县| 邵武市| 额敏县| 深水埗区| 龙山县| 隆林| 吴堡县| 微山县| 河北区| 长汀县| 梁河县| 增城市|