in 내가 보는 세상, 소프트웨어 개발

VR 슈터 게임의 조준 개선 방법

오큘러스가 있으므로 VR 슈터를 기대감을 가진체 좀 해봤는데, 모두들 총쏘는 맛이 기대이하였다. 한손으로 쏘는건 괜찮아도 양손 무기는 이내 실망하게 된다.

예외적으로 로보리콜이 괜찮았는데, 그것도 양손을 사용하는 라이플 종류의 총기가 없다.

 

VR 슈터들의 문제점은 조준에 관해서 진짜 총을 쏘는 듯한 느낌에 근접하지 못한것. ‘묵직하고 정교한’ 조준의 느낌을 받을 수 가 없다.
반동을 구현하지 못하는건 하드웨어의 한계이기 때문에 어쩔수 없다.

가장 직관적인 방법은 전용 하드웨어를 만드는 것. 인피니티 워페어를 보면 사격장에서 VR 장비와 전용 VR 총을 통해 훈련하는 모습을 볼수 있는데, 내부 기계 장치로 반동을 구현해놨다.

하지만 일반 개발자 입장에서 전용 하드웨어를 만드는 것은 무리한 방법이다.

일반적으로 모든 VR 슈터에서 양손 무기는 같은 방식으로 구현한다.

힌지 포인트를 두개 만들어 놓는다. 트리거와 총열(혹은 수직 손잡이).

총의 조준은 트리거의 힌지 포인트를 중심으로, 수직 손잡이 힌지포인트를 통해 회전시킨다.

 

이 방식의 문제점은 상당한 허전함을 느낀다는 것이다. 조준이 컨트롤러에 대해 극도로 민감하다. 물론 컨트롤러 자체가 실제 총에 비해 전혀 무겁지 않기 때문에 조준을 하는 것은 어렵진 않지만, 일단 조준을 한번 하면 안정적으로 조준을 유지하기 어렵다. 컨트롤러를 조정하기 힘들어서가 아니라, 반대로 컨트롤러로 총을 조종하기 너무쉬워서 총의 위치와 회전에 너무 피드백이 즉각적으로 민감하게 간다.

 

이 느낌의 결과물을 비유하면: “어썰트 라이플을 사용하는데 매우 가벼운 무게의 SMG를 허공에 대고 연사하는 느낌”

 

내 개인적인 생각으로는) 해결책은 견착을 구현하면 된다.

  1. 힌지포인트를 오른손(총열or수직손잡이) 과 왼손(트리거) 뿐만 아니라 오른손 어깨(개머리판) 세군대로 잡는다.
  2. ‘견착자세’로 스위치 하는 트리거를 발동시킬시 지정된 프리셋 위치로 총기를 이동하고, 견착하는 어깨쪽을 회전의 중심으로 삼는다.
  3. 왼손 컨트롤러와 오른손 컨트롤러의 실제 위치를 총기의 힌지 포인트와 맵핑하지 않는다. 대신에 왼손 컨트롤러와 오른손 컨트롤러가 이동하는 델타 벡터를 어느정도 감쇠하여 총기의 위치가 이동하게 한다.

이렇게 하면 실제 총기를 가지고 정교하게 조준하는 느낌이 날것이다.

견착 자세를 해제하면, 개머리판의 힌지포인트는 쓰지 않는다. 그리고 이전과 같이 총기의 각 힌지 포인트를 실제 컨트롤러들의 트래킹 위치에 맵핑하면 된다.