← 프로젝트 목록으로

3D 쿼터뷰 게임

기본 정보

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

프로젝트 소개

Unity 3D를 이용해 개발한 로그라이크 형식의 쿼터뷰 게임입니다.

프로젝트 구성

  • 플레이어 구성

    • 플레이어 이동

      • 이동은 Transform을 이용한 좌표 이동으로 구현
      • 점프는 RigidBody를 이용한 물리 이동으로 구현
      • Shift로 대쉬 시 이동 속도 2배, 대쉬 중 더블클릭으로 회피하면 추가로 2배가 곱해져 기본 대비 최대 4배까지 적용
      • 마우스 이동에 따라 회전하도록 ScreenPointToRay를 이용한 레이캐스트 방식으로 구현
    • 기타 구성

      • 현재 장착 무기에 따라 Melee, Range로 나누어 공격 구현
      • Range 무기 장착 시 재장전 가능하도록 구현
      • Bomb 아이템 사용 시 수류탄이 날아가도록 구현
      • 무기 아이템은 근처에서 F 키로 장착, 탄약·코인·회복·폭탄 아이템은 접촉 즉시 자동 획득
  • 적 구성

    • 적 몬스터 구현

      • 이동 없이 고정된 위치에서 피격 판정과 체력 관리를 담당하는 타겟형으로 구현
  • 무기 구성

    • 공통

      • TrailRenderer와 Particle System을 이용하여 디테일 구성
    • Melee

      • 공격 시에만 Collider를 활성화하여 일반 이동 시에 걸리지 않도록 처리
    • Range

      • 각 총 별로 총알을 따로 구성하여 제작
      • 무기 별 공격속도 및 공격력, 탄약을 따로 설정
      • 탄약이 없을 시 총알이 더 이상 발사되지 않음
    • Bomb

      • 폭발 시 SphereCast를 이용해 몬스터 감지 후 데미지 구현
      • 폭탄에 의해 사망 시 물리효과를 더욱 강하게 주어 튕겨나가듯 구현

세부 설계

  • 이동 디테일

    • 방향키 입력을 0.25초 이내에 두 번 눌렀는지 직접 판정해 회피 동작을 트리거
    • 이동 방향으로 Raycast를 쏴 벽이 감지되면 해당 방향으로는 이동을 막아 벽 통과를 방지
  • 적 피격/사망 연출

    • 피격 시 잠시 색을 바꿨다가 되돌리는 코루틴으로 피격 프레임을 표현
    • 사망 시 피격 반대 방향으로 물리 힘을 가해 튕겨나가듯 처리, 폭탄에 의한 사망은 회전력(Torque)을 추가로 더해 더 크게 나뒹굴도록 구분