학습 매체 : 책
책이름 : 레트로의 유니티 게임 프로그래밍 에센스
저자 : 이제민
본 내용은 해당 강의 내용을 공부하면서 정리한 글입니다.
이 장에서 다루는 내용
1. 머티리얼
2. 플레이어 조작 구현하기
3. Update( ) 메서드
4. Input 입력 감지 메서드
5. 입력 매니저
레벨의 바닥과 벽을 만들자.
Plane의 위치가 원점이 아닌 경우
- 생성된 Plane 게임 오브젝트의 위치가 (0, 0, 0)이 아닐 수 있다. 새로운 게임 오브젝트는 씬 창의 중심(씬 카메라가 보고 있는 곳)에 생성되기 때문이다.
- 만약 Plane의 위치가 원점이 아니라면 아래 과정을 수행하여 오브젝트의 위치를 (0, 0, 0)으로 리셋한다.
- 컴포넌트(여기서는 Transform)의 ⋮ > Reset을 클릭하면 해당 컴포넌트 설정이 모두 기본값으로 리셋된다.
Plane의 크기와 유닛 단위
- Plane의 기본 크기는 가로세로 10유닛(Unit)이다.
- 유니티에서 1유닛은 Cube 한 변의 길이다. 그러므로 Plane의 가로나 세로 방향으로 Cube 게임 오브젝트를 10개 나열할 수 있다.
- Scale을 (2, 1, 2)로 수정했으니 Plane 게임 오브젝트의 가로 세로 길이는 각각 20유닛이 된다.
- 1유닛을 현실의 몇 미터에 대응시킬지는 개발자 마음이다. 보통은 편의상 1유닛을 1미터로 취급한다.
유니티에서 게임 오브젝트의 컬러는 머티리얼(Material)이 결정한다. 머티리얼은 셰이더와 텍스쳐가 합쳐진 에셋으로, 오브젝트의 픽셀 컬러를 결정한다.
셰이더는 주어진 입력에 따라 픽셀의 최종 컬러를 결정하는 코드이다. 셰이더는 질감과 빛에 의한 반사와 굴절 등의 효과를 만든다. 텍스처는 표면에 입히는 이미지 파일이다.
셰이더는 물감으로, 텍스처는 스케치나 밑그림으로 이해하면 된다.
생성된 머티리얼을 선택하면 인스펙터 창에서 머티리얼에 관한 여러 설정값이 보인다.
여기서 알베도(Albedo)는 반사율이라는 뜻으로, 물체가 어떤 색을 반사할지 결정한다. 알베도는 물체 표면의 기본색을 결정한다.
Albeod 옆의 컬러 필드를 선택
컬러 창에서 RGB의 값을 (0, 0, 0)으로 변경 > 컬러 창 닫기
이제 색이 변경된 머티리얼을 Plane에 적용해보자.
Plane Color 머티리얼을 씬 창의 Plane 게임 오브젝트로 드래그&드롭
마우스 오른쪽 클릭 > Duplicate 선택으로도 복제가 가능하다.
이름을 Level로 변경
만약 Trangform의 Position 값이 기본값(0, 0, 0)이 아니라면 Reset 버튼을 통해 리셋하기
이제 바닥과 벽 게임 오브젝트를 Level의 자식으로 만들자.
선택한 게임 오브젝트들을 Level 게임 오브젝트로 드래그&드롭
이제 바닥과 벽 게임 오브젝트들은 Level 게임 오브젝트의 자식이 된다. 하이어리키 창에서 Level 옆에 삼각형으로 생긴 접기/펼치기 버튼을 볼 수 있다.
다음 강의에서 계속~