자바스크립트를 허용해주세요.
[ 자바스크립트 활성화 방법 ]
from Mohon Aktifkan Javascript!
 

[Unity] 2장 Unity 2D 간단한 프로젝트 만들기

728x90

✅ 1. Unity를 사용한 2D 프로젝트 만들기

이번 시간에는 아주 간단하게 Unity 2D 프로젝트를 만들어보겠습니다. Kenny라는 사이트에서 무료 Assets를 참고해서 만들어볼건데요..먼저 저는 하나 선택을 했기때문에 제가 선택한 Assets를 선택하셔도되고 아니면 참고해서 아무거나 실습해보셔도 좋습니다.

 

Tiny Town · Kenney

Download this package (130 assets) for free, CC0 licensed!

kenney.nl

 

사이트로 가서 Download버튼을 클릭해서 다운로드해줍니다. 창 하나가 떠있는데 바로 Continue without doneting..버튼을 클릭해줍니다.  

 

설치가 완료되었으면 이전 시간에 설치한 Unity Web을 실행시켜줍니다.

 

실행 시 바로 New Project -> 프로젝트 이름 / 위치를 설정해주시고 바로 Create Project로 프로젝트를 만들어줍니다. 프로젝트를 생성하는데 조금 시간이 걸리니 느긋하게 기다려줍니다.

\

그 전에 먼저 다운 받은 Assets를 모두 프로젝트 내 Scripts 폴더를 생성 후 안에 넣어줍니다. 

 

프로젝트 생성 후 바로 밑에 넣어준 Scripts들이 담겨 있는걸 볼 수 있습니다 다운로드한 PNG 파일을 위에 Scene에 드래그해서 배치할 수 있습니다.. 다음 캐릭터 오브젝트를 만들어보겠습니다. 

 

Top free game assets tagged 2D

Find game assets tagged 2D like UI User Interface Pack - Medieval, Hana Caraka - Base Character, The adventurer - Female, Modern Interiors - RPG Tileset [16X16], Pixel Dungeon - Animated Characters - Weekly Updates on itch.io, the indie game hosting market

itch.io

 

캐릭터는 여기서 다운받으실 수 있습니다. 다운 받고 똑같이 Scripts 폴더 안에 넣어주시고  Hierachy 창에서 우클릭 후 Create Empty를 눌러서 해당 오브젝트를 클릭 후 Add Component -> Sprite Renderer후 Sprite 슬롯을 클릭해 캐릭터를 등록해줍니다.

 

자 이제 이 캐릭터를 맵에서 움직이게 만들고 싶으면 다음과 같습니다.

  • 1. Rigidbody2D 추가
    • Hierachy -> 추가한 Player 오브젝트 선택
    • Inspector -> Add Component -> Rigidbody 2D 클릭
      • Body Type: Dynamic 
      • Gravity Scale: 0 (위/아래로 움직임이 필요 없을 시)
  • 2. BoxCollider 2D 추가
    • Inspector -> Add Component -> BoxCollider2D
      • 캐럭터 충돌 범위 지정
      • Sprite 크기에 맞게 Size 조절
  • 3. 이동 스크립터 만들기
    • Project -> Assets -> Sprites 폴더 생성(이미 있으면 X)
    • 폴더안에 PlayerController.cs 생성
    • 다음과 같이 이동 스크립트 생성
using UnityEngine;

public class PlayerController : MonoBehaviour
{
    public float speed = 5f; // 이동 속도
    public Rigidbody2D rb;

    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
    }

    void Update()
    {
        float moveX = Input.GetAxis("Horizontal"); // 좌우
        float moveY = Input.GetAxis("Vertical"); // 상하
        rb.linearVelocity = new Vector2(moveX * speed, moveY * speed);
    }

}

✅ 2. 스크립트 연결

  • Hierarchy -> Player 선택
  • Inspector -> Add Component -> PlayerController 
    • speed 값 조정 가능 (기본 5)
     

 

잘되는데 자꾸 플레이어가 내려옵니다 이유는 바로 저기 Rigidbody 2D 부분입니다. 저 부분에 Gravity Scale 값을 0으로 변경해서 중력자체를 없애 플레이어 위치를 고정시킬 수 있습니다.

 

728x90
LIST

'게임 모딩 > Unity' 카테고리의 다른 글

[Unity] 1장 Unity 란?  (1) 2025.03.02