inflearn logo
강의

Course

Instructor

[MMORPG Game Development Series with C# and Unity] Part3: Unity Engine

Pool Manager #3

Transform과 GameObject의차이

1555

bananana01184781

4 asked

0

안녕하세요 강의 잘보고 있습니다.

1. 강사님 코드를 보면 항상 Transform을 더 자주 사용하시는 것 같아요, 중요 기능도 GameObject보다 Transform과 같은 컴포넌트를 가져오고 거기서 게임오브젝트를 끌어오시는?

그런 코드를 자주 접했는데 속도면에서 장점등이 있어서 그런건가요?

 

2. 저는 컴포넌트를 게임오브젝트 산하의 부산물이라는 애매한 개념을 갖고있었는데 컴포넌트 == 게임오브젝트 이렇게 이해해도 될까요?

 

 

 

unity C#

Answer 2

2

Rookiss

1. 강사님 코드를 보면 항상 Transform을 더 자주 사용하시는 것 같아요, 중요 기능도 GameObject보다 Transform과 같은 컴포넌트를 가져오고 거기서 게임오브젝트를 끌어오시는? 그런 코드를 자주 접했는데 속도면에서 장점등이 있어서 그런건가요?

속도의 장점이 있어서 그런 것은 아니고
실제로 유니티에서 부모/자식 관계라거나 그런 포함 관계는
Transform에다 기능을 넣어놨습니다. (제가 그런게 아니고, 유니티가 그렇게 만들어놨습니다 ㅎ)

2. 저는 컴포넌트를 게임오브젝트 산하의 부산물이라는 애매한 개념을 갖고있었는데 컴포넌트 == 게임오브젝트 이렇게 이해해도 될까요?

콤포넌트 == 게임오브젝트는 절대 아니고 
처음 이해하신 [게임오브젝트 산하의 부산물]이 맞습니다.
다만 Transform은 예외적으로 빈 GameObject를 만들어도 자동으로 탑재되는,
가장 기본중의 기본이 되는 Component입니다.
Scale, Rotation, Translation 같은 기본적인 위치 정보는 물론
GameObject 사이의 상하 구조 (parent, child, ...)도 Transform에서 관리하고 있습니다.

따라서 정말 특수하게 GameObject <-> Transform은 '거의' 동일하다고 볼 수 있습니다.
실제로 GameObject에 붙어있는 그 어떤 Component라도
편리하게 해당 GameObject의 Transform에 접근할 수 있게 .transform 을 만들어놨습니다.
따라서 
GameObject로 들고 있으나 Transform으로 들고 있으나 별반 차이가 없는 셈이죠.
GameObject go가 있다면 go.transform으로 해당 Component를 이용 가능하고,
거꾸로 transform.gameObject를 이용해 다시 GameObject로 돌아갈 수도 있습니다.

1

bananana01184781

아하 감사합니다.  혼자 짜려고 보면 어떨때 gameObject를 쓰고 transform을 쓸지 어떤게 좋을지 많이 헷갈렸거든요. 부모 자식관계 보고 사용하는거군요

감사합니다~ ^0^

UI 기능 관련 질문이 있습니다!

0

37

2

픽셀 좌표 스크린 좌표

0

33

0

전체적으로 코드 읽는게 굉장히 오래 걸리네요...

0

75

2

카메라 #2 수업 캐릭터 쓰러짐 해결

0

84

1

플레이어 움직임이 끝날때, 기울어짐 현상

0

84

1

Input 적용과 관련하여 질문 있습니다.

0

75

1

디버그 불가.. Unity에 연결 불가

0

83

1

달리기 애니메이션 에러

0

89

2

오랜만에 게임을 만들다가 사운드 관련해서 뭔가 궁금한게 있어서 봤습니다

0

66

1

GetKey 오류

0

110

2

에셋을 어디에 올려두신지 알 수 있나요?

0

107

1

재귀호출? 오류나는데 왜 이래요 ?

0

169

6

Animation blending 파라미터 계산

0

69

1

newPos와 to지점이 겹쳐져야 하는거 아닌가요?

0

97

3

오브젝트 복제하니까 자꾸 이런게 뜨면서 꺼집니다

0

88

2

질문있습니다

0

143

2

아 이거 소스코드 같은거 없나요?

0

142

3

질문 드립니다. string.IsNullOrEmpty(name)

0

87

2

@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?

0

136

2

유니티6 NavMesh 안되는분들

1

176

1

Unity6 Unity-Chan Material 마젠타 문제 해결법

7

529

1

GetComponent<Poolable> 질문드립니다.

0

102

2

UI 불러오지 못함

0

119

2

UI 자동화 #1 - Util.cs의 FindChild함수에서 component.name에 컴포넌트 이름이 뜹니다.

0

155

2