[Unity]멀티플레이 FPS게임 개발기 2 - 클라이언트: 목표와 기능구현1

RisingJade의 개발기록·2022년 5월 6일
0

KILLER BEAN 제작기

목록 보기
2/5



유니티 에셋스토어에는 참 좋은 무료 로우폴리 메셋들이 많다...

클라이언트

"자세한 코드 설명 및 전체적인 구성은 따로 포트폴리오 페이지에서 정리하겠습니다.
여기선 현재 구현된 기능과 해당 기능에 대한 간단한 설명 및 추후 개발할 것들을 정리합니다"

목표

  • FPS일것 - TPS는 추후 지원여부 판단
  • 캐릭터 액션에는 점프, 달리기, 슬라이딩, 조준, 사격이 존재 - 스킬이 추후 지원여부 판단
  • 무기는 1~4번까지 - 1: 주무기 2: 보조무기 3: 근접 4: 폭탄
  • 오버워치의 힐팩같은 힐팩 스폰, 탄약 스폰이 있을 것 - 콜오브듀티시리즈처럼 벽뒤에 가만히 있으면 체력차는건 너무 게임의 템포를 떨어트림
  • 데스매치 타입의 게임 - 개인적으로 가장 좋아하는 타입. 옛날 서든 어택에서도 웨어하우스만 했었다...
  • 최소 3:3에서 최대 8:8까지 지원
  • APEX Legend 처럼 스킬도 지원했으면 좋겠다. - 위를 먼저 만들고 후에 제작

클라이언트를 만들면서 해보려고 하는 것

  • 여러 디자인 패턴 사용
  • 최대한 코딩 인벤션 지키기

기능구현 상태 1(LastUpdate.22.05.06)

일반적인 구현 코드는 생략하겠습니다.

22.05.06

FPS 화면 구현

  • In GameView
  • 씬에서 보이는 모습

    FPS에서 화면 생성을 위해 2개의 카메라를 사용하였다.

    여기서 CameraRoot 아래 CameraWeapon과 투명객체외 모든 Layer을 랜더링하고 WeaponCamera는 오직 Weapon 렌더링하여 구현한다.

    "이렇게 하는 이유는 하나의 카메라만 사용시 weapon부분이 벽을 통과하여 보이거나 시점을 위 아래로 바꿀때 따로 애니메이션구현이 없기 때문에 weapon Arm이 보이지않는데 총알이 조준점으로 나가는 이상한 모습을 보게된다."

캐릭터 액션구현

  • 슬라이딩
  • 점프
  • 달리기
    위 3개는 딱히 어려운것이 없었다. 그냥 슬라이딩은 중력값과 마찰계수를 잘 조정해서 10'이상 경사가 있으면 Lctrl를 눌러 미끄러지게 하고, 슬라이딩 중에 점프를 하면 슬라이딩 속도의 momentum(힘)을 받아 좀 더 멀리 나가게 되어 스피드한 감각을 살렸다.

무기 구현

  • 1번 주무기: AK-47 로우 폴리가 무료 에셋으로 있어서 사용하였다.

  • 2번 보조무기: 평범한 권총 로우 폴리가 무료 에셋으로 있어서 사용하였다.

  • 3번 근접무기: 딱히 맞는 에셋이 없다... 모델찾아 리깅하고 애니메이션 만드는데 시간이 걸리니 나중에 만들려고 한다.

  • 4번 투척무기: 현재 쓰고있는 무료 로우폴리 에셋에는 투척물이 Hand_Grenade밖에 없지만 수류탄 하나라도 구현하였다.
    (3,4번 무기는 따로 애니메이션이 없다... 따로 1번과 같은 포즈에 총이 안들고있는게 디폴트 모션이되었다.)

아이템 스포너

  • 구급상자
  • 주무기 탄약
  • 추가할것: 수류탄, 보조무기 탄약, 여러종류의 총 랜덤 스폰 등

팀 데스매치

  • 서버 개발기록에서 자세한 설명을 하는걸로..

개발해야 할 추가 컨텐츠

  • 평지에서도 달리기중 슬라이딩 가능
  • 맵에 폭탄 배럴 생성 - 완료
  • 좀 더 정교한 맵 생성
  • 무기 종류 확장
    • 주무기 3~5종류 확장
    • 스나이퍼, 샷건 등 뉴타입 무기 제작
    • 근접무기는 없지만 근접평타 생성
  • Kill카운트, Team UI 생성
  • 로드아웃 커스텀 UI 제작
  • 로드아웃 커스텀 무기 포인트 시스템 제작
profile
언제나 감사하며 살자!

0개의 댓글