쓰리디아이 / 2020
Helliscape VR
VR 총기 조작과 반응하는 NPC 전투

프로젝트 연도 / 상태2020
개발팀 · 리소스 인력 제외3인 · 팀장
사용 기술Unity3D · VR
OVERVIEW
프로젝트와 나의 역할
VR 격발·재장전 튜토리얼, 좀비·병사 FSM 초기 설계, 2인 네트워크 플레이의 초기 구조를 구현했습니다.
- VR 튜토리얼 Stage 개발
- 좀비, 병사 FSM 초기 디자인 구현
- 2인 네트워크 플레이를 위한 네트워크 초기 디자인 구현
- 팀원 일정 관리
CHALLENGE
해결해야 했던 문제
시야·장애물·동료 정보를 함께 반영해야 하는 NPC 전투
APPROACH
선택한 해결 방식
FOV와 장애물 검사를 통해 적을 감지하고 주변 아군에게 정보를 전달하는 Waypoint 기반 FSM을 구성했습니다.
PROJECT MEDIA
실행 화면과 시연
기존 프로젝트 상세 설명 보기
# 3D/VR 좀비 FPS 개발
Unity3D 기반 VR 좀비 FPS로, Oculus Rift·컨트롤러 VR 총기 조작, 좀비·병사 NPC 전투, 시민 AI 및 점수 네트워크 기반 2인 플레이 기능을 포함합니다.
프로젝트 설명을 위한 이미지 및 영상 Youtube
### 01. 프로젝트 구성 (리소스 개발 인력 제외)
팀 구성 : 3인 (팀장으로 참여)
### 02. 프로젝트 내 본인 작업 내용
1. Unity 관련
1. VR 튜토리얼 Stage 개발
2. 좀비, 병사 FSM 초기 디자인 구현
3. 2인 네트워크 플레이를 위한 네트워크 초기 디자인 구현
2. 프로젝트 관리
1. 팀원 일정 관리
### 03. 담당 기능 개발
# Unity 관련
1. VR 튜토리얼 Stage 개발
1. VR 장비 연동 및 격발 튜토리얼 개발
- 개발 방안 : Oculus Rift 를 이용한 VR 컨트롤러 연동 및 VR 콘텐츠 내 총기 격발 및 재장전 튜토리얼 개발
- 이슈 및 문제점 : -
- 해결방안 : -
- 해결 가능 이유 : -
2. 좀비, 병사 FSM 초기 디자인 구현
1. 상호간 교전하는 NPC무리 초기 디자인
- 개발 방안 : NPC 간 상호 교전이 가능한 Waypoint 기반 NPC FSM 개발
- 이슈 및 문제점 : 사실적인 NPC의 특성상, 소리, 시야, 동료간의 상호 인터랙션이 가능하도록 개발해야 함
- 해결방안 : 기본 FOV 시야를 통해 적을 탐지하고, 벽 너머의 적은 시야에 탐지되지 않도록 수정, 근처의 아군이 공격하거나 발견한 적이 있다면 일정 범위내 아군에게 정보를 전달하여 근처의 무리 전체가 상황을 인지 할 수 있도록 개발
- 해결 가능 이유 : -
테스트 버전 NPC FSM 이미지 (군인, 탱크와 좀비간의 교전 테스트)
3. 2인 네트워크 플레이를 위한 네트워크 초기 디자인 구현
1. 네트워크 플레이를 위한 초기 네트워크 모듈 개발
- 개발 방안 : Packet 기반의 UDP 통신 모듈 개발
- 이슈 및 문제점 : 멀티 플레이어의 한경상, 데이터 동기화를 위해 서버 역활의 소켓 PC가 필요
- 해결방안 : 네트워크 Alive 메세지를 통해 나 이외의 클라이언트가 존재하면 Index 값을 확인하여 서버의 Index 클라이언트가 서버가 되어 데이터 관리, 나 이외의 클라이언트가 없다면 네트워크 모듈 종료
- 해결 가능 이유 : 외부 파일로 클라이언트 Index를 미리 정의하여 네트워크 환경을 정리
# 프로젝트 관리 관련
1. 3인 팀원 프로젝트 관리
1. 일정 관리
- 이슈 및 문제점 : 신입 팀원을 이끌고 시작한 프로젝트이므로 낮은 Unity/C# 이해도를 가진 신입들의 일정을 관리하는 것에 큰 애로사항이 발생
- 해결방안 : 매주 팀원들과 프로젝트 코드 리뷰 진행, 코드 리뷰를 통해 팀원들 본인이 작업한 코드에 대한 보다 심도 깊은 이해와 문제점을 파악하고, 팀원간 문제점을 해결하기 위한 논의를 진행. 팀원들이 문제점을 파악하지 못할 경우 유도질문을 통해 스스로 무엇이 문제인지 파악할 수 있도록 유도함

