在作項目的時候,遇到一個問題就是在一個UI界面上面會隨機生成一些gameObject,可是他們的出現時有必定範圍的,因此要作一個遮罩來控制這個範圍,讓生成的對象進入遮罩範圍以後就不顯示出來。。 .net
1. 首先建立一個場景,在裏面添加一個球(把這個部分當作是UI部分),主要是要說明用了遮罩以後,不會把咱們的UI上的內容遮蓋住 對象
下面是攝像機的參數,主要是把相機變成正交攝像機,這也是普通UI攝像機的設置。 ip
2. 而後給再添加一個圖標(做爲要被遮罩的內容)和一個Cube(遮罩),把圖標的lay設置成GUI layer,把Cube的layer設置成Mask Layer, 而後另外添加一個攝像機專門顯示圖標和Cube: get
這時候的場景以下: it
3. 接下來是把Cube作成一個透明的遮罩,首先是寫一個Shader: cli
DepthMask.shader,放在Asset目錄下便可被讀取。 im
Shader "Depth Mask" { 項目
SubShader{ static
ColorMask 0 img
Pass {}
}
}
4. 修改Cube的Material,隨便選擇一種材料,而後給材料選擇上咱們的Shader,便可看到遮罩的效果。
6. 完成~!!!