신입 개발자 공부 과정

Unity 2D 게임 개발 - 점프 가능한 발판 만들기 본문

유니티 게임개발 따라하기

Unity 2D 게임 개발 - 점프 가능한 발판 만들기

Lewisjkim 2025. 5. 26. 12:53

이번 포스트에서는 플레이어가 점프해서 올라갈 수 있는 발판을 구현해보겠습니다. 또한, 발판이 움직이거나, 일정 시간 후 사라지는 연출도 추가해 실감나는 플랫폼 게임을 만들 수 있습니다.


1. 기본 발판 만들기

  1. Hierarchy > 2D Object > Sprite 선택 후 이름을 Platform으로 변경
  2. Sprite로 평평한 발판 이미지를 설정
  3. Box Collider 2D 추가
  4. Rigidbody2D 추가 후 Body TypeStatic으로 설정

이렇게 하면, 플레이어는 이 발판 위에 올라서 점프할 수 있습니다.


2. 움직이는 발판 (Moving Platform)

▶️ MovingPlatform.cs 스크립트


using UnityEngine;

public class MovingPlatform : MonoBehaviour
{
    public Vector3 pointA;
    public Vector3 pointB;
    public float speed = 2f;
    private bool goingToB = true;

    void Update()
    {
        if (goingToB)
        {
            transform.position = Vector3.MoveTowards(transform.position, pointB, speed * Time.deltaTime);
            if (transform.position == pointB) goingToB = false;
        }
        else
        {
            transform.position = Vector3.MoveTowards(transform.position, pointA, speed * Time.deltaTime);
            if (transform.position == pointA) goingToB = true;
        }
    }
}
  • pointA와 pointB는 Scene에서 직접 위치 값을 지정
  • 발판이 왕복하며 움직이게 됨

Tip: 플레이어가 발판 위에 올라탔을 때 따라 움직이게 하려면, 충돌 시 플레이어를 자식 오브젝트로 만들고, 떨어지면 부모 해제하면 됩니다.


3. 사라지는 발판 (Falling Platform)

▶️ FallingPlatform.cs 스크립트


using UnityEngine;

public class FallingPlatform : MonoBehaviour
{
    public float delay = 1f;
    private Rigidbody2D rb;
    private bool activated = false;

    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
        rb.bodyType = RigidbodyType2D.Static;
    }

    void OnCollisionEnter2D(Collision2D collision)
    {
        if (!activated && collision.gameObject.CompareTag("Player"))
        {
            activated = true;
            Invoke("Drop", delay);
        }
    }

    void Drop()
    {
        rb.bodyType = RigidbodyType2D.Dynamic;
    }
}
  • 지정한 시간 후에 발판이 무너져서 떨어지게 됩니다.
  • 아래에 Destroy(gameObject, 시간);을 추가하면 자동 제거도 가능

4. 발판 충돌 태그 확인

위 스크립트에서 CompareTag("Player")를 사용하므로, 플레이어 오브젝트에 반드시 "Player" 태그를 설정해주세요.


✅ 마무리

이제 점프해서 올라갈 수 있는 기본 발판뿐 아니라, 움직이는 발판과 떨어지는 발판까지 구현할 수 있게 되었습니다. 이러한 요소들은 게임의 난이도와 재미를 크게 높여줍니다.

다음 시간에는 적 캐릭터 추가 및 간단한 AI 구현에 대해 알아보겠습니다.


🔖 태그:

Unity2D, Platformer, 발판 만들기, 움직이는 플랫폼, 유니티2D, 점프 가능한 발판

📝 검색 설명:

유니티 2D 게임에서 플레이어가 점프할 수 있는 기본 발판, 움직이는 발판, 사라지는 발판을 구현하는 방법을 예제로 정리합니다.