1. 바닥 만들기
하이어라키 > Creat > 3D Object > Plane
Plane의 위치가 (0,0,0)인지 인스펙터 창에서 확인한다. 이후 바닥의 크기를 2배로 만들어 준다.
이때 Plane의 크기는 가로 세로 10 유닛이다.
유니티에서 1유닛은 Cube 한 변의 길이다. 그러므로 Plane의 가로나 세로 방향으로 Cube 게임 오브젝트를 10개 나열할 수 있다.
방금 가로와 세로를 2배로 늘렸으니 cube가 가로 세로 20개를 나열할 수 있다.
2. Material
Material(머티리얼)은 셰이더와 텍스처가 합쳐진 에셋으로, 오브젝트의 픽셀 컬러를 결정한다.
머티리얼 | 셰이더 |
텍스터 |
셰이더 | 주어진 입력에 따라 픽셀의 최종 컬러를 결정한다. 질감과 빛에 의한 반사와 굴절 등의 효과를 만든다. |
텍스처 | 표면에 입히는 이미지 파일이다. |
3. 새로운 Material 만들기
- 프로젝트 창에서 Creat >Material 클릭
- 생성된 Material의 이름을 Plane Color로 변경
생성된 Plane Color 머티리얼을 선택하고 인스펙터 창을 보면 머티리얼에 관한 여러 설정값을 볼 수 있다.
Albedo는 반사율로서 물체가 어떤 색을 반사할지 결정합니다.
Albedo: 반사율로서 물체가 어떤 색을 반사할지 결정
Plane Color 머티리얼을 Plane 게임 오브젝트로 드래그&드롭하여 게임 오브젝트에 적용할 수 있다.
게임 오브젝트에 적용하고 Material의 설정값 중 색깔을 검은색으로 변경하면 Plane의 색이 검은색이 된 것을 확인할 수 있다.
4. 벽 만들기
- 하이어라키 > Creat > 3D Object > Cube
- 생성된 오브젝트의 이름을 Wall로 변경
- Wall의 위치는 (0,0.5,0), 스케일은 (20,1,1)로 변경한다. 이때의 20은 Plane의 너비이다.
생성된 벽을 (0,0.5,10)의 위치로 변경하고 해당 벽 오브젝트를 복사(cmd + c)하여 하이어라키 창에 붙여 넣는다.(cmd +v)
나머지의 벽들을 복사&붙여 넣기 해준다. 각 벽이 제대로 맞물리도록 크기를 21로 맞춰준다.
5. Walls 오브젝트 만들기
벽을 구성하는 wall 오브젝트가 많아져 하이어라키 창이 복잡해보인다. 이를 해결하기 위해 Walls을 구성하는 게임 오브젝트를 하나의 게임 오즈젝에 모아서 정리할 수 있다.
- 하이어라키 > Creat > Create Empty
- 생성된 오브젝트를 Walls로 변경
- Walls 게임 오브젝트의 위치 리셋: Transform (점 세 개) > Reset
6. 카메라 설정하기
카메라의 위치/각도 설정
현재 카메라가 바닥의 위치와 가깝기 때문에 만든 오브젝트들이 한눈에 보기 어렵다. 이를 해결하기 위해서는 카메라의 위치를 변경해야 한다.
- 하이어라키 > Main Camera
- Main Camera의 위치를 (0,15,-10)으로 변경
- 회전을 (60,0,0)으로 변경
Position | 위치 |
Rotation | 회전 |
Scale | 크기 |
카메라의 배경 변경
- Main Camera 게임 오브젝트의 Camera 컴포넌트에서 Clear Flag의 값을 Solid Color로 변경
- Solid Color > RGB의 값을 (36,36,36)으로 변경
7. 플레이어 제작
플레이어의 기능
- 파란색 캡슐 모양
- 상하좌우를 WASD로 이동 가능
- 탄알에 맞으면 게임 오버
플레이어 오브젝트 만들기
- 하이어라키 > Creat > 3D Object > Capsule
- 생성된 Capsule 오브젝트를 Player로 변경한다.
- Player의 위치를 (0,1,0)으로 변경한다.
생성한 플레이어의 색상을 변경해준다.
플레이어의 태그 설정
- 하이어라키 창에서 Player 게임 오브젝트 선택 > 인스펙터 창의 Tag 클릭
- Player 태그 선택
이렇게 플레이어 태그를 설정하면 나중에 Player 오브젝트와 총알이 충돌했을 때만 게임 오버가 될 수 있도록 설정이 가능하다.
즉, 총알이 접촉한 태그가 플레이어인지 확인하고 게임 오버를 할 수 있는 것이다.
리지드 바디 설정
Player에 리지드 바디 컴포넌트를 추가한다. 이때 제약 없이 리지드 바디를 실행하면 캡슐 형태의 플레이어의 동작이 원하는 데로 작동하지 않을 수 있다. 이를 해결하기 위해 리지드 바디 제약 설정을 사용한다.
리지드 바디 제약 설정: 축 또는 회전 변경을 제한한다.
1. 인스펙터 창에서 리지드 바디 컴포넌트의 Constraints 필드 펼치기
2. Freeze Position은 Y, Freeze Rotation은 X,Z 체크 (Freeze: 제약을 걸을 대상)
위치 제약은 Y축, 회전 제약은 X,Z축으로 설정한다.
Constraints: 강제, 속박
제약을 설정함에 따라 Player의 높이가 변경되지 않으며, 오직 Y축으로만 회전할 수 있다.
'Unity > ▶ Game Development: Dodge' 카테고리의 다른 글
[Dodge] #6. 바닥 회전 (0) | 2022.03.02 |
---|---|
[Dodge] #5. 탄알 생성기 (0) | 2022.02.26 |
[Dodge] #4. 탄알 생성 (0) | 2022.02.25 |
[Dodge] #3. 스크립트 개선하기 (0) | 2022.02.24 |
[Dodge] #2. 플레이어 (0) | 2022.02.04 |