소코반 게임을 만들기 위한 첫 단계로서, 기본 씬 구성을 시작한다. 여기서는 맵 바닥, 게임 플레이어 생성 및 설정, 물리 기능 추가, 스크립트 작성 등을 다룰 예정이다.
1. Plane 생성 후, Material 적용 🎨
소코반 게임의 바닥을 만들기 위해 Plane을 생성하고, 그에 적절한 Material을 적용한다.
1.1 맵 바닥(Plane) 만드는 법
GameObject
메뉴에서 3D Object
를 선택하고, Plane
을 클릭한다.
- 생성된 Plane은 바닥 역할을 할 것이다.
- Transform 컴포넌트를 사용하여 Plane의 위치, 크기 등을 조정한다.
1.2 Material 만든 후, 색깔 설정하는 법
Assets
메뉴에서 Create
를 선택하고, Material
을 클릭한다.
- 생성된 Material에 적용할 색상을 Inspector 창에서 설정한다.
- Shader, Metallic, Smoothness 등의 옵션을 조정하여 Material의 외관을 원하는 대로 설정한다.
1.3 드래그 드롭으로 Plane에 Material 설정
- 생성된 Material을 선택하고, Plane 오브젝트로 드래그&드롭하여 적용한다.
- 이렇게 하면 Plane의 표면이 선택한 Material의 색상과 텍스처로 채워진다.
2. 실제 게임 플레이어가 될 Sphere 만들기 🎱
플레이어 캐릭터를 나타내는 Sphere 오브젝트를 생성한다.
GameObject
메뉴에서 3D Object
를 선택하고, Sphere
을 클릭한다.
- 생성된 Sphere는 플레이어 캐릭터로 사용될 것이다.
- Transform 컴포넌트를 사용하여 Sphere의 위치, 크기 등을 조정한다.
- 필요한 경우, Sphere에 적절한 Material을 적용하여 외관을 변경할 수 있다.
3. 플레이어에 물리 기능 넣기 (Rigidbody) 💥
플레이어 Sphere 오브젝트에 물리 기능을 추가하기 위해 Rigidbody 컴포넌트를 사용한다. 이를 통해 중력, 힘, 충돌 등의 물리 효과를 적용할 수 있다.
- 플레이어 Sphere 오브젝트를 선택하고, Inspector 창에서
Add Component
버튼을 클릭한다.
- 검색창에 "Rigidbody"를 입력하고 선택하여 컴포넌트를 추가한다.
- Rigidbody 컴포넌트의 옵션을 조정한다. 예를 들어, 중력을 적용하려면 'Use Gravity' 체크박스를 선택한다.
- Mass, Drag, Angular Drag 등의 값은 물리 효과의 세부 특성을 제어한다.
4. Collider 컴포넌트 🚧
Collider 컴포넌트는 오브젝트 간의 충돌을 감지하고 처리한다. 이를 통해 Sphere가 Plane에 닿으면 더 이상 떨어지지 않게 할 수 있다.
- Collider 컴포넌트는 Unity의 3D 오브젝트에 기본적으로 포함되어 있다.
- 플레이어 Sphere 오브젝트를 선택하고, Inspector 창에서 Collider 컴포넌트를 확인한다.
- Collider의 형태와 크기는 오브젝트의 형태와 크기에 맞게 자동으로 설정된다.
- 필요한 경우, "Edit Collider" 버튼을 사용하여 Collider의 형태와 크기를 수동으로 조정할 수 있다.
- Collider가 서로 부딪히면, Unity의 물리 엔진이 자동으로 충돌을 처리한다. 이를 통해 실제 물리 세계와 유사한 상호 작용을 구현할 수 있다.
5. 예시로 플레이어에 C# 스크립트를 작성해서, y축으로 1000만큼 점프 시키는 설정 🚀
public class Player : MonoBehaviour
{
public float speed = 10f;
public Rigidbody playerRigidbody;
void Start()
{
playerRigidbody.AddForce(0, 1000, 0);
}
void Update()
{
}
}
6. 정리 📚
이번 챕터에서는 소코반 게임의 초기 씬 구성을 위한 여러 컴포넌트와 설정을 다루었다. 주요 내용을 다시 정리해보자.
- Transform 컴포넌트는 오브젝트의 위치, 회전, 크기를 제어한다.
- Plane과 Sphere 오브젝트의 배치와 크기 조절에 사용되었다.
6.2 Rigidbody 컴포넌트
- Rigidbody 컴포넌트는 오브젝트에 물리 효과를 부여한다.
- 플레이어 Sphere에 적용하여 중력과 힘의 영향을 받게 하였다.
6.3 Collider 컴포넌트
- Collider 컴포넌트는 오브젝트 간의 충돌을 감지하고 처리한다.
- Sphere와 Plane 간의 충돌을 처리하여 Sphere가 떨어지지 않도록 하였다.
6.4 Material과 색상 설정
- Material을 사용하여 오브젝트의 외관을 꾸며주었다.
- Plane에 적절한 색상과 텍스처를 적용하여 게임 바닥을 구현하였다.