shader "ui/default-cliprect"
_color ("tint", color) = (1,1,1,1)
_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
_colormask ("color mask", float) = 15
[toggle(unity_ui_alphaclip)] _useuialphaclip ("use alpha clip", float) = 0
//處理mask無法遮住增加canvas的ui
//作用讓ui在指定矩形範圍顯示 超過範圍透明 類似 mask 區別在於mask下面的ui如果加了canvas就遮不住
_x1("x1", float) = 0 //相對canvas的最小x座標 世界
_x2("x2", float) = 0 //相對canvas的最大x座標 世界
_y1("y1", float) = 0 //相對canvas的最小y座標 世界
_y2("y2", float) = 0 //相對canvas的最大y座標世界
}subshader
stencil
cull off
lighting off
zwrite off
ztest [unity_guiztestmode]
blend srcalpha oneminussrcalpha
colormask [_colormask]
pass
;struct v2f
;sampler2d _maintex;
fixed4 _color;
fixed4 _texturesampleadd;
float4 _cliprect;
float4 _maintex_st;
float _x1;
float _x2;
float _y1;
float _y2;
fixed4 frag(v2f in) : sv_target
if(_x2 - in.worldposition.x < 0)
if(in.worldposition.y -_y1 < 0)
if(_y2 - in.worldposition.y < 0)
#ifdef unity_ui_clip_rect
color.a *= unityget2dclipping(in.worldposition.xy, _cliprect);
#endif
#ifdef unity_ui_alphaclip
clip (color.a - 0.001);
#endif
return color;
}endcg
}}}
如何真正掌握UI設計技巧 怎麼讓UI介面更精緻
如何真正掌握ui設計技巧?怎麼讓ui介面更精緻?ui設計是近年來新興的熱門行業,伴隨著使用者體驗度的提公升,ui設計師迅速得到企業的重視。讓介面更精緻 層次分明是每乙個ui設計工作的基本目標,接下來就給大家分享ui設計中的幾個技巧,讓你的介面更精緻。1 顏色 在一套設計規範裡往往會給出乙個品牌色 幾...
在UI上使用BackgroundWorker
凡是winform的應用程式,如果他執行了乙個的非常冗長的處理操作 比如檔案查詢 它在執行時會鎖定使用者介面,雖然主活動視窗一直在執行,但使用者無法與程式互動,無法移動窗體或改變窗體大小,所以使用者感覺很不爽。如何做才能使得這個程式有響應。答案就是在後台執行緒中執行這個操作。在這裡已經有了多種方法來...
粒子顯示在UI前方
canvas的render mode的三種模式比較 canvas元件中的render mode 1.screen space overlay 此模式不需要ui攝像機,ui將永遠出現在所有攝像機的最前面 ui置頂 2.screen space camera 它需要提供乙個uicamera 這樣就和ng...