unity用代码选择多个layers(标志枚举)
使用方法LayerMask.GetMask
LayerMask layer;
layer=LayerMask.GetMask(new string[]{"Default","UI"});
或者使用二进制位运算符 按位或“|”
LayerMask layer;
layer=LayerMask.GetMask("Default") | LayerMask.GetMask("UI");
若想要取反,则在前面加上“~”
layer=~(LayerMask.GetMask("Default") | LayerMask.GetMask("UI"));
LayerMask.NameToLayer是获得该层的在列表中的索引,实际值通过GetMask获取,若想要把索引转换为实际值,可以通过移位操作获得
layer=1<<LayerMask.NameToLayer("layerName");