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)을 추가로 더해 더 크게 나뒹굴도록 구분