zoukankan      html  css  js  c++  java
  • U3D层的运用

    在操作 LayerMask 时常令一些初学者摸不着头脑下面简单说一下层的开关方法:

    1.首先引入'|'、'&'、'~'的概念
    与(交集):10000001 & 10000100 == 10000000

    或(并集):10000001 | 10000100 == 10000101

    非(反转):10000001 == ~01111110

    2.int myLayerMask = 1 << curLayer;
    等式右侧 curLayer 代表Inspector/Layer中的某一层
    等号左侧是通过一个数来保存多个层的信息
    他是怎么做到的呢?
    其实是用 myLayerMask = 00000000 方式来保存的
     myLayerMask = 1 << 3 ---> myLayerMask == 00001000
    这时层级中的第3层被开启,其余层处于关闭状态
    另外,需注意的是,层的序号是从0开始计算的
    因此,上面的操作相当于使用二进制方法进行一对多表现方式的转化过程

    3.实例讲解
    有了上面铺垫,我们就可以轻松的对多个Layer进行开关了
    1)开启1、2层
    camera.cullingMask = (1 << 1) | (1 << 2);
    2)开启除2层外的所有层
    camera.cullingMask = ~(1 << 2);
    3)开启除1、2、4层外的所有层
    camera.cullingMask = ~((1 << 1) | (1 << 2) | (1 << 4));

  • 相关阅读:
    TCP协议的三次握手、四次挥手
    .NET Framework 3.5 安装
    grep命令总结
    线性回归
    K-Mean聚类算法
    Logistic回归
    朴素贝叶斯
    Decision Tree
    KNN
    GCC for Win32开发环境介绍
  • 原文地址:https://www.cnblogs.com/klobohyz/p/3537632.html
Copyright © 2011-2022 走看看