인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

Jinsu Kang님의 프로필 이미지

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

UI Manager #2

SetParent 등의 기능이 transform 에 있는 이유가 궁금합니다.

해결된 질문

작성

·

601

3

강의 중 내용에 parent 를 지정한다던지, child 개수를 얻어온다던지 하는 과정에서

GameObject 가 아닌 GameObject 의 transform 에서 SetParent 나 ChildCount 등을 이용하여 목적을 수행하고 있습니다.

복습 겸 혼자 기능들을 만들어 볼 때에 이 부분이 계속 헷갈려서  GameObject 에서 해당 기능들을 찾게 되더라구요.

왜 transform 에 해당 기능들이 들어가 있게 된 것인지 궁금합니다.

답변 2

8

Rookiss님의 프로필 이미지
Rookiss
지식공유자

안녕하세요,
저도 그 고민을 해본 적이 있는데, 사실 정확한 이유는 Unity에서만 알고 있을 것 같네요.
조심스럽게 예상을 해보자면 부모/자식 관계를 가장 빈번하게 사용하는 부분이
계층적으로 position/rotation/scale을 조절하는 부분이니,
Transform에 넣는 것이 더 성능적으로 가장 합리적이니 그런 것이 아닐까 싶습니다.

0

leomessi님의 프로필 이미지

제 생각에는 유니티 UI상에서 보이는 gameobject들의 계층관계가, 각각의 gameobject level에서 부모와 자식들이 연결되어있는게 아니고 transform이 주체가 되어 부모와 자식이 연결되어 있기 때문에(멘토님이 말씀해주신 내용과 거의 비슷) 코드상에서도 transform에서 메소드를 작성해주고 있는 것 같습니다.