Unity中Layers和LayerMask解析

 LayerMask mask =  1 << LayerMask.Name

新入门的朋友当看到下面的代码的时候通常可能会比较困惑,只大概知道显示某个Layer,但是不了解这种写法,为什么要写。其实是这样的

img

unity 使用init32来表示所有的成0~31 ,官方使用的0-7默认不可编辑,8~31可自定义

1 <<  LayerMask.Name

// 及 1 << 0~31对应的数字

1的二级制是

000000000000000000000000000000001

通常电路中用 1 来表示 开,0 表示关,所以如果我们想打开图层8,

000000000000000000000000010000000

把1左移8位即可,同理

0 <<  LayerMask.Name

表示关闭相应的层。

results matching ""

    No results matching ""