美文网首页
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