처음에는 꺼놓은 오브젝트를 특정상황에 Active시키고 싶어서 Find를 이용했는데
Find가 안되길래 왜 안될까 하고 봤더니 inactive 해놓은 오브젝트는 Find가 안된다고 한다.
inactive한 오브젝트는 찾을 수 없으니 활성화 된 부모의 밑에 넣어주고
그 부모의 밑에 들어간 SetActive(false)된 자식을 찾는다.
GameObject.Find("부모").transform.FindChild("내가찾을비활성화오브젝트").gameObject.SetActive(true);
그런데 막상 위에 코드를 써보니까
초록색 밑줄과 함께 이런 안내가 뜬다.
그래서 FindChild대신 Find를 썼다.
GameObject.Find("부모").transform.Find("내가찾을비활성화오브젝트").gameObject.SetActive(true);
그런데 몇 번째에 붙은 자식인지 알거나 항상 정해져 있으면 굳이 Find("내가찾을비활성화오브젝트") 하지 말고 getchild(몇 번째 자식인지)가 더 낫다.
'Engine > UnityNote' 카테고리의 다른 글
[Unity] 오브젝트 비활성화 시 코루틴 (0) | 2019.10.10 |
---|---|
[Unity] AudioSource로 여러 효과음 동시에 내기 (0) | 2019.10.08 |
[Unity] 코루틴이 종료가 안될 때 (0) | 2018.07.23 |
잡다한 유니티 (0) | 2018.07.06 |
[Unity] 오브젝트 생성 시 현재 오브젝트의 자식으로 프리팹 생성 (0) | 2018.07.06 |