본문 바로가기
개발일지/공포게임

[공포게임] 2. 스마트폰 기능 구현

by heydotory 2025. 4. 27.

폐가 라이브 방송을 게임으로 만들면 재밌겠다는 생각을 했다.

방송은 스마트폰으로 이루어지면 좋겠다고 생각했고,

이 스마트폰에서 시청자의 채팅이 보이면 더 재미있겠다는 생각이 들었다.

이 과정에서 스마트폰의 다양한 활용 방안이 생각났고 이는 다음과 같다.

  1. 라이브 방송 화면과 채팅을 보여준다. 채팅은 사용자가 바라보는 오브젝트에 따라 내용이 달라진다.
  2. 몸을 기울여서 바라보는 행동을 스마트폰으로 대신한다. 복도의 코너에서 스마트폰을 내밀어 상황을 살핀다.
  3. 줌인, 줌아웃, 더 나아가서는 적외선 카메라 기능까지?

우선 채팅 기능이다. 이를 위해 먼저 채팅을 보여주기 위한 UI를 만들었다.

그리고 이 UI를 스마트폰과 같이 월드상에 띄웠다.

채팅이 올라가는 것까지 구현

 

채팅 데이터 (이름과 상황 등)는 데이터 테이블을 활용하여 저장하기로 했다.
그리고 오브젝트에 태그를 부여하고 그 오브젝트를 바라보면 해당 태그에 맞는 메시지가 무작위로 선택되게 할 예정이었다.

채팅 데이터 저장 방식

 

생각할수록 만들어야 할 메시지가 어마어마하게 많았기 때문에

메시지 작성은 여기서 보류하기로 하고 다른 기능을 먼저 만들기로 했다.

 

다음으로는 스마트폰을 화면상에서 옮겨가면서 볼 수 있도록 했다.

마우스 드래그를 통해 스마트폰의 위치를 변경하고 위치에 따라 각도가 자동으로 조절된다.

스마트폰이 왼쪽, 오른쪽에 있을 때 각도를 지정해 놓고 (왼쪽은 0도, 오른쪽은 180도)

마우스의 좌표를 바탕으로 두 각도 사이를 Lerp하여 구현했다. 생각보다 간단한 작업이었다.
구현이 되었을 때는 생각보다 보이는 느낌이 좋아서 기분이 좋았다.

 

다음으로 우클릭을 하면 스마트폰 화면이 게임 화면이 되도록 했다.
아웃라스트에서 캠코더를 들여다보는 그것과 똑같다.

화면이 커졌으므로 채팅창 크기는 줄였다.
더불어 자동 DOF 기능도 넣었다.
자동 DOF는 라인트레이스를 통해 Focal Length를 파악한 후 카메라의 이 거리를 조정하도록 하여 구현했다.
라인트레이스는 언리얼의 타이머를 활용해서 0.1초마다 거리를 재도록 했다.

Focal Length 추적
카메라 Focal Length 변경

 

여기까지 만들었을 때 한 가지를 깨달았다.
공포게임의 근본은 추격전, 퍼즐인데 라이브 방송의 상호작용 기능에 너무 몰두하는 것은 아닌가 하는 생각이 들었다.
결국 스마트폰 기능은 잠시 내려두고 이번 게임에서는 레벨 디자인, 아이템 상호작용, 적 AI 등에 집중하기로 했다.
그래도 결과물이 마음에는 들고 나중에 다른 게임을 만들 때 유용하게 활용할 수 있을지도 모르겠다.