图层基础
1. 当一个项目或者场景中包含很多对象时,通常难以组织。有的时候,希望一些游戏对象只能被某些摄像机看到或者只会被某些灯光照亮;有时,你可能希望只让某些类型的对象之间发生碰撞;在Unity中用图层处理上述需求。
2. 图层将一组行为类似的对象放在一起,按照某种方式处理。默认情况下有8个内置的图层和24个用户定义的图层。
3. 添加图层能够在不需要做很多工作的情况下实现复杂行为。不过有一点要注意:如果不是真的有使用图层的需要,那么不要添加图层。有的开发者在把对象添加到场景中时随意地创建图层,也不考虑以后是否需要这些图层。这种方法可能导致组织结构的梦魇,因为你不得不记住每个图层的用途。
添加图层的三种方式
1. 选择一个对象,然后点击Layer下拉菜单,再选择Add Layer命令。
2. 在编辑器顶部的菜单中,选择Edit>Project Settings>Tags and Layers命令。
3. 在场景工具栏中单击Layers选择器,并选择Edit Layers命令。
图层常见用法
1. 图层第一种常见的用法是在Scene视图中隐藏它们。通过在Scene视图工具栏中点击Layers选择器,可以选择哪些图层将出现在Scene视图中,以及哪些图层不会出现。默认情况下,场景的设置会显示所有内容。不可见的场景游戏对象常见的一个错误是:意外更改了Scene视图中可见的图层。当游戏对象应该出现在Scene视图中却没有出现的时候,首先要做的就是检查Layers选择器,确保将其设置成显示所有的内容。
2. 图层的第二个作用是排除不被灯光照亮的对象。如果是在创建自定义的用户界面、阴影系统或者使用复杂的光照系统,就会发现这个功能很有用。为了阻止图层被灯光照亮,可以选择灯光对象,然后在对应的Inspector视图中点击Culling Mask属性,最后取消选择你想忽略的那些图层。
3. 图层的第三个作用是告诉Unity哪些对象之间可以进行物理交互。使用Edit>ProjectSettings>Physics命令,找到Layer Collision Matrix属性。
4. 图层的最后一个功能是可以使用它们定义摄像机可以看到什么以及不能看到什么。如果想为某个玩家使用多个摄像机构建自定义的视觉效果,就可以使用这个功能。如前所述,要忽略图层,只需点击摄像机组件上的Culling Mask下拉菜单,并取消选择你不希望显示的图层即可。