프로그래밍/Unity

[Unity] 팁 - 모든 하위 오브젝트 레이어 바꾸기

어데이드 2018. 5. 25. 18:42

코드

    public void ChangeLayer(string name)
    {
        ChangeLayersRecursively(transform, name);
    }

    public void ChangeLayersRecursively(Transform trans, string name)
    {
        trans.gameObject.layer = LayerMask.NameToLayer(name);
        foreach(Transform child in trans)
        {
            ChangeLayersRecursively(child, name);
        }
    }


잡설

학교과제 외엔 재귀함수를 잘 안쓰긴 한데 

유니티에서 모든 하위 오브젝트를 건드릴때는 재귀가 편한듯

일반적인 경우에서도 트리구조면 재귀가 좋을듯하다