Unity 강의 정리 4-1장: 소코반 게임 만들기 - 초기 씬 구성 🎮

나무에물주기·2023년 8월 14일
1

Unity

목록 보기
4/21
post-thumbnail

인프런에 있는 레트로의 유니티 C# 게임 프로그래밍 에센스 강의를 듣고 정리하는 글입니다!

소코반 게임을 만들기 위한 첫 단계로서, 기본 씬 구성을 시작한다. 여기서는 맵 바닥, 게임 플레이어 생성 및 설정, 물리 기능 추가, 스크립트 작성 등을 다룰 예정이다.

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; 

    // Start is called before the first frame update
    void Start()
    {
        playerRigidbody.AddForce(0, 1000, 0); // y방향으로 1000 만큼 이동한다
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

6. 정리 📚

이번 챕터에서는 소코반 게임의 초기 씬 구성을 위한 여러 컴포넌트와 설정을 다루었다. 주요 내용을 다시 정리해보자.

6.1 Transform 컴포넌트

  • Transform 컴포넌트는 오브젝트의 위치, 회전, 크기를 제어한다.
  • Plane과 Sphere 오브젝트의 배치와 크기 조절에 사용되었다.

6.2 Rigidbody 컴포넌트

  • Rigidbody 컴포넌트는 오브젝트에 물리 효과를 부여한다.
  • 플레이어 Sphere에 적용하여 중력과 힘의 영향을 받게 하였다.

6.3 Collider 컴포넌트

  • Collider 컴포넌트는 오브젝트 간의 충돌을 감지하고 처리한다.
  • Sphere와 Plane 간의 충돌을 처리하여 Sphere가 떨어지지 않도록 하였다.

6.4 Material과 색상 설정

  • Material을 사용하여 오브젝트의 외관을 꾸며주었다.
  • Plane에 적절한 색상과 텍스처를 적용하여 게임 바닥을 구현하였다.
profile
개인 공부를 정리함니다

0개의 댓글