unity 2D 透明遮罩 簡單實現物體一半透明

2021-07-09 05:14:00 字數 1374 閱讀 9173

大致需要用到的東西: shader 材質 深度攝像機

unity實現2d遮罩找了許多的解決方法,這個是我採取的一種方法,比較便捷,但不一定是最好的

主要想實現的效果是這樣的,小偷藏在窗戶的後面,並且有移動的動畫,需要遮罩除去其在窗戶之外的部分

首先新建乙個shader,**如下,很短

shader "depth mask" }}

再新建乙個材質

選擇shader為剛才新建的depthmask

我們新建乙個空物體,將小偷設為其子物體,並且新建兩個cube物體。將剛才的材質新增到這個cube物體上(這裡用到了3d的物體,對於2d遊戲來說有點怪怪的,但是sprite不能加剛才的材質)

那麼在實際的遊戲場景中是怎麼樣的呢?

可以看到其將整個攝像機中渲染的物體都遮住了,露出了後面的天空盒

所以此時需要單獨為遮罩的物體建立乙個深度攝像機

首先先新建乙個層thief,將cube和thief的sprite都加入這個層

新建攝像機引數如下

不要忘記在main camera中的cullingmash中去除thief

然後別忘記thief前面窗的圖也要單獨用乙個深度攝像機

主要是改clearflags和cullingmask,注意depth這個屬性,值越大的就渲染在越前面

效果如下:

最終效果

Unity2D遊戲迴旋鏢實現

以下我舉出2種同使用情況的迴旋鏢 那麼迴旋鏢需要怎麼做呢?任務清單如下 迴旋鏢會自我旋轉 迴旋鏢達到一定距離會飛回來 迴旋鏢對敵人造成傷害 迴旋鏢會飛回玩家手裡 帶著這些任務我們來依次實現這兩種情況的迴旋鏢吧 1在2d平面遊戲上的迴旋鏢 實現乙個丟出迴旋鏢後,會緩慢減速,然後再直接收回手裡,碰到怪馬...

Unity2D 渲染層級

渲染層級 camera 攝像機 depth 值越高物體越在上面 在同乙個camera中 sorting layer 越在下面的sorting layer 越在上面 例如 player 層物體顯示在default層物體的上面 最後 order in layer 誰的數值大,誰在上方 一般設計思路 第一...

Unity2D動畫繫結

這次做了乙個unity的2d動畫,記錄一下,怕下次忘了怎麼做。首先是先決條件,推薦使用unity2019.2或更高版本,安裝 2d animation 和 2d psd importer 包。官方文件 資源檔案需要 psb 格式,直接使用ps另存為psb格式就可以了。我是線在手機上隨便畫了乙個,然後...