Unity/Unity 리서치

내가 부모의 몇 번째 Active된 자식인지 반환하는 함수

lipnus 2023. 6. 7. 22:28
반응형
    private int GetViewIndex()
    {
        var cnt = -1;
        for (var i = 0; i < transform.parent.childCount; i++)
        {
            var view = transform.parent.GetChild(i);
            if (view.gameObject.activeSelf)
            {
                cnt++;
                if (view.transform == transform) return cnt;
            }
        }
        return cnt;
    }

 

 

 

다른방법

https://qits.tistory.com/entry/GetComponentsInChildren-%EC%9E%90%EC%8B%9D%EC%98%A4%EB%B8%8C%EC%A0%9D%ED%8A%B8%EC%97%90%EC%84%9C-%ED%99%9C%EC%84%B1%EB%B9%84%ED%99%9C%EC%84%B1-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8-%EC%B0%BE%EA%B8%B0

 

GetComponentsInChildren<>() 자식오브젝트에서 활성/비활성 컴포넌트 찾기

GetComponentsInChildren() 를 이용하여 부모에 속한 모든하위 오브젝트들에 있는 T 컴포넌트를 찾아올수 있다. 그런데 여기서 비활성화 되어있는 오브젝트는 건너뛰는 것이 디폴트 설정 되어있다. GetCo

qits.tistory.com

 

 

1. 선택한 게임 오브젝트 바로 아래에 있는 자식만 iterate하고 싶은 경우
foreach(Transform child in transform)
{
    Debug.Log(child.name);
}

반응형