UnityShader中怎么實現一個百葉窗效果

UnityShader中怎么實現一個百葉窗效果,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

成都創新互聯,專注為中小企業提供官網建設、營銷型網站制作、自適應網站建設、展示型網站設計、做網站等服務,幫助中小企業通過網站體現價值、有效益。幫助企業快速建站、解決網站建設與網站營銷推廣問題。

Shader "Unlit/NewUnlitShader"{ Properties { _MainTex ("Texture", 2D) = "white" {} _MainTex2 ("Texture2", 2D) = "white" {} _StartFlag("開始標記", float) = 0 _SpeedFactor("速度",Range(0.01,10)) = 0.1 _StartTime("時間初始標記,不要手動設置",float) = 1 _Column("百葉窗的列數",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#監聽鍵盤事件,設置為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#控制開關,點擊鍵盤任意按鍵。掛到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);  } } }  }

關于UnityShader中怎么實現一個百葉窗效果問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創新互聯行業資訊頻道了解更多相關知識。

分享標題:UnityShader中怎么實現一個百葉窗效果
標題網址:http://m.kartarina.com/article24/gecece.html

成都網站建設公司_創新互聯,為您提供網站設計軟件開發、網站收錄網頁設計公司、全網營銷推廣、品牌網站設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都seo排名網站優化
主站蜘蛛池模板: 一本色道无码道在线| 日韩AV无码一区二区三区不卡| 无码专区一va亚洲v专区在线| 亚洲v国产v天堂a无码久久| 亚洲av无码片在线播放| 无码丰满熟妇一区二区| 无码精品一区二区三区免费视频| 亚洲GV天堂GV无码男同| 亚洲av永久无码精品国产精品| HEYZO无码中文字幕人妻| 欧洲人妻丰满av无码久久不卡| 亚洲国产精品无码久久九九| 亚洲中文字幕无码mv| 午夜无码伦费影视在线观看| 精品人体无码一区二区三区| 69堂人成无码免费视频果冻传媒| 日韩欧国产精品一区综合无码| 国产成人无码免费视频97| 人妻无码久久一区二区三区免费| 久久无码人妻精品一区二区三区| 无码无需播放器在线观看| 亚洲av无码av在线播放| 麻豆aⅴ精品无码一区二区| 亚洲精品成人无码中文毛片不卡| 国产精品无码久久久久久久久久 | 无码丰满熟妇一区二区| 无码人妻少妇色欲AV一区二区| 国产成人AV无码精品| 人妻丰满?V无码久久不卡| 亚洲av无码专区国产不乱码| AV无码久久久久不卡蜜桃| 精品欧洲av无码一区二区三区| 欧洲成人午夜精品无码区久久| 久久青青草原亚洲AV无码麻豆| 亚洲av永久无码精品表情包| 亚洲自偷自偷偷色无码中文| 潮喷失禁大喷水无码| 亚洲AV无码成人网站久久精品大| 东京热av人妻无码专区| 亚洲国产综合无码一区| 无码人妻精品一区二区三|