深挖 NGUI 基础 之UICamera (二)
-
一、UI Camera作用
- UICamera需要挂载在摄像机上才能发挥作用
- UICamera仅负责 发送NGUI 事件 到 脚本所附加的摄像机中看得到的对象,比如我自定义了NGUI层(在Inspector面板中Layer添加),并且把UI Root下所有UI元素的Layer都设置成自定义的NGUI层.
- 事件发送不仅取决于挂载摄像机渲染的层对象,还取决于UI Camera脚本中的Event Mask,EventMask决定了哪些游戏对象的层能用于接收事件(可以一个或者多个层). 你可以手动的去选择层级对象,但是请确保你需要发送事件的层Layer同时包含在UICamera脚本中的EventMask中和脚本所挂载的Unity 摄像机的Culling Mask中,否则事件将无法发送到目标层中的对象.
- 优化: 你可以把摄像机的Culling Mask和 UICamera脚本的EventMask都勾选为Everything,那样可以保证不会出错.但是,这样会导致事件发送的时候,需要广播全局游戏对象,这样会导致效率降低和性能消耗,所以精确的选择Layer来进行发送事件会更好,比如你单独使用一个摄像机进行小地图渲染的情况.
-
(二) UICamera 属性面板字段解析