在作项目的时候,遇到一个问题就是在一个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. 完成~!!!