1. 간단 요약
- FPS 게임 프로젝트의 전반적인 계획서 작성
- 프로젝트에서 버전 관리 기능 사용
- IMC, IA 등 기본적인 Player Controller 생성
2. 세부 과정
- 프로젝트 계획
- 프로젝트 버전 관리
- Player Controller 생성
2-1. 프로젝트 계획
- 전반적인 게임의 형태
- 빠르게 클리어하는 것을 목표로 하는 Speed Run 형태의 플레이 스타일.
- 정해진 경로를 따라 이동하며 목표물 처치.
- 점수를 기록하여 랭킹 집계.
- 주요 기능
- 기본적인 FPS 기능
- Fire (발사)
잔탄이 남아있다면 탄환을 발사.
- Reload (재장전)
현재 잔탄 수가 최대 잔탄 수보다 적을 경우 최대 잔탄 수로 갱신.
- Aim (조준)
총기 가늠자를 중앙에 배치 및 시야 배율 조정.
- Swap (무기 교체)
숫자 키를 통한 무기 교체.
- Run (달리기)
걸을 때보다 빠른 속도로 이동, 도중에 다른 동작 불가능.
- 총기 반동
격발할 때마다 반동이 발생하여 난이도 조절.
- 소리 효과
총기와 관련된 효과음, 과녁 생성 및 파괴, 캐릭터 애니메이션에 따른 효과음 등 사운드 추가.
- 레이저 포인터 기능
레이저가 총구 방향으로 정해진 거리만큼 그려지도록 세팅.
- 과녁 시스템
플레이어가 게임 도중 처치해야할 목표.
플레이어가 특정 위치에 도달하면 과녁이 등장하고, 탄환에 적중 시 내려감.
- 랭킹 시스템
게임 점수를 로컬 데이터로 저장하여 상위 기록 집계.
- 환경설정 기능
해상도, 마우스 감도, 밝기 등을 조절할 수 있는 환경설정 창 구현
- 캐릭터 애니메이션
각 동작마다 적절한 애니메이션이 출력될 수 있도록 설계
2-2. 프로젝트 버전 관리
개발 과정 로그를 남기고, 예기치 못하게 프로젝트 데이터가 손실되는 것을 방지하기 위해 Editor에서 Revision Control 설정.

각 Asset의 History를 통해 어떠한 작업을 진행했는지 파악하기가 용이.

추후 Github와 연동할 것.
2-3. Player Controller 생성
캐릭터의 조작을 제어할 Controller를 생성하고 Input Mapping Context와 Input Action 생성 및 세팅.

Controller에서 IMC 추가 후, 캐릭터의 Event Graph에서 Input Action Event 동작 구현.
이전에 만들었던 3인칭 플레이의 움직임에서는 카메라 방향과 캐릭터의 방향이 별개였지만, 1인칭에서는 카메라의 방향이 곧 캐릭터의 방향이므로 'Add Movement Input'의 World Direction을 Actor의 Ratation으로 설정.

Look은 기존과 동일.

3. 구현 중 발생한 문제 및 해결방안
별다른 문제 발생 없음.
4. 오늘의 결과물

1인칭에서의 기본적인 움직임 구현 완료.
다음엔 과녁, 총기, 점수 등의 시스템을 구현할 예정.