一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - Unity3D Ui利用shader添加效果

Unity3D Ui利用shader添加效果

2022-03-11 11:32htwzl C#

這篇文章主要為大家詳細介紹了Unity3D Ui利用shader添加效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了unity3d ui利用shader添加效果的具體代碼,供大家參考,具體內容如下

Unity3D Ui利用shader添加效果

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
// upgrade note: replaced 'mul(unity_matrix_mvp,*)' with 'unityobjecttoclippos(*)'
 
shader "ui/unlit/flowlight"
{
 properties
 {
 [perrendererdata] _maintex("sprite texture", 2d) = "white" {}
 _color("tint", color) = (1, 1, 1, 1)
 [materialtoggle] _offset("offset", float) = 0
 [materialtoggle] pixelsnap("pixel snap", float) = 0
 
 /* flowlight */
 _flowlightmasktex("mask texture", 2d) = "white" {}
 _flowlighttex("add move texture", 2d) = "white" {}
 _flowlightcolor("flowlight color", color) = (0, 0, 0, 1)
 _power("power", float) = 1
 _speedx("speedx", float) = 1
 _speedy("speedy", float) = 0
 /* --------- */
 
 /* ui */
 _stencilcomp("stencil comparison", float) = 8
 _stencil("stencil id", float) = 0
 _stencilop("stencil operation", float) = 0
 _stencilwritemask("stencil write mask", float) = 255
 _stencilreadmask("stencil read mask", float) = 255
 /* -- */
 }
 
 subshader
 {
 tags
 {
 "queue" = "transparent"
 "ignoreprojector" = "true"
 "rendertype" = "transparent"
 "previewtype" = "plane"
 "canusespriteatlas" = "true"
 }
 
 cull off
 lighting off
 zwrite off
 blend one oneminussrcalpha
 
 /* ui */
 stencil
 {
 ref[_stencil]
 comp[_stencilcomp]
 pass[_stencilop]
 readmask[_stencilreadmask]
 writemask[_stencilwritemask]
 }
 /* -- */
 pass
 {
 cgprogram
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile _ pixelsnap_on
#include "unitycg.cginc"
 
 struct appdata_t
 {
 float4 vertex : position;
 float4 color : color;
 float2 texcoord : texcoord0;
 };
 
 struct v2f
 {
 float4 vertex : sv_position;
 fixed4 color : color;
 half2 texcoord : texcoord0;
 
 /* flowlight */
 half2 texflowlight : texcoord1;
 /* --------- */
 };
 
 fixed4 _color;
 
 /* flowlight */
 fixed4 _flowlightcolor;
 float _power;
 sampler2d _flowlighttex;
 fixed4 _flowlighttex_st;
 sampler2d _flowlightmasktex;
 fixed4 _flowlightmasktex_st;
 fixed _speedx;
 fixed _speedy;
 fixed x = 0;
 float _offset;
 /* --------- */
 v2f vert(appdata_t in)
 {
 v2f out;
 out.vertex = unityobjecttoclippos(in.vertex);
 out.texcoord = in.texcoord;
 /* flowlight */
 out.texflowlight = transform_tex(in.texcoord, _flowlighttex);
 out.texflowlight.x += _time * _speedx;
 out.texflowlight.y += _time * _speedy;
 out.color = in.color * _color;
#ifdef pixelsnap_on
 out.vertex = unitypixelsnap(out.vertex);
#endif
 return out;
 }
 
 sampler2d _maintex;
 
 fixed4 frag(v2f in) : sv_target
 {
 fixed4 c = tex2d(_maintex, in.texcoord)*in.color;
 fixed4 cmask = tex2d(_flowlightmasktex, in.texcoord);
 if (cmask.a != 0)
 {
 /* flowlight */
 fixed4 cadd = tex2d(_flowlighttex, in.texflowlight) * _power;
 cadd.rgb *= c.rgb;
 c.rgb += cadd.rgb;
 }
 c.rgb *= c.a;
 /* --------- */
 
 return c;
 }
 endcg
 }
 }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/htwzl/article/details/78184248

延伸 · 閱讀

精彩推薦
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
主站蜘蛛池模板: 91久久福利国产成人精品 | 2023最新伦理片 | 男人天堂亚洲 | 欧美日韩一区二区综合 | 99久久国产亚洲综合精品 | 久久永久视频 | 我们日本在线观看免费动漫下载 | 车上小婕子系列辣文小说 | 亚洲经典 | 日本大学jalapsikix | 高贵女王调奴vk | 99热在这里只有精品 | 午夜家庭影院 | 日本伊人色综合网 | 超级乱淫伦短篇在车上 | 99热视频| 天天色影视综合网 | 校园春色偷拍自拍 | 动漫美女隐私尿口图片 | 污小说免费 | 国产v在线在线观看羞羞答答 | 97综合久久| 爽好舒服使劲添高h视频 | 精品国产福利在线 | 亚洲国产成人久久综合一 | 91动漫在线观看 | 日韩久久网 | 成人影院vs一区二区 | 亚洲色图二区 | 玩乳h文奶水和尚 | 日本免费在线 | 精品无码久久久久久久动漫 | 亚洲免费福利视频 | 青草热久精品视频在线观看 | 涩涩五月天 | 无限资源在线观看完整版免费下载 | 日产一区二区 | 国产99久久九九精品免费 | 欧美视频精品一区二区三区 | 国产精彩对白综合视频 | 16男男gaygays |