본문 바로가기
NOTE/Unity

[Unity] GameObject에 대한 이해

by DevAthena 2015. 10. 3.

유니티에서 상자, 캐릭터, 빛, 카메라, 2D 텍스쳐 등 모든 씬에 배치된 것을 Game Object라고 한다.

게임 오브젝트에 소스를 입력하고, 해당 오브젝트에 대한 역할을 정해주어야 Run시에 원하는 결과물을 얻을 수 있다.

상단 메뉴에서 [Game Object] 를 통해 확인 해 볼 수 있다.

 

Example Study를 위한 준비

– File -> Save Scene -> ex_study 라는 이름으로 Scene 저장 [기본 위치는 내문서이지만 지정해도 상관없다]


Object 생성

(유니티 버전 5.1을 사용하는 지금 Main Camera(카메라)와 Directional Light(조명,빛)은 Default로 생성되어 있기때문에 따로 생성하지 않고 넘어간다.)

– GameObject -> 3D Object -> Capsule을 선택하여 생성한다.

– Capsule이 선택되어진 상태에서 Inspector 창을 통해 Position, Scale 등을 Setting 해 준다.


 

– Assets에서 마우스 오른쪽을 클릭하여 Create -> C# Script 를 생성하고 ex_study로 저장한다.

(스크립트를 더블 클릭시 스크립트를 작성 할 수 있는 MonoDevelop가 연결된다면 성공이다.)

– ex_study를 드래그하여 Capsule에 연결한다.

(Capsule의 Inspector창에 Script가 존재하면 성공이다.)

 

Transform 연습

Transform 이란 Inspector 창에서 볼 수 있듯이, 해당 객체의 위치, 회전, 크기 등을 조작할 수 있는 것이다.

transform.positon / transform.rotation / transform.localScale 등으로 확인 할 수 있다.

3가지의 Script를 작성해 보며 이를 이해해보자.

 

1. transform.position

스크립트 작성 후 ▶을 클릭하여 Run 한 후, 키보드의 A키를 눌러 캡슐이 조금씩 움직이는지 확인해보자.

 

2. transform.rotation

위의 코드에 조금 더 추가하여 회전을 확인해보자. (해당 Capsule은 회전해도 잘 알아 볼 수는 없기 때문에 우선 알아만 두자)

 

3. transform.localScale

마지막으로 C를 추가하여 캡슐의 크기 변화를 확인해보자.

 

이렇게 Object에 대한 간단한 이해를 하기 위해 절대적인 위치, 회전, 크기에 대한 변화를 살펴보았다.

하지만 디바이스의 크기기에 따라 상대적인 값이 아니므로, 이를 상대적인 위치, 회전, 크기로 변화하는 것이 필요하다.

(다음 시간에…)