← 프로젝트 목록으로

2D 플랫포머 - 마리오 like

기본 정보

사용 언어
C#Unity
포지션
개인프로젝트
기간
2022.05 ~ 2022.06
팀 / 개인
개인
깃허브 링크
GitHub에서 보기 →

프로젝트 소개

Unity 2D를 이용해 개발한 슈퍼마리오 스타일의 수평 이동 플랫포머 게임입니다.

프로젝트 구성

  • 플레이어

    • Rigidbody2D 기반 물리 이동과 Collider 충돌 처리
    • 가시 함정 접촉 시 넉백과 일시 무적 처리
    • 바닥 법선 벡터 검사로 상단부 접지 시에만 재점프 허용
  • 적

    • 가시 함정과 이동형 몬스터 구현
    • Raycast로 바닥을 감지해 낭떠러지 도달 시 이동 방향을 반전
  • 게임 요소

    • TextMeshPro UI로 코인 획득 시 스코어 반영
    • 깃발 오브젝트 접촉 시 다음 스테이지(씬) 이동
    • 맵 밖으로 추락 시 Game Over 및 재시작 버튼 활성화
  • 맵

    • Tile Map으로 스테이지 구성
    • Sin 함수를 이용해 주기적으로 상하 이동하는 발판 오브젝트 구현

세부 설계

  • 이동/점프 처리

    • 수평 이동은 Rigidbody2D.AddForce로 힘을 주고, 최대 속도를 넘으면 속도를 클램프
    • 수평 입력이 없어지면 속도를 즉시 절반으로 줄여 미끄러짐을 줄이는 감속 처리
    • 충돌 지점의 법선 벡터가 위쪽(Vector2.up)이고 태그가 Ground/MovedGround일 때만 착지로 판정해 재점프를 허용
  • 이동 발판 동기화

    • Sin 함수로 상하 이동하는 발판(MovedGround) 위에 착지해 있는 동안, 플레이어와 발판의 상대 좌표를 유지해 발판과 함께 움직이도록 위치 동기화