Physics.Raycast中的层级

Physics.Raycast方法中最后一个参数为

int layerMask = DefaultRaycastLayers

也就是说这个参数的类型为int.

如果我们将获得Tag Manager中层级号为0的名为Default的层级,那么这个int值应该为1<<0

假如我们自己定义了一个层级,层级号为8(User Layer 8),名为Cube,那么这个int值应为1<<8.

 

另外还有一个类型为LayerMask,我们可以将LayerMask与int类型的值相互赋值,

int a=5;

LayerMask mask=a;//我们可以在Physics.Raycast中最后一个参数使用LayerMask类型的mask,可以不用int类型。mask.value的值正是一个int值5.

int b=mask;

 

也就是说,在Physics.Raycast的最后一个参数中,我们完全可以将int,LayerMask,LayerMask.value混用.

 

另外,LayerMask的两个静态函数NameToLayer和LayerTOName可以将层级名(上述的"Cube")转换为层级号(上述的8)或者反之

你可能感兴趣的:(Physics.Raycast中的层级)