- 要進行透明度混合需關(guān)閉ZWrite,但不會關(guān)閉ZTest。
- Shader 預設(shè)是 ZTest LEqual 和 ZWrite On。
- 越靠近攝影機的深度值越小, ZTest LEqual代表小"讓深度值小於等於的通過",也就是讓在前面的物體通過,若ZWrite On的話,前面物體的顏色就會取代本身的顏色 (緩衝區(qū))。
- 系統(tǒng)中有顏色緩衝區(qū)與深度緩衝區(qū)。
*額外補充這篇,因為網(wǎng)頁好像死圖了所以沒仔細看完,但有趣的是其中一行:
快速翻個解釋(來源):《ZTest [unity_GUIZTestMode] is used in some built-in UI shaders and is set depending on the Canvas type just before a Canvas is rendered.》ZTest[unity_GUIZTestMode]
((之後慢慢看~ ((逃
翻到這篇很好懂。
簡單整理是:
Blend後面除了Off,需填入兩個參數(shù):Blend [來源係數(shù)] [目標係數(shù)]
這裡的SrcAlpha 代表來源Alpha值,OneMinusSrcAlpha代表目標輸出 1-SrcAlpha 。
有興趣的可以都去嘗試一下,例如: Blend SrcAlpha OneMinusDstColor (使用來源Alpha,並做負片效果)
_MainTex_ST.xy代表Tiling,*0.5代表中間點。
不乘0.5會變成扇形,滿有趣的XD
對於Clip的定義,這篇寫到:《如果給定參數(shù)的任何一個分量是負數(shù),就會捨棄當前像素的輸出顏色。》
有點像是迴圈的"Continue"用法。
所以在程式碼裡面:fixed uvDis=distance(i.uv,uvCoord); 取得與中間點的半徑距離,再Clip就能把半徑外的部分裁掉。
不Clip的:
其他:
我上面那張桐人是Sprite而非plane,若想套用Sprite本身的Color屬性的話,在結(jié)構(gòu)內(nèi)加入COLOR。
結(jié)果:
另外有趣的是:
左下圓形(Plane物件)與桐人(Sprite)都是用同個材質(zhì)球,但Sprite的sprite會自動取代材質(zhì)球的MainTex設(shè)定,所以兩個呈現(xiàn)不同的Texture。 不太確定是為甚麼,但滿有趣的。
雜紀2:覺得自己太廢了趕緊來學個什麼也好。
YA! 下周末要出遊~去ㄩ泡(溫泉)XD