보통은 GameObject.Find("string Object Name")을 사용하지 말라고 여기저기 나와있다.
성능 이슈가 있으면 개선하는게 맞지만,
굳이 개발 편의를 위해 있는 기능을 무조건 지양하는 것도 옳지 않은 것 같다.
코드가 줄어들 수 있고, 이해하기 쉽다면 어느정도는 적극 사용하는것도 좋겠지.
예를 들어 어떤 부모 오브젝트의 자식중에서 라고 한정해서 찾는다면 어떨까?
이것도 너무 빈번하게 찾는다면 문제가 되겠지만, 적은 수에서라면 비교적 덜 문제가 되지 않을까?
이를 시험해서 성능 평가 까지 적으면 좋겠지만, 시간이 없어서 테스트 코드만 간단히...
// 아래와 같이 자식 오브젝트에서 이름을 적은 녀석을 데려올 수 있다.
// transform의 하위에서 이름으로 찾고 그녀석의 gameobject 를 반환한다.
GameObject childObject GameObject.transform.Find("string Child Name").gameobject;
여기다가 SendMessage() 같은걸로 뭔가 동작시켜줄 수 있겠지.
이 두개를 사용하면 아이템 리스트와 하위 아이템을 좀 더 각각 독립적으로 만들어주는데 유용해서 은근히 쓰고 있다.
댓글 없음:
댓글 쓰기