๐Ÿ“šCulling Mask

// CullingMask๋ฅผ Everything์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
Camera.main.cullingMask = -1;

// CullingMask๋ฅผ Nothing์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
Camera.main.cullingMask = 0;

// CullingMask์— "Group" Layer๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
Camera.main.cullingMask |= 1 << LayerMask.NameToLayer("Group");

// CullingMask์— "Group" Layer๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
Camera.main.cullingMask = Camera.main.cullingMask & ~(1 << LayerMask.NameToLayer("Group"));

// Nothing ์ƒํƒœ์ธ CullingMask์—์„œ Group Layer๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
Camera.main.cullingMask = 1 << LayerMask.NameToLayer("Group");

// Everything ์ƒํƒœ์ธ CullingMask์—์„œ Group Layer๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
Camera.main.cullingMask = ~(1 << LayerMask.NameToLayer("Group"));

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class ChangeCullingMask : MonoBehaviour
{
    void changeCullingMask(int idx)
    {
        if (idx == 0)
        {
            // CullingMask๋ฅผ Everything์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
            Camera.main.cullingMask = -1;
        }
        else if (idx == 1)
        {
            // CullingMask์— Group2๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  Group1์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
            Camera.main.cullingMask |= 1 << LayerMask.NameToLayer("Group2");
            Camera.main.cullingMask = ~(1 << LayerMask.NameToLayer("Group1"));
        }
        else
        {
            // CullingMask์— Group1์„ ์ถ”๊ฐ€ํ•˜๊ณ  Group2๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
            Camera.main.cullingMask |= 1 << LayerMask.NameToLayer("Group1");
            Camera.main.cullingMask = ~(1 << LayerMask.NameToLayer("Group2"));
        }
    }
}

Last updated