Journal of the Korea Computer Graphics Society
The Korea Computer Graphics Society
Article

다중 플레이어들의 팀워크에 기반한 동작-구동 조정 게임

김혜진, 심재혁, 임승찬, 고영노, 한다성*
Hyejin Kim, JaeHyuk Shim, Seungchan Lim, Youngnoh Goh, Daseong Han*
한동대학교
Handong Global University
*corresponding author:Daseong Han/Handong Global University(dshan@handong.edu)

© Copyright 2018 Korea Computer Graphics Society. This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/4.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

Received: Jun 23, 2018 ; Revised: Jun 29, 2018 ; Accepted: Jul 04, 2018

Published Online: Jul 10, 2018

요 약

본 논문은 다중의 플레이어들이 단합된 동작을 통해 노를 저어 보트를 이동시키도록 하기 위해 동작에 의해 구동되는 조정(rowing) 시뮬레이션 프레임워크를 제안한다. 실제 조정 경기에서 보트를 가속하기 위해서는 선수들이 시간과 자세에 대해 노 젓는 동작을 동기화 시키는 것이 매우 중요하다. 조정의 이러한 흥미로운 특징을 이용하여, 본 논문에서는 다중 플레이어들이 노 젓는 동작을 수행하는 동안 그들 사이의 동작 유사도를 실시간으로 측정하고 그 유사도에 기반하여 가상환경에서 보트의 속도를 제어한다. 또한 제안된 프레임워크에 아이템 획득과 같은 게임적인 요소들을 추가하여 플레이어들의 조화된 행동에 의해 아이템을 획득한 경우 아이템 종류에 따라 배의 속도가 증가하거나 감소하도록 한다. 이러한 게임적인 요소들은 플레이어들이 단합된 조정 동작을 생성하기 위한 좋은 팀워크를 훈련할 때 좀더 적극적으로 참여하도록장려한다. 노 젓는 동작과 아이템을 획득하는 동작을 인식하기 위해 본 논문에서 제안하는 방법은 머리와 양손에 대한 추적 데이터만을 필요로 하며 실시간에 동작할 정도로 충분히 빠르다. 몰입감을 높이기 위해 조정 시뮬레이션 결과를 대형곡면 스크린에 프로젝션 한다.

Abstract

In this paper, we present a motion-driven rowing simulation framework that allows multiple players to row a boat together by theirharmonized movements. In the actual rowing game, it is crucial for the players to synchronize their rowing with respect to time andpose so as to accelerate the boat. Inspired by this interesting feature, we measure the motion similarity among multiple players inreal time while they are doing rowing motions and use it to control the velocity of the boat in a virtual environment. We also employgame components such as catching an item which can accelerate or decelerate the boat depending on its type for a moment once ithas been obtained by synchronized catching behaviors of the players. By these components, the players can be encouraged to moreactively participate in the training for a good teamwork to produce harmonized rowing movements Our methods for the motionrecognition for rowing and item catch require the tracking data only for the head and the both hands and are fast enough to facilitatethe real-time performance. In order to enhance immersiveness of the virtual environment, we project the rowing simulation resulton a wide curved screen.

Keywords: 가상 현실; 모션 유사성(동작 유사성); 모션 캡처; 참여형 멀티플레이어 게임; 조정
Keywords: virtual reality; motion similarity; motion capture; participatory multiplayer game; rowing

1. 서론

가상현실 시뮬레이션은 여러 가지 훈련이나 교육 분야에서 환경적인 제약 조건을 극복하고 경제성 또는 접근성을 높이는데 있어서 상당한 효과를 거두어 왔다[1,3]. 이와 함께 훈련의 성과를 극대화하기 위해 최근에는 다양한 분야에서 게임적요소들을 적용함으로써 참여자의 흥미와 참여를 높여주는 연구가 활발하게 진행되고 있다. 특히, 스포츠와 신체단련(fitness) 분야에서 게임화(gamification)는 참여자들에게점수 또는 보상과 같은 외적 동기를 주게 되고 이러한 외적동기는 다시 참여자들의 내적 동기를 증가시키는 것으로 알려져 있다[2]. 이와 관련하여 본 논문에서는 수상 스포츠 중의하나인 조정(rowing)에 엔터테인먼트적인 요소를 가미한 VR조정 게임 프레임워크를 통해 조정에 요구되는 보트 장비와 보트를 띄울 강과 같은 환경적 제약을 극복하고 실내에서 연령과 전문성에 관계없이 누구나 쉽고 재미있게 즐길 수 있는가상 조정 환경을 구축하는 방법을 제안한다.

조정은 노를 저어서 보트를 빠르게 이동시키는 것을 겨루는 스포츠로서 한 사람이 배를 젓는 스컬(scull)이라는 종목 외에는모두 단체종목으로서 정해진 인원의 선수들이 한 팀을 이루어 경기를 진행한다. 이러한 단체 종목에서 높은 보트 속도를 얻기위해서 무엇보다 중요한 것은 선수들 간의 팀워크와 협동심이다. 개개의 선수들의 힘과 지구력이 아무리 우수하더라도, 선수들 간의 노를 젓는 동작과 타이밍이 일치하지 않으면, 노를 젓는 힘이 서로 상쇄되어 보트를 가속시키기가 어렵다. 이에 따라 조정에서는 특별히 팀 선수들간의 단합과 완벽한 일체감을 만들기 위한 훈련에 많은 노력이 요구된다. 본 논문에서는 선수들 사이의 단결이 중요시되는 조정의 이러한 흥미로운 특성을 이용하고 여기에 게임적인 요소를 가미하여서 플레이어들 사이의 화합을 재미있게 즐기면서 훈련하는 참여형 다중 플레이어 게임을 제안한다.

이를 위하여, 본 논문에서 제안하는 VR 게임 프레임워크에서는먼저 모션 캡처 시스템을 이용하여 실시간에 임의의 수의 플레이어들의 동작을 추적하고 그 동작 데이터를 분석하여 조정 동작을 인식한다. 일단 조정 동작이 인식되면, 플레이어들의 동작데이터에 기반하여 그들 간의 동작 유사도를 계산하고, 그 유사도가 높을수록 보트가 빠르게 나아가도록 하고 낮을수록 보트가 느리게 움직이도록 한다. 또한 게임적인 요소를 추가하기 위해 게임 진행 중에 보트를 가속하거나 감속시킬 수 있는 아이템을 무작위로 생성하여 화면에 보여주고 플레이어들이 생성된 아이템 쪽을 향해 함께 손을 드는 단합된 행동을 보여주면 생성된 아이템을 취할 수 있도록 한다.

기존의 가상 조정 시뮬레이션[3]과 비교하여 본 논문에서다루는 조정 VR 게임은 크게 두 가지 점에서 뚜렷한 차이점을 갖는다. 첫째, 전자에서는 두 명의 플레이어들만 게임에 참여할 수 있는 반면 반면, 후자에서는 임의의 수의 플레이어들이참여할 수 있도록 참여 인원수에 대하여 게임을 일반화시켰다.둘째, 전자에서는 플레이어들 간의 동작 유사도에 기반하여 보트 움직임만 시뮬레이션 한 반면, 후자에서는 플레이어들간의 협동을 통한 아이템 획득을 추가하여 게임성을 강화하였다. 이와 관련하여 본 연구의 공헌은 크게 두 가지로 다음과 같다. 첫째, 임의의 수의 플레이어들이 조정 동작을 취할 경우 해당 동작이 유효한 조정 동작인지 판별하고 그 동작들 사이의 유사도와 시간의 일치도를 실시간에 효율적으로 측정하는 새로운 방법을 제안한다. 둘째, 다중 플레이어들이 서로 협동하며 즐겁게 참여할 수 있는 가상현실 스포츠 게임을 제안한다. 여러 사람이 동시에 게임에 참여하여 서로의 동작을 통일함으로써 협동심을 향상시키고, 이와 더불어 아이템을 획득할 수 있는 인터페이스를 구축하여 게임적 요소를 추가함으로써 운동의 효과와 재미를 동시에 얻을 수 있도록 하였다.

본 논문의 구성은 다음과 같다. 단락 2 에서는 관련 연구에 대한논의를 통해 기존의 동작 분석 방법들과 협동 게임 및 게임화와 관련된 사례들을 살펴본다. 단락 3 에서는 본 논문에서 제안하는 시스템에 대한 전체 개요를 보여준다. 단락 4-6 에서는 각각시스템의 주요 구성요소인 모션 캡처, 동작 분석, 그리고 조정게임 시뮬레이션의 기술적인 내용에 대해 살펴본다. 단락 7 에는실험 결과에 대해 논하고 8 절에서 제안된 방법론의 한계점과 향후 연구에 대해서 논한다.

2. 관련 연구

최근 연구에서 사람의 모션데이터를 받아 그 모션의 유사성을 검사하는 연구가 많이 진행되었다. Ko와 Pan은 사람의 앉은 자세의 상체 데이터를 받아 모범자세와의 유사성 검사를 통해앉은 자세 교정에 관한 연구를 진행했다[4]. 상체에 붙인 마커의 위치데이터와 회전데이터를 받아 모범자세의 상체 데이터와 비교하여 유사성을 검사하였다. Lee와 그의 동료들은 캐릭터의 모션 궤적을 추적하여 모션을 비교하고 제어하는 연구를 하였다[5]. Lee는 캐릭터 간의 행동 유사성 비교를 위해 각 관절 의 속도와 각도를 통해 캐릭터의 행동 유사성을 비교하였다. [6]의 연구에서는 스켈레톤(skeleton)의 행동을 각 관절의 위치,각도, 속도 및 각속도로 나타내어 유사성을 검사할 수 있는 기반을 마련하였다. Tido Roder는 캐릭터의 동작을 루트(root)의 절대적인 움직임과 회전으로 표현함과 동시에 각 관절의 상대적 위치와 회전을 가지고 나타냈다[7]. 또한 캐릭터의 루트와 관절의 움직임을 쿼터니언 기반으로 계산을 하여 캐릭터 모션 간의 유사성을 검사하였다. Kovar와 그의 동료들은 캐릭터의 모션을 루트(root) 관절의 위치와 각 관절의 방향을 쿼터니언으로 나타내어 모션 간의 비교를 수행하였다[8]. 앞에서 관절의 위치, 속도, 회전을 통해 유사성을 검사한 것과 다르게, Guan과 Yang은 각각의 관절이 움직임으로 만들어지는 공간곡선(space curve)의 곡률로 유사성을 비교를 하였다[9].공간곡선의 곡률의 비교와 더불어 각각 관절의 상대적 위치를 비교하여 캐릭터의 행동 유사성을 검사하였다. Deng과 그의 동료들은 논리적으로 비슷한 행동을 효과적으로 검색하기 위해 Example-based의 접근을 제안했다[10]. 사람의 행동은 계층적 동작으로 나타낼 수 있는데, Deng의 방법은 모션 패턴을 발견하고 조직적 구조를 맞추어 주는 것이다. 앞의 연구와는 다르게 Shim과 그의 동료들의 연구에서는 주기와 패턴이 있는동작에 대해 두사람의 행동 유사성을 검사를 하였다[3]. 두 사람의 양손과 머리에 마커를 붙여 모션캡처 카메라로 인식한 후, 머리와 양손의 위치 정보에 기반하여 두 플레이어의 행동패턴의 유사성을 구하였다. 이와는 다르게, 본 논문에서는 2명 이상의 사람들에 대해 주기와 패턴이 있는 모션에 대한 유사성을 효과적으로 구할 수 있는 방법을 제안한다.

Kayali와 그의 동료들은 암에 걸렸으나 완치된 어린이들을 위한 참여형 게임을 고안했다[11]. 암은 완치가 되어도 후유증이 남아서 그러한 후유증을 효과적으로 다룰 수 있도록 어린이들을 위한 참여형 게임을 만들었다. 한편, 게임을 함에있어서 나이가 들수록 인지능력과 신체적 제한이 생겨 기존의 활동적인 게임을 참여하기에는 제한이 있다. 또한 나이가 많은 사람을 위한 게임은 현재 많이 개발이 더딘 상태이다. 이 문제를 다루기 위해 나이든 사람들의 신체적 특성을 고려한 참여형 게임이 제안되었다[12]. Eum과 Lee는 참여형협동게임이 정서적 발달에 미치는 영향에 대해 서술했다[13]. 참여형협동게임을 통해 참여자의 자발성, 소외감, 자신감을 긍정적인 정서상태로 발달시켰다. Lukosch와 그의 동료들은 위험한 상황을 대비할 수 있는 참여형 시뮬레이션 시스템을 만들었다[14]. 이 시스템을 통해 사람들은 위험한 상황을 미리 시뮬레이션 해보고 대처할 수 있는 훈련이 가능하게 되었다. 본 논문에서는 여러 사람 사람들이 동작패턴과 타이밍을 맞추는참여형 게임을 제시함으로써 다른 사람과의 협동심을 훈련할수 있는 조정 시뮬레이션 시스템을 제안한다.

Wylie는 Fitness Gamification라는 개념을 도입했다[15]. 게임화란 게임이 아닌 것들에 게임적 요소를 넣어 그것들을 더 재미있고 흥미롭게 만드는 것을 말한다. 게임화를 위한 적합한 요소들은 점수판, 친구와의 경쟁, 보상, 그리고 개인의 목표를 성취하기 위한 동기부여라고 제시했다. Giannakis와 그의 동료들은 사람의 행동이나 움직임을 추적하는 소프트웨어가 스포츠를 게임화 하는 것에 대한 효율성에 대해 논한다. 그리고 추적 소프트웨어에서 가장 중요한 것이 사용자에게 어떤정보를 시각적으로 보여주어야 효율이 가장 큰지에 대해 제시하였다[16]. 사용자의 움직임을 추적 정보 한 정보인 평균 속도를 보여주면 스포츠를 더욱 흥미롭고 재미있게 만들어 스포츠를 게임화 하는 효율을 높여준다. 추적을 하는 좋은 수단중 하나는 스마트폰인데. 스마트폰으로 추적을 하여 운동을더욱 흥미롭게 해 사용자의 몸상태와 건강을 더욱 좋게 만들 수있다. Lee와 그의 동료들도 스마트폰에 기반한 헬스케어 어플리케이션과 게임화를 통해 몸상태를 건강하게 유지할 수있음을 제시했다[17]. 그러나 스마트폰을 통한 헬스케어와 게임화는 나이와 상태, 성별에 따라 영향이 다른 것으로 나타났는데 특히 어린 그룹일수록 효과적인 것으로 나타났다. 본 논문에서는 여러 명이 함께하는 조정 시뮬레이션을제시하는데, 시뮬레이션에 아이템과 같은 게임적 요소를 넣어 더욱 흥미로운 시뮬레이션을 제시한다.

3. 시스템 개요

본 논문에서 제안하는 시스템 개요는 크게 모션 캡처(motion capture), 동작 분석(motion analysis), 조정 게임 시뮬레이션(rowing game simulation), 시각화(visualization)의 4 개컴포넌트들로 구성된다(Figure 1).

jkcgs-24-3-73-g1
Figure 1. System overview.
Download Original Figure

첫 번째 컴포넌트에서는 다중 플레이어의 동작을 분석하기위해 필요한 동작 데이터를 실시간으로 캡처한다. 모션 캡처시스템이 추적하는 데이터는 각 플레이어의 머리, 오른손,왼손의 위치 데이터이다.

두 번째 컴포넌트인 동작 분석은 크게 아이템 선택(item selection)과 유사도 계산(similarity computation)으로 구성된다. 캡처한 실시간 데이터는 동작 분석을 통해 현재 플레이어들의 움직임이 게임 아이템을 선택하는 제스처인지 아니면 조정을하는 동작인지 구분된다. 만약 게임 아이템을 선택하는 제스처라면 플레이어들이 선택한 아이템에 대한 정보를 얻고,조정을 하는 동작이라면 각 플레이어들의 동작 유사도를계산한다.

동작 분석에서 얻은 결과값은 세 번째 컴포넌트인 조정 게임시뮬레이션에서 간단하게 구현된 보트의 상태에 영향을 준다.보트의 상태는 보트의 위치와 속도로 구성되어 있고 매프레임마다 지속적으로 업데이트된다. 앞서 계산한 동작유사도가 높을 수록 보트가 빨리 움직이고, 반대로 유사도가낮을 수록 느리게 움직이기 때문에, 플레이어들은 자신들의 보트 속도를 높이기 위해 최대한 서로의 동작이 유사하도록 협동해야 한다. 또한 플레이어가 획득한 아이템의 종류에따라서 보트의 속도가 가속 또는 감속하도록 하여 플레이어들의 적극적인 게임 참여에 대한 외적 동기를유도한다.

현재의 보트 상태와 아이템들이 주어지면, 네 번째 컴포넌트에서는 가상 현실에서 진행하는 조정 게임의 몰입감을 높이기 위해서 대형 곡면스크린 상에 그 정보를 시각적으로 프로젝션한다. 본 논문의 남은 부분에서는 VR 조정 게임의 주요기술 내용을 다루기 위해 처음 세 컴포넌트에 대해 집중적으로다룬다.

4. 모션 캡처

본 단락에서는 동작에 의해 구동되는 조정 게임을 위한 모션캡처 방식에 대해 설명한다. 본 논문에서 제안하는 시스템에서는 광학식 모션 캡처 카메라를 사용하여 플레이어의 동작 데이터를 동작 분석 컴포넌트에게 실시간으로스트리밍한다. 플레이어의 동작 분석이 간단하면서도 효율적으로 이뤄지도록 하기 위해서, 전신 동작을 캡처하기보다는 조정 동작을 할 때 중요한 신체 부위인 머리와 양 손의 위치만 고려한다.

이를 위해 마커를 이용하여 각 플레이어의 머리, 오른손 및 왼손이 강체로 인식되도록 한다. 이를 구현함에 있어서 플레이어가 게임을 할 때마다 번거롭게 마커가 부착된 수트를 입을 필요 없이 간편하게 조정 게임을 할 수 있도록 제작된 두 종류의 소도구를 사용한다. 그 소도구 중 하나는 플레이어의 머리 위치를 추적하기 위해 마커가 부착된 모자이고 다른 소도구는 플레이어의 양손 위치에 대한 데이터를 얻기 위해 그끝 부분에 마커가 부착된 막대기 한 쌍이다(Figure 2).

jkcgs-24-3-73-g2
Figure 2. Rowing game equipment. A marker-wrapped hat and a pair of bars recognized as rigid bodies.
Download Original Figure

신체 크기에 관계없이 플레이어들의 동작을 일관성 있게분석하기 위해서는 각 플레이어의 실제 팔 길이를 고려해야한다. 이를 위해 본 시스템에서는 본격적인 게임이 시작되기전에 모든 플레이어들에게 약 1 초간 ‘T’ 모양의 자세를취하도록 하고 머리에서 각 손까지의 길이를 계산하여 실제 양 팔의 최대 길이를 구한다. 일단 양 팔의 최대 길이가 계산되면,이후 게임에서 진행되는 모든 동작 분석에서, 머리 위치를기준으로 표현된 각 손의 지역 좌표를 그 손에 대한 최대 팔길이로 나누어서 각 손의 위치를 정규화된 위치로 나타낸다.

5. 동작 분석

본 단락에서는 모션 캡처 시스템으로부터 실시간으로 데이터가 들어올 때, 다중 플레이어들이 어떤 동작을 취하고 있는지 분류하여 처리하는 과정에 대해 설명한다. 동작은 크게 조정을하는 동작과 아이템을 선택하는 두 가지 동작으로 분류된다. 먼저 조정 동작의 경우, 각 플레이어들이 일정한 시간에 맞추어 서로 유사하게 노를 젓고 있는지를 판단하는데 이를 위한 조정동작 유사도 계산이 필요하다. 두 번째로 다중 플레이어들이 아이템을 선택할 경우, 각 플레이어가 아이템 획득을 위해요구된 동작을 정확히 수행하였는지 확인한다.

5.1 유사도 계산

본 단락은 다중 플레이어들이 노를 서로 시간에 맞춰서 얼마나유사하게 젓고 있는지를 판단하는 과정에 대해 다룬다. 다중플레이어들의 조정 동작 유사도를 계산하기 위해서 크게 세 가지 단계를 거친다. 먼저, 각 플레이어의 머리와 양 손으로표현되는 세 가지 강체들의 위치 데이터를 바닥(x-z 평면)에 프로젝션 했을 때의 거리를 구한다. 이 거리는 l 로 표기되며, 이때 l 은 각 플레이어들의 최대 팔 길이에 따라 정규화 된 길이이다. l 이 최소 반지름으로 설정한 r 보다 큰 지 확인하고, 만약 r 보다 크다면 조정 동작의 한 주기가 시작된 것으로 간주한다(Figure 3).

jkcgs-24-3-73-g3
Figure 3. A rowing cycle projected on the x-z plane. p0 and p1 indicate the player’s head and hand positions respectively. l and θ respectively represent the arm length and the angle between the arm and the heading of the boat denoted by Z^ while lmax and θmax their respective maximum values.
Download Original Figure

두 번째로, 위의 조건을 충족하면 조정 동작 계산 시스템이 세 가지 강체들의 위치 데이터를 저장하기 시작하고, lr 보다 다시 작아지는 시점에서 저장하는 것을 멈춘다. 이는 현재 조정동작의 한 주기가 끝났다는 것을 의미하기 때문이다.

마지막으로, 조정 동작의 한 주기가 끝나면, 두 번째 단계에서저장한 데이터들을 이용하여 플레이어 간의 동작 차이를 계산할 수 있다. Shim 과 그의 동료들의 방법[5]에서는 두 명의 플레이어에 대한 동작 유사도를 계산하였는데, 두 플레이어의 동일한 손에 대한 벡터의 이동에 대한 유클리드 거리를 구해서 동작의 차이를 계산하였다. 하지만 조정 게임을 하는 플레이어가 많아질 경우, 위의 방식은 계산 복잡도를 증가시킨다. 따라서 본 논문에서는 분산의 개념을 적용하여 다음과 같은 방식으로 다중 플레이어 간의 동작 차이(distance) D 를 계산한다:

D = f = 0 N [ i = 0 n p ¯ l t , i f μ ¯ l t f 2 n + i = 0 n p ¯ r t , i f μ ¯ r t f 2 n ]
(1)

위의 수식에서 N 은 시스템에 저장된 프레임의 개수로서 데이터의 성분 개수와 동일하다. p¯j,nf(j{lt,rt})은 총 n 명의 플레이어에 대해서 프레임이 f 일 때, 각 머리로부터 j 방향의 손과의 정규화 된 변위 벡터를 의미한다. 또한 u¯jf(j{lt,rt})n 명의 플레이어에 대해서 프레임이 f 일 때, j 방향손의 평균 변위 벡터로서 다음과 같이 계산된다.

μ ¯ j f = 1 n i = 0 n p ¯ j , i f
(2)

따라서 위의 식 (1)은 동일한 방향으로 뻗은 손에 대해서 모든 플레이어들의 변위 벡터의 분산(variance)을 구한 후, 이를 이용하여 모든 프레임 N에 대한 플레이어 간의 동작의 거리를 구한다. 거리가 작을수록 플레이어들의 손 위치가 평균 주위로 모이므로(플레이어들의 동작이 서로 유사하므로), 거리에 역수를 취하여 다음과 같이 유사도(similarity)를 계산한다:

S = 1 D + ε
(3)

여기서 ε는 분모가 0 이 되는 것을 방지하기 위해 더한 작은 상수 ε이다(모든 실험에서ε = 10−8 로 설정함).

유효한 조정 동작이라고 판단되지 않는 다음의 네 가지 상황에대해서는 유사도를 0 으로 설정한다[3]. 먼저 동작 분석을 통해 다중 플레이어들이 조정 동작을 취하기 보다는 아이템을 선택하는 동작을 취했다고 판단되는 경우, 유사도를 계산하지않고 0 으로 정한다. 두 번째로, 모든 플레이어의 평균 θmax 가 특정한 임계값 α (모든 실험에서 α = 57°로 설정함)보다 작은 경우, 이는 현재 보트가 향하는 방향에 대해서 플레이어들이 벌린 팔의 각도가 너무 작아서 조정 동작으로 판별하기 어려운 경우이므로 유사도를 0 으로 설정한다(Figure 3). 세 번째 경우역시 모든 플레이어의 평균 lmax 가 특정한 임계값 β (모든 실험에서 β = 0.3 으로 설정함)보다 작은 경우, 이는 플레이어들이 팔 동작이 유효한 조정 동작으로 고려하기 어려울 만큼 팔을 작게 뻗은 것을 의미하므로 유사도를 0 으로설정한다. 마지막으로, 모든 플레이어가 한 주기의 조정 동작을 하는데 걸린 시간이 약 0.5 초 보다 적게 걸린 경우 유사도를 0 으로 설정하는데, 이는 실제로 조정을 하는 환경에서 앞서언급한 시간처럼 짧은 시간 안에 노를 젓는 것이 불가능하기 때문이다.

5.2 아이템 선택

본 단락을 통해 어떻게 다중 플레이어들이 가상 현실의아이템과 상호작용하며 조정 게임을 할 수 있는지 설명한다. 먼저 게임 환경에서 총 3 가지 종류의 아이템이 등장한다(Figure 4). 각 아이템은 다음과 같은 속성을 가진다. 아이템 1 을획득하면 플레이어의 보트가 일정한 값의 가속도를 받아서기본 속도보다 빠르게 움직인다. 아이템 2 를 획득하면 플레이어의 보트가 아이템 1 을 획득한 것보다 1.5 배 더 빠르게 움직인다. 마지막으로 아이템 3 은 재미있는 요소를 추가하기위해서 임의의 아이템으로 설정하였고, 이는 두 종류로 구성된다. 이는 보트가 일정 시간 동안 앞으로 빠르게 이동하거나, 일정 시간 동안 보트가 뒤로 가는 경우에 해당된다. 아이템이 생성되는 방식은 보트의 현재 위치로부터 보트가 향하는 방향(Z^)으로 일정한 거리를 두어서 임의로 아이템이 생성되도록 하였다. 생성된 아이템은 플레이어가 바라보고있는 화면을 기준으로 좌측 혹은 우측에 임의로 나타나도록 하였다.

jkcgs-24-3-73-g4
Figure 4. Items displayed on the top as small cubes.
Download Original Figure
jkcgs-24-3-73-g5
Figure 5. A pose to catch an item projected on the x-y plane. p0 and p1 indicate the player’s head and hand positions respectively. u and ϕ respectively represent the arm length and the angle between the arm and the up-vector denoted by Y^ while umax and ϕmax their respective maximum values.
Download Original Figure
jkcgs-24-3-73-g6
Figure 6. A synchronized behavior of three players to catch an item during an experiment.
Download Original Figure

다음으로는 모든 플레이어가 아이템을 획득하기 위해 요구된 동작을 정확히 수행하였는지 확인할 필요가 있다. 이를 위해 첫번째로, 각 플레이어가 아이템을 선택하는 동작을 취했는지 확인한다. 이는 지역 좌표계에서 양 손 중 한 손의 y 좌표가 특정한 임계값 δ 보다 큰지 판단하는 것으로 확인할 수 있다(모든 실험에서 δ = −0.1 로 설정함). 두 번째로, 각 플레이어가 화면 상에서 좌측 혹은 우측에 나타난 아이템의 방향과 동일한 측면으로 손을 뻗었는지 확인한다. 모든 플레이어가 제대로 된 방향으로 손을 뻗었다면, 마지막으로 각 플레이어들이 손을 뻗은 각도가 타당한 모션으로 고려될 수있는 각도인지 계산한다. 이를 위해 먼저 각 플레이어의 머리와양 손으로 대표되는 세 가지의 강체들의 위치 값을 x-y 평면에프로젝션 한 거리 u 를 구하며(Figure 4) 이 때 u 는 각 플레이어의 최대 팔 길이를 고려한 후 정규화 시킨 길이이다. Y^ 는 y 쪽 방향(천장)을 향하는 단위 벡터이며 ϕ 는 플레이어의 머리가향하는 방향과 관계없이 Y^u 가 이루는 각도로 계산할 수 있다.만약 ϕ 가 임계값인 ϕminϕmax 사이에 존재한다면, 아이템을 획득하는 제스처로 고려될 수 있다(모든 실험에서 ϕmin = 40°, ϕmax = 50° 로 설정함).

6. 조정 게임 시뮬레이션

본 단락에서는 이전 시스템에서 계산한 조정 동작 유사도와 플레이어가 획득한 아이템의 종류에 근거하여 이를 조정 게임 실험을 진행하였는지를 기술한다. 시뮬레이션에 어떤 방식으로 적용하였는지 설명한다. 먼저,이전에 계산한 조정 동작의 유사도를 기반으로 보트 속도의 증가와 감소가 결정되며, 플레이어들이 어떤 속성을 가진 아이템을 획득했는 지의 여부가 보트의 상태 변화에 바로 반영되어 지속적으로 업데이트된다.

보트의 상태 변화는 다음과 같이 정형화된다. 먼저, 보트의 위치는 보트가 Z^ 으로 향한다는 전제하에 시뮬레이션이 실행되는 동안 반복적으로 업데이트 된다. 보트의 위치는 다음과 같이 업데이트 된다.

P Z = P Z + Δ t V Z
(4)

위 식에서 PZ는 현재 z 축에 대한 보트의 위치이며, Pz는 바로 다음 시간 스텝에서의 위치이다. ∆t는 현재 시간 스텝에서 다음시간 스텝까지의 시간 간격이다. VZ는 z 축에 대한 보트의 속도이며(모든 실험에서 VZ는 초기에 1 로 설정함), 다음 시간스텝에 대한 보트의 속도는 다음 수식을 통해 지속적으로 업데이트 된다:

V Z = V Z + Δ t a ρ
(5)

위 식에서, Vz는 바로 다음 시간 단계에 대한 속도이다. ρ는 물의 파동으로 인한 속도의 감쇄를 나타낸다. ρ의 값은 VZ 의 값에 비례하도록 매 프레임마다 보트의 현재 속도에 대해서 [0.8VZ, VZ]의 범위에 해당하는 값을 무작위로 추출한다. a는 보트의 가속도를 나타내며, 다음과 같이 정형화된다:

a = γ S ω
(6)

이전 단계에서 구한 동작 유사도 S를 큰 값으로 스케일(scale) 해주기 위하여 특정 상수 γ를 곱하였다(모든 실험에서 γ = 5 로설정함). ω는 아이템 획득 여부와 아이템의 종류에 따라 변하는계수이다. 아이템 종류가 3 가지(각각 아이템 1, 아이템 2, 아이템 3)이므로, ω값이 3 가지 경우로 나누어지게 되는데, 먼저아이템 1 을 획득하게 되면 ω값이 1.5 가 되고, 아이템 2 를 획득하게 되면 ω값이 2 가 된다. 아이템 3 을 획득하게 되면 [-2, 2]범위의 값이 임의로 ω 에 설정되어, 보트가 뒤로 가거나앞으로 가게 된다.

7. 실험 결과

본 단락에서는 본 논문에서 제안한 프레임 워크에 기반하여 어떻게 유사도를 분석하였고, 게임 시뮬레이션을 실행하는 실험을 진행하였는지를 기술한다.

먼저, 게임에 참여하는 다중 플레이어들의 동작 데이터를 확보하기 위해서 12 개의 모션 캡처 카메라(OptiTrack Prime 17W)를 사용하였다. 한편, 실제 조정에서 사용되는 노는 길고 무겁기 때문에, 특수한 지지대가 필요하다. 따라서 이를 대체하기 위해서 모자와 한 쌍의 가벼운 막대기에 마커를 부착하여서 사용자가 소도구를 잡고 노를 젓는 동작을 취하도록 하였다. 앞서 언급한 소도구를 이용하여 모든 플레이어들의 머리, 오른손, 왼손에 대한 강체 데이터를 받아왔다. 플레이어들이 게임을 시작하기 전에 약 1초간(60 프레임) T-자세를 취하도록 하였고 이 때 각플레이어들의 최대 팔 길이를 구하여 이후 팔 길이를 계산할 때마다 계산된 최대 팔 길이를 이용하여 정규화시켰다. 그리고 조정 동작의 한 주기를 계산하기 위해서 머리 중심으로부터의 최소 반지름을 설정하였는데 소도구의 길이가 긴 것을 고려하여, 모든 실험에 대해서 최소 반지름을 0.7 로 설정하였다. 게임 환경을 구축하기 위해서 Unity3D Engine 을 사용하였다. 게임 아이템이 플레이어들의 보트가 위치한 곳으로부터 앞쪽으로 임의의 거리에 생성되도록 했으며, 보트가 아이템을 획득할 수 있는 거리에 들어오면, 아이템이 제자리에서 회전하여 플레이어들이 정해진 시간 안에 아이템을 획득할 수있도록 신호를 제공해 주었다. 만약 플레이어들이 아이템을 잡는 동작이 유효하다면 아이템을 획득할 수 있도록 설정하였다. 획득한 아이템으로 인한 효과가 플레이어들의 보트에 적용되는 시간은 약 3 초로(모든 실험에서 200 프레임으로 설정함), 일정 시간이 지나면 아이템이 보트에 영향을 미치는 효과가 사라지고 기본 속도를 유지하도록 하였다.

8. 결론

본 논문에서는 아이템 획득과 같은 게임적인 요소를 제공하면서도 다중 플레이어가 참여하여 그들 간의 동작유사성에 기반하여 보트를 이동시킴으로써 팀원 간의 협동심 훈련을 재미있게 즐길 수 있는 VR 조정 시뮬레이션 프레임워크를 제안하였다. 제안된 방법은 별도의 표본 동작을 참고하거나 어떤 전처리 과정을 수행하지 않고도 다수의 플레이어들 간의 조정 동작의 유사성을 효율적으로 구할 수있다. 또한 가상현실 환경 속에서 동작의 일치성에 근거하여 팀워크를 장려하고, 아이템이라는 요소를 통해 흥미로움을 더한 참여형 스포츠 게임을 제안하였다.

하지만 본 연구는 다음과 같은 한계점들이 있다. 첫째로, 여러종류의 조정 동작 중에서 한 가지 동작만 고려하여 게임을 설계하였다. 그리고 보트를 움직이기 위해서 플레이어의 팔동작만 고려했다는 한계가 있다. 실제 조정 동작은 허리와 다리를 포함하여 온 몸의 움직임에 영향을 받기 때문에 다른신체 부위의 움직임을 고려할 필요가 있다. 둘째로, 플레이어가 아이템을 획득하는 동작을 취할 때, 단순히 플레이어가 뻗은 팔의 각도만 계산했다는 한계가 있다. 화면 상에 아이템이 나타나는 위치 및 각도와 플레이어의 팔이 이루는 각도가 정확하게 맵핑되지 않았다. 마지막으로 시뮬레이션에서 실제조정에서 쓰이는 노와 배를 사용하지 않고 간편한 소도구를 사용하였기에 실제 조정 환경과 다른 감각의 차이를 제공한다는 한계가 존재한다.

따라서 향후 과제로서 다른 신체 부위의 동작 유사도와 자세의 정확도, 그리고 움직임의 속도를 반영할 필요가 있으며, 이 경우 현실의 조정 환경과의 이질감을 줄일 수 있을 것으로 보인다. 특히, 조정에서 힘의 주요한 원천인 하체 동작의 유사도를 분석할 수 있는 방식을 설계하고, 더 정교하게 정형화된 보트의 역학을 적용할 수 있을 것이다. 실제 조정선수를 포함한 다양한 사용자층으로부터 사용성 테스트(user test)를 진행하여 게임에 대한 효용성을 살펴보는 것도 흥미로운 향후 연구가 될 수 있을 것이다. 이에 더하여 다중 플레이어들끼리 동시에 대전을 할 수있는 환경을 구축한 후, 획득한 아이템으로 서로 영향을 주고받을 수 있는 게임적 요소를 추가한다면 게임에 대한 참여와 흥미유발을 좀더 높일 수 있을 것이다.

References

[1].

Jung, J., & Ahn, Y. J, “Effects of interface on procedural skill transfer in virtual training: Lifeboat launching operation study,” Computer Animation and Virtual Worlds, e1812, 2018.

[2].

Stålnacke Larsson, R, “Motivations in Sports and Fitness Gamification: A study to understand what motivates the users of sports and fitness gamification services,” 2013

[3].

Shim, J., Goh, Y., Kim, H., Lim, S., & Han, D, “A Rowing Game Based on Motion Similarity of Two Players,” In Proceedings of the 31st International Conference on Computer Animation and Social Agents, pp. 83-85, 2018.

[4].

Kyeong-Ri Ko and Sung Bum Pan, “Feature Extraction and Classification of Posture for Four-Joint based Human Motion Data Analysis,” Journal of the Institute of Electronics and Information Engineers 52, 6, pp. 117–125, 2015.

[5].

Jehee Lee, Jinxiang Chai, Paul SA Reitsma, Jessica K Hodgins, and Nancy S Pollard, “Interactive control of avatars animated with human motion data,” In ACM Transactions on Graphics (ToG), Vol. 21, ACM, pp. 491–500, 2002.

[6].

Jackie Assa, Yaron Caspi, and Daniel Cohen-Or, “Action synopsis: pose selection and illustration,” ACM Trans, Graph., 24(3): pp.667–676, 2005.

[7].

Tido Roder, “Similarity, Retrieval, and Classification of Motion Capture Data,” Ph.D. Dissertation. Universitats-und Landesbibliothek Bonn, 2007.

[8].

Lucas Kovar, Michael Gleicher, and Frederic Pighin, “Motion graphs,” In ACM SIGGRAPH 2008 classes. ACM, pp51, 2008.

[9].

Tong Guan and Herb Yang, “Motion similarity analysis and evaluation of motion capture data,” 2005.

[10].

Zhigang Deng, Qin Gu, and Qing Li., “Perceptually consistent example-based human motion retrieval,” In Proceedings of the 2009 symposium on Interactive 3D graphics and games, ACM, pp. 191–198, 2009.

[11].

Fares Kayali, Konrad Peters, Jens Kuczwara, Andrea Reithofer, Daniel Martinek, Rebecca Wolfle, Ruth Mateus-Berr, Zsuzsanna Lehner, Marisa Silbernagl, Manuel Sprung, et al, “Participatory game design for the INTERACCT serious game for health,” In Joint International Conference on Serious Games, Springer, pp. 13–25, 2015.

[12].

Gerling, K. M., Schulte, F. P., & Masuch, M. “Designing and evaluating digital games for frail elderly persons,” In Proceedings of the 8th international conference on advances in computer entertainment technology, pp. 62

[13].

Hyok Ju Eum, Dae Hyung Lee, “The Effect of Cooperative Game Lesson on Affective & Motor Skill Achievement of Elementary School Students,” 한국체육교육학회 17권4호. pp. 43-56, 2013.

[14].

Heide Lukosch, Theo van Ruijven, and Alexander Verbraeck, “The participatory design of a simulation training game,” In Simulation Conference (WSC), Proceedings of the 2012 Winter. IEEE, pp. 1–11, 2012.

[15].

Wylie, J, “Fitness gamification: concepts, characteristics, and applications” Print, Elon University, 2010.

[16].

Giannakis, K., Chorianopoulos, K., & Jaccheri, L, “User requirements for gamifying sports software,” In Games and Software Engineering (GAS), 3rd International Workshop on pp. 22-26, 2013.

[17].

Lee, C., Lee, K., & Lee, D, “Mobile Healthcare Applications and Gamification for Sustained Health Maintenance,” Sustainability, 9(5), 772, 2017.