프로그래밍/Unity

Unity 기본 지식 정리

gameObject 2023. 10. 11. 22:29
728x90

오히려 Unity 공부를 시작하며 프로젝트 진행을 하며 배우는것이 늘어나다보니
Unity에 대한 내용정리가 소홀해 졌던것 같습니다.

 

가벼운 기능들부터 새롭게 배우는 기능들까지 천천히 하나씩 정리해 나가보려고 합니다.

 

이 글도 7월경 작성을 하려다가 임시저장을 해놓은 뒤 추가로 더 써야겠다는 생각에 업로드를 하지 않게되어

그 다음글들조차 추진력을 잃는것같아서 업로드를 하는 글입니다.

 

앞으로 좀 더 꾸준하게 새로운 지식들의 모르는부분이나 오류, 어려웠던 부분을 중심으로 작성을 해보려고 합니다.

1. 각 화면의 구성

Unity에서 프로젝트를 열게되면 처음 만나게 되는 화면이다.

사실 위 사진은 레이아웃 변경을 통해 진짜 처음보는 사람과는 화면이 다를것이다.

기본적인 구성은 똑같다.

 

Scene에서는 작업자가 작업을 하는 화면이라고 생각하면 된다.

게임화면은 실제로 게임 실행시, 플레이어가 보게 될 화면이다.

하이어라키에서는 게임을 구성하는 게임오브젝트들을 관리할 수 있다.

프로젝트에서는 스크립트(C# 코드), 머테리얼(꾸미는 역할), 프리펩, 에셋등 컴퓨터의 내 파일과 같은 곳이다.

여기서 자료를 끌어와서 Unity에서 활용한다. 

하이어라키에서 게임오브젝트를 클릭하거나, 프로젝트에서 프리펩등을 더블클릭한다면 인스펙터창이 활성화된다.

인스펙터창에서는 유니티의 핵심인 컴포넌트(게임오브젝트를 구성하는 요소)들을 관리할 수 있다.

콘솔창에서는 오류 or 로그(Log)등을 확인하여 제작자가 컴파일시 어떤일이 벌어지는지 확인할 수 있다.

 

2. Unity 컴포넌트 패턴

위에서 인스펙터창에서는 컴포넌트를 관리할 수 있다고 했다.

 

레고를 생각하면 편할 것 같다.

레고를 해본 사람이라면 간단한 나무를 만드려고 해도 각기 다른 조각을 합쳐야한다는것을 알것이다.

 

여기서 나무를 게임오브젝트라고 본다면 이 게임오브젝트를 만들기 위해서는 여러가지의 조각들(여기서는 컴포넌트라고 부른다.)을 합쳐야 할것이다.

 

컴포넌트는 이미지, 오디오, 물리요소, 충돌감지, 위치, 색상 등 게임오브젝트의 모든것을 구성한다.

그래서 유니티는 컴포넌트 패턴이라고 말한다.

 

이 패턴 덕분에 제작자는 각기 다른 게임오브젝트에 필요한 컴포넌트들만 조립하여 게임을 쉽게 만들 수 있게 된다.

 

3. GameObject와 Transform

모든 게임오브젝트는 Transform을 갖고있다.

내 생각에는 2D게임이나 3D게임이나 화면에 올려놓을 요소들은 위치가 있어야 하기 때문이지 않을까 싶다.

 

4. 기초적인 게임을 만들기 위해 필요한것?

유니티에서 게임을 만들때 가장 기본적인것?

역시 물체들이 움직이고 부딪히고 하는 것들이라고 생각이 된다.

 

이때 필요한것들이

1. GameObject, Rigidbody, Collider, transform, 기본적인 C#문법 이라고 생각이 되고

2. 스크립트에서 GameObject를 어떻게 불러와서 내 입맛에 맞게 사용할 것인가

3. Rigidbody와 Collider는 어떤 역할을 하는가

4. transform을 잘 사용하기 위해서 Vector(3 or 2)을 이해하고 있는가

5. 기본적인 조작법,,!

이렇게 5가지가 기본이 되지 않을까 싶다.

 

5. C# script에서 public 과 private

public으로 만든 변수나 클래스는 Unity의 인스펙터창에서 접근이 가능하여 값을 수정해 줄 수 있다.

private로 만든 변수나 클래스는 GetComponent를 통해 가져와서 할당 할 수 있다.

 

728x90