您好,登錄后才能下訂單哦!
大家在做Unity的時候可能會遇到具有Alpha通道圖片之間需要我們去做遮擋關系,比如類似下圖的效果圖示:
我們需要把具有Alpha通道的綠色圓圈的內部紅色的部分遮擋住,使其看不到。首先我們需要先把具有綠色圓圈部分先遮擋住紅色部分。需要我們寫一個自定義Shader。其實我們需要做的無非兩件事情一個是Alpha通道的處理,一個是Z值得處理。Shader如下所示:
需要我們把Z緩沖打開后,Z值就可以寫入了。
那這個shader還是滿足不了我們的需求,我們記下來就從層的角度出發去解決這個問題:
我這里寫了一個自定義的MeshRender編輯類,自動掛接到對象上。
代碼如下:
實現效果如下圖所示:
大家可以看到綠色圓圈內部已經咩有紅色的部分了,目的達到。
我們如何達到的呢?主要是通過設置Layer達到的。如下圖:
以上我們的效果就達到了。代碼在附件里面
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。