遵义做企业网站,北京网站系统开发,网站模板更换,优化大师有必要花钱吗1. Layer
layer本质是按序左移的一个Int32数字#xff0c;int32有4个字节》32位#xff0c;故可以支持32个层级。系统自身使用了5个层#xff0c;意味着用户还有27个层可以使用。
0000 0000 0000 0000 0000 0000 0000 0000
可以且只能任意位为1。unity具体的0-31的层级分布…1. Layer
layer本质是按序左移的一个Int32数字int32有4个字节》32位故可以支持32个层级。系统自身使用了5个层意味着用户还有27个层可以使用。
0000 0000 0000 0000 0000 0000 0000 0000
可以且只能任意位为1。unity具体的0-31的层级分布可能是从头开始也可能是从尾开始对开发者来说没有区别 LayerMask.NameToLayer() LayerMask.NameToLayer(“Default”)意味着Unity会通过名字比较取到对应的层级返回返回的数字是这个的层的对应位数字。比如第12位就返回12. LayerMask.LayerToName 将对应层的数字位数传入进行比较得到对应层的名称 LayerMask.GetMask 此api比较特殊传入的是多个层的名称返回的不是位数。可以理解位一个int32.MaxValue的数与多个层的数字进行位并得出的一个数字。过程如下使用8位进行演示 //A 0000 0010 层代码为1 //B 0000 1000 层代码为3 //C 0010 0000 层代码为5byte mask LayerMask.GetMask(A,B); //mask 0010 1010//比较 //新层byte newMaskCode 16;if((newMaskCode mask )0){Debug.Log(新层存在);}else{Debug.Log(新层不存在);}Debug.Log(新层名称为LayerMask.LayerToName(newMaskCode));