美文网首页
cullingMask

cullingMask

作者: 许彦峰 | 来源:发表于2020-03-12 15:37 被阅读0次

    cullingMask是一个32位int值, 每一位代表一个层,1表是渲染,0表示不渲染,通过设置不同的层,可以有选择性的渲染部分场景.

    cullingMask=0时,什么都不渲染,因为是32个0
    cullingMask=-1时, 渲染everything,因为是32个1

    位移运算符: 1<<index

    大部分都会和1进行位运算, 因为1的二进制是00000000 00000001,比较特殊
    比如

    • 只渲染第2层 cullingMask= 1<<2 = 40100
    • 只渲染2,3,4层: cullingMask=(1<<2)+(1<<3)+ (1<<4)=28, 即0001 1100

    常用运算公式

    • 渲染除去层x的所有层
      camera.cullingMask = ~(1 << x);

    • 在原来的基础上关闭层x
      camera.cullingMask &= ~(1 << x);

    • 在原来的基础上打开层x
      camera.cullingMask |= (1 << x);

    • 摄像机只显示第x层,y层,z层
      camera.cullingMask = 1 << x + 1 << y + 1 << z;

    cullingMask &= ~x;

    相关文章

      网友评论

          本文标题:cullingMask

          本文链接:https://www.haomeiwen.com/subject/vzxpjhtx.html