Unity

Unity 2D 게임 만들기 3편 – 스프라이트 불러오기와 캐릭터 이동 구현 완전정복

게임교수 2025. 4. 24. 19:27
반응형

Unity 2D 게임 만들기 3편 – 스프라이트 불러오기와 캐릭터 이동 구현 완전정복

🎮 들어가며 이번 3편에서는 드디어 플레이어(캐릭터)를 화면에 등장시키고, 키보드 입력으로 이동하는 로직까지 구현합니다. 2D 게임의 시작을 알리는 스프라이트 리소스 불러오기 → 배치 → 이동이라는 핵심 단계를 순서대로 따라해봅니다.

📌 본 글은 Unity 2022.3 LTS 기준으로 작성되었으며, 유니티 기본 Sprite Editor 사용을 전제로 합니다.

 

 

 

 

 


1. 스프라이트 리소스 불러오기

▶ 이미지 파일 준비

  • PNG 형식의 투명 배경 캐릭터 이미지를 준비합니다.
  • Assets > Sprites 폴더 생성 후 해당 이미지 드래그 앤 드롭

▶ Import 설정 변경

  • 이미지 클릭 후 Inspector에서 Texture Type을 Sprite (2D and UI)로 변경
  • Pixels Per Unit: 기본값 100 유지 또는 캐릭터 크기에 맞게 조정
  • Apply 클릭

Unity에서 Sprite 이미지를 Hierarchy 창으로 드래그하여 캐릭터 오브젝트를 생성하는 장면

💡 팁: 한 이미지에 여러 동작이 들어간 Sprite Sheet의 경우, Sprite Mode를 Multiple로 설정한 뒤 Sprite Editor에서 자를 수 있습니다.


2. 캐릭터 씬 배치하기

▶ Hierarchy에 캐릭터 추가

  • Project 창에서 Sprite 이미지를 Hierarchy로 드래그
  • 자동으로 GameObject가 생성되고, 이름을 Player로 변경
  • 위치 조절: Transform > Position을 (0, 0, 0)으로 설정

▶ SpriteRenderer 구성 확인

  • Player 오브젝트 클릭 → SpriteRenderer 컴포넌트 확인
  • Sorting Layer: Main으로 변경 (2편에서 만들었을 경우)

Unity Inspector에서 SpriteRenderer 컴포넌트를 확인하고 Sorting Layer를 설정하는 화면

 

 

 

 

 

✅ 지금까지 하면: 씬에 캐릭터가 배치되고 카메라에도 잘 보입니다.


3. 캐릭터 이동 스크립트 작성

▶ PlayerMovement.cs 생성

  • Assets > Scripts 폴더 생성
  • 우클릭 → Create > C# Script → 이름: PlayerMovement
  • 아래 코드를 입력합니다:
using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
    public float moveSpeed = 5f;

    void Update()
    {
        float moveX = Input.GetAxis("Horizontal");
        float moveY = Input.GetAxis("Vertical");

        transform.position += new Vector3(moveX, moveY, 0) * moveSpeed * Time.deltaTime;
    }
}

▶ 스크립트 연결

  • Player 오브젝트에 PlayerMovement 스크립트를 드래그하여 붙입니다.
  • Inspector에서 Move Speed 값을 적절히 조정 (예: 5)

 

 

 

 

Unity에서 PlayerMovement 스크립트를 Player 오브젝트에 연결하고 Move Speed 값을 설정하는 화면

 

 


✅ 작동 테스트

  • ▶ 버튼 클릭하여 실행
  • 방향키 또는 WASD로 캐릭터를 상하좌우로 이동 가능

🧪 참고: Input.GetAxis는 키를 누르고 있을 때 부드러운 움직임을 구현해 줍니다.

 

 

 

 

 


📌 마무리하며

지금까지 2D 게임의 진짜 시작점인 스프라이트 처리와 캐릭터 이동을 완성했습니다. 다음 4편에서는 충돌 처리 및 맵 만들기로 넘어가며, 벽, 바닥, 오브젝트 등과 상호작용하는 방법을 소개합니다.

📌 출처: ythouse.tistory.com

반응형