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) 위에 착지해 있는 동안, 플레이어와 발판의 상대 좌표를 유지해 발판과 함께 움직이도록 위치 동기화