ISSN 2383-6318(Print) / ISSN 2383-6326(Online)
KIISE Transactions on Computing Practices, Vol. 21, No. 5, pp. 343-350, 2015. 5
http://dx.doi.org/10.5626/KTCP.2015.21.5.343
†
††
비 회 원
종신회원
:
:
한국기술교육 학교 컴퓨터공학부
한국기술교육 학교 컴퓨터공학부 교수
(Koreatech Univ.)
(Corresponding author임)
논문 수 : 2014년 11월 14일
(Received 14 November 2014)
논문수정 : 2015년 2월 2일
(Revised 2 February 2015)
심사완료 : 2015년 2월 23일
(Accepted 23 February 2015)
CopyrightⒸ2015 한국정보과학회ː개인 목 이나 교육 목 인 경우, 이
작물의 체 는 일부에 한 복사본 혹은 디지털 사본의 제작을 허가합니다.
이 때, 사본은 상업 수단으로 사용할 수 없으며 첫 페이지에 본 문구와 출처
를 반드시 명시해야 합니다. 이 외의 목 으로 복제, 배포, 출 , 송 등 모든
유형의 사용행 를 하는 경우에 하여는 사 에 허가를 얻고 비용을 지불해
야 합니다.
정보과학회 컴퓨 의 실제 논문지 제21권 제5호(2015. 5)
립 모션 컨트롤러를 이용한 야구 게임 개발(Development of Baseball Game Using
Leap Motion Controllers)
주 향 한† 조 민 수
† 인 승 교
† 조 규 원
† 민 기
††
(Hyanghan Joo) (Minsoo Cho) (SeungKyo In) (Kyuwon Cho) (Jun-Ki Min)
요 약 마우스와 키보드와 같은 입력장치를 사용하여 할 수 있는 게임들은 많이 출시되었다. 그러나
최근에 키넥트와 Wii와 같이 인체를 움직여 인식을 받는 게임들이 증가하고 있는 추세이다. 본 논문에서
는 사람의 손 모션을 정확하게 인식하는 센서들 하나인 립 모션 컨트롤러를 사용하여 즐길 수 있는 야
구게임 개발에 하여 다룬다. 개발된 게임의 주요 요소는 캐릭터, 야구장이 속하는 배경, 애니메이션으로
구성되어 있으며, 3인칭 시 의 야구게임 형식으로 진행된다. 이 게임의 가장 큰 특징은 게임 사용자가 립
모션 컨트롤러를 활용하여 색다른 게임 이가 가능하다는 이다.
키워드: 립 모션, 유니티 3D, 게임, 야구
Abstract While many games have been published that are used with input-devices such as a
mouse and keyboard, the number of games that can recognize the behavior of a human utilizing
devices such as Kinect and Wii has increased. In this paper, we present the development of a baseball
game that utilizes a Leap Motion Controller. A Leap Motion Controller recognizes accurately the
movement of a user`s fingers. Our implemented game consists of characters, a background and
animation. It is a moving animated game in which the users play a game in point of view of a third
person. The major feature of our game is that the game players can enjoy the game using a Leap
Motion Controller.
Keywords: Leap Motion, Unity 3D, Game, Baseball
1. 서 론
스포츠 게임(Sports game)은 스포츠를 주제로 한 게
임으로, 축구, 농구, 야구, 그 외의 이싱 게임도 여기
에 속하는 종류이다[1]. 특히 PC로 개발된 게임 장르
스포츠게임은 많은 심을 받는 분야이다. 이러한
심은 PC만 있으면 구나 쉽게 스포츠를 게임으로 즐
길 수 있다는 장 에 기인한다.
2014 인천아시안게임 국제무 에서 한민국 야구
표 이 우승을 이루고 한국 로야구의 심이 높아지
면서 로야구가 표 인 국민스포츠로 인기를 모으고
있다. 한 사회인 야구단의 숫자는 큰 폭으로 늘고 있
는 추세이다. 이러한 추세는 일반인들이 로야구를 단
순히 람에 그치지 않고, 스포츠에 직 참여
하고자 하는 것으로 풀이될 수 있다. 하지만 야구는 넓
은 경기장과 야구장비 그리고 많은 인원이 필요한 단체
스포츠로 일반인들이 근하기에 쉽지 않은 스포츠이다.
IT 기술이 발 함에 따라 최근에는 휴 기기도 PC와
344 정보과학회 컴퓨 의 실제 논문지 제 21 권 제 5 호(2015. 5)
맞먹는 성능을 갖게 되고 이와 더불어 컨트롤러의 성능
도 크게 발 되고 있다. 2012년 Leap Motion Inc에서
만든 립 모션 컨트롤러는 0.01mm까지 손가락의 움직임
을 인식할 수 있다. 이에 해 본 논문은 야구게임에 립
모션 컨트롤러를 이용하여 일반인들이 야구 경기장과
비싼 야구장비 없이 야구를 즐길 수 있는 게임을 구
하는 방안을 제안한다. 사용자는 립 모션 컨트롤러를 통
해 포인터와 손가락 모션을 입력한다. 이 게임은 투수모
드(수비)와 타자모드(공격)로 구성되어 있다. 특히 본 게
임의 개발에서 사용자의 흥미를 높이기 하여 공의 구
질을 사용자가 정할 수 있도록 하 다. 이러한 구질을
명확하기 결정하기 하여 투수모드에서는 립 모션 컨
트롤러로부터 입력받은 손가락 포인터를 가지고 구질을
정하도록 구 하 다. 구질은 투심, 커 , 커터, 싱커,
클, 슬라이더 총 6가지로 구성되어있고, 사용자는 이
러한 여러 종류의 구질을 체험할 수 있도록 설계했다.
타자모드에서는 투수가 공을 던진 타이 에 맞춰 사용
자의 모션을 입력받으면 타격을 하고 한 타격 시에
모션 입력을 추가하 다. 각각의 모드와 다양한 모션 입
력을 통해 게임에 해 흥미를 증가시키고 사용자가 게
임을 즐기는데 지루함을 이는 효과를 얻는다.
2. 배경지식
2.1 립 모션 컨트롤러
립 모션 컨트롤러[2]는 높이 12.7 mm, 비 80 mm
의 작은 USB 주변기기로 2개의 외선 카메라( 외선
인식 모듈)과 3개의 외선 LED( 원)으로 이루어져
있다. 이 외선 센서는 직경 1미터 내의 반구형 범 를
인식한다. 외선 카메라가 상정보를 받아들이면서 x,
y, z축을 결정하게 된다. 다음으로 화면상의 특정 을
추출해, 이 이 움직이는 궤도를 연속 으로 추 한 뒤,
추 된 들을 분석해 움직임을 인식하게 된다. 립 모션
컨트롤러는 각 150도 시야와 z축 좌표로 실의 손
움직임 궤 을 인식하여 3차원으로 나타낸다. 이 센서는
200 FPS( 당 임)로 움직임을 추 하기 때문에, 사
용자가 움직이는 로 화면의 상도 정 하게 따라서
작동한다. 이 작은 인식범 와 고해상도 립 모션 컨트롤
러는 거실 크기의 공간에서 온 몸을 인식하는 기기인
키넥트와는 구별된다.
립 모션을 사용하는 어 리 이션을 만들기 한 헤더
일과 코드 라이 러리를 포함하는 Software Develop-
ment Kit(이하 SDK)로 유니티 3D, 오 젝트C, 자바스
크립트용 래퍼를 제공하여 게임, iOS 앱, 웹 사이트로
사용 가능 범 를 확 하고 있다.
2.2 유니티 3D
유니티 게임엔진은 3D 비디오 게임이나 건축 시각화,
실시간 3D 애니메이션 같은 기타 인터랙티 콘텐츠를
제작하기 한 통합 제작 도구이다. 에디터는 도와 맥
OS X 상에서 실행되어 도나 맥, Wii, 아이패드, 아이폰
랫폼으로 게임을 만들 수 있다. 유니티 웹 이어
러그 인을 이용하는 웹 라우 게임도 제작할 수 있다.
이는 래시와 유사한 형태이며, 크로스 도메인 보안정책
스크립 에서도 래시 사용자가 쉽게 응할 수 있도
록 설계되었다. GUI 구 에 IMGUI(즉시모드 GUI)를 도
입하 다[3]. 이를 통해 간단하고 은 양의 스크립트로
GUI를 구 할 수 있다는 장 이 있으나, 복잡한 형태의
GUI 이벤트 처리 로시 작성이 어려워진다. 버
4.1.3 재 GUI를 스크립트가 아닌 에디터에서 작성하는
기능은 지원하지 않고 있다. 엔진 자체에 미들웨어를 탑
재하 다. 로 라이트 맵핑이나, 물리 엔진 등이 있다.
그리고 에디터에 애셋 스토어가 있어 에디터 내에서 필요
한 애셋들을 바로 다운로드하여 사용할 수 있다.
유니티 내에서 스크립트를 바로 수정은 하지 못하고
Mono Develop, MicroSoft Visual Studio 등 유니티를
지원하는 스크립트 에디터에서 수정이 가능하다. 한
유니티는 Premium Support 솔루션을 지원한다.
3. 련연구
2010년에 발표된 컨트롤러 없이 이용자의 신체를 이
용하여 게임과 엔터테인먼트를 경험할 수 있는 주변기
기이다. 키넥트는 카메라 모듈이 장착되어 모션 캡처로
이어의 동작을 인식하며, 마이크 모듈로 음성을 인
식한다. 구형 엑스박스 360 모델과 연결하기 해서는
별도의 원이 필요하다. XBOX ONE 게임기는 업데이
트된 버 의 키넥트를 장착한다. 새로운 키넥트는 a1080p
시야각 ToF(time-of-light) 카메라를 사용하며 환경
을 읽기 해 당 2기가바이트의 속도로 데이터를 처
리한다. 선택 사항이었던 엑스박스 360의 키넥트와는 달
리 XBOX ONE 게임기는 키넥트 센서가 연결되어 있
지 않으면 동작하지 않는다. 그러나 사용자들은 센서가
게임기에 연결이 유지된 상태에서 모든 키넥트 기능을
끌 수 있는 소 트웨어를 내려 받아 사용할 수 있다
[4]. 이에 따라서 [5]에서는 키넥트를 이용한 슈 게임
을 제안하 다. 그런 키넥트는 넓은 공간이 필요함으로
작은 공간에서는 이를 활용하기가 어렵다.
본 로젝트에서 애니메이션을 다루기 해 아이트
애니메이션 러그 인을 사용한다. 아이트 은 유니티에
서 사용되는 단순하고 강력하고 쉬운 애니메이션 시스
템이다. 아이트 을 가지고 움직임, 회 , 사라짐, 크기
변경, 음향 조 등이 가능하다. 아이트 은 메소드 실
행을 허용하는 동 클래스이다. 아이트 은 지연, 루핑,
콜백 등 애니메이션을 제작하는 기능을 제공한다[6].
립 모션 컨트롤러를 이용한 야구 게임 개발 345
최근 손가락 동작인식 컨트롤러인 립 모션이 등장함
에 따라 이 입력장치를 이용한 여러 분야의 로그램이
등장하고 있다[7-9].
[7]에서는 립 모션 컨트롤러를 이용하여 아이들에게 흥
미를 끌 수 있는 어린이용 게임을 구 하 다. 소티
(Sortee)라는 게임은 일상의 사물들을 분야별로 분류하는
어린이용 퍼즐게임이다. 외국에서는 학교 수업에도 활용
되고 있고 ‘선호하는 웹 사이트 상’에서 ‘Cutting-edge
Design’ 부분에서 수상하기도 하 다.
[8]은 립 모션 컨트롤러를 이용한 리듬게임이다. Drop-
chord라는 게임은 음악 반주에 박자를 맞추고, 수를
획득하는 음악 게임으로써 정해진 GUI의 원안에 양 손
가락을 센서로 인식 받아 직선 막 기를 만들어서 움직
여서 음표를 모으는 것이 목 이다. 오리지 사운드트
랙 피처링과 독특한 시각화를 나타낸 것이 특징이다.
[9]에서는 립 모션 컨트롤러를 이용한 교육용 로그
램이다. Cyber Science라는 로그램은 동물학을 공부
하는 로그램이다. 동물들을 실제로 해부, 조립하기 쉽
지 않은 여건을 가진 사람들을 한 로그램이다. 사용
자가 립 모션 컨트롤러를 이용하여 직 독거미, 장수풍
뎅이, 지 이 등 동물을 사용자 해부학 수 에 맞는 빠
르기로 해부, 재조립하고 해부학상 명칭을 배울 수 있는
교육용 로그램이다. 이에 반하여 본 논문에서는 립 모
션 컨트롤러를 이용하여 스포츠게임의 분야인 야구게임
을 기존의 입력장치인 마우스와 키보드가 아닌 손가락
을 인식 받아 이용할 수 있게 로그램을 구 하 다.
4. 게임의 설계구
4.1 게임 모듈 구조도
본 게임의 시스템 구조는 그림 1과 같다. 본 게임은
립 모션 컨트롤러로부터 받은 입력으로 사용자가 투수
모드와 타자모드를 정하도록 선택을 하면서 작동하는
로그램이다. 사용자가 투수모드를 선택했을 때, 각 손
가락의 x, y 좌표를 인식 받아 분할된 4개의 역 안의
각각 포인트들 개수를 악하여서 구질을 선택할 수 있
게 입력을 넣었다. 구질이 선택된 후에 투구 치를 선
택하고 주먹을 쥐는 동작을 하면, 진행 바 안의 좌우로
움직이고 있는 속도 선택 바가 정지하게 되며, 정지된
치에 따라 공의 속도가 결정되며 투수가 공을 던진다.
타자모드 선택했을 때, 사용자는 타격할 배트 치를
배 존 안에서 선택한다. 투수 모드의 투구 선택 방법
과 동일한 방법으로 사용자가 주먹을 쥐는 동작을 취하
는 순간 타격 시 이 결정되어 공을 타격하게 된다. 타
격 시 과 공의 치에 따라서 홈런, 안타, 올, 스윙이
결정되며 안타 시에는 사용자가 손을 회 시켜 진루를
결정하도록 하 다.
그림 1 모듈 구조도
Fig. 1 Module Structure
4.2 게임의 시스템 구성 요소
그림 2는 게임의 시스템 구성 요소를 나타낸 것이다.
구성 요소로는 크게 유니티 로젝트(Unity Project),
립 모션(Leap Motion), 사용자(User) 3개가 존재한다.
첫 번째 구성 요소인 유니티 로젝트는 게임 시나리
오에 따른 장면(Scene)들로 구성된다. 장면은 애셋
(Asset), 컴포 트(Component) 그리고 스크립트(Script)
로 구성되어 있다[10]. 사용자는 유니티 3D를 이용하여
작성된 장면(Scene)을 보며 게임을 진행하게 되고 장면
은 캐릭터, 배경 등과 같이 사물을 나타내는 애셋(Asset)
들로 구성되고 컴포 트는 게임 개발자가 모델링한 객체
(object)와 로그램 언어로 작성된 스크립트(Script)와
결합하여 동 인 움직임, 소리 등을 나타내는 것을 컴포
트(Component)라 한다. 를 들어, 본 게임에서는 야
구장과 같은 배경이 애셋이며 동 으로 움직이는 객체인
공과 공에 용되는 명령문(즉, 사용자의 명령에 따라서
움직여지는 모습)이 컴포 트이다.
이외의 구성요소로는 게임을 이용하는 사용자(User)
와 사용자로부터 게임을 진행하기 한 명령을 입력받
는 인터페이스인 립 모션 컨트롤러가 있다.
그림 2 게임 구성 요소
Fig. 2 Components of the Game
4.3 세부 기능
표 1에서 게임 내 기능을 정리하 다. 게임 배경은 야
구 게임에 맞게 야구 경기장 모습으로 구 하 다. 하늘
은 유니티에서 제공하는 스카이 박스를 이용하여 구
346 정보과학회 컴퓨 의 실제 논문지 제 21 권 제 5 호(2015. 5)
표 1 세부 기능
Table 1 Functions
No Function Description
1 Background Background is a Baseball stadium
2 Character Design hitter and pitcher as characters
3Handing
(Mode Selection)Select Picture mode or Hitter mode using a finger
4Handling
(Ball Quality Selection)
As Ball quality, we design Two-Seam Fastball, Curve, Cutter, Sinker, Knuckle, Slider
which are similar to the grips of actual play
5Handling
(Location Selection)Select location of ball in/out of a strike zone
6Handling
(Speed)Progress bar to control ball speed
7Handing
(Hit)Select bat location within a strike zone and hitting time
8Handling
(Advance Motion)When hitter hits a ball, the advance motion is determined by swing speed
하 다. 투수, 타자와 같은 캐릭터는 애셋 스토어에 있
는 것을 이용하여 구 하 으며, 애니메이션 효과를
용시켜 타격과 투구 모습을 사용자에게 보여 다.
모드 선택, 구질 선택, 치 선택은 립 모션 컨트롤러
를 이용하여 사용자가 선택하도록 하 다. 투수 모드
는 타자 모드 선택은 사용자가 립 모션 컨트롤러를 통
하여 GUI 상에서 해당 버튼을 지정하고 2 의 시간이
지나면 결정되어지도록 하 다.
투수 모드에서 구질 선택은 손가락 포인트의 치가
각 구질 별로 나타나있는 치와 일치 할 시 빨간 네온
효과가 구질 그림에 나타나며, 2 의 시간이 흐른 뒤 선
택된다. 이후 사용자는 스트라이크 존 안에서의 공의
치를 립 모션 컨트롤러를 이용하여 결정할 수 있도록
한다. 한, 공의 스피드 조 은 진행 바(Progress Bar)
가 좌우로 움직이고 있을 때 사용자가 주먹을 쥐게 되
는 시 의 바의 치에 따라서 결정하도록 하 다.
타자 모드에서 타격은 타격할 공의 치를 먼 선택
하는 조작 기능이고 공 타격 시 진루를 결정하기 해
회 입력을 립 모션 컨트롤러로부터 받는다.
4.4 투수모드의 구질 선택 기법
사용자의 흥미를 높이기 하여 본 게임 개발에서는
사용자가 다양한 구질을 립 모션 컨트롤러를 이용하여
선택할 수 있도록 하 다. 공의 구질 선택 다음과 같은
방법을 이용하 다. 우선 그림 3과 같이 립 모션 컨트롤
러의 탐지 역을 4분할하여 각각 제 1 역, 제 2 역,
제 3 역, 제 4 역으로 구분한다.
다음 그림 4와 같이 립 모션 컨트롤러로 사용자의 손
가락의 포인트들을 인식하여 분할된 4개의 역에 각각
포인트들의 개수를 악하여 손가락 모양을 인식하도록
설계하 다.
를 들어 그림 4와 같이 첫 번째 역과 두 번째
그림 3 탐지 역의 4분할
Fig. 3 4 Orthants of a Detected Area
그림 4 손가락의 치 탐지
Fig. 4 Detection of Fingers' Location
역 즉, 상단 부분에 손가락 포인트가 3개 이상이 있고 세
번째 역에 포인트가 한 개가 있다고 인식 하게 되어 해
당 구질(즉, 슬라이더) 구질이라고 단하게 되는 것이다.
원리를 더 자세하게 살펴보면 각각의 포인트가 좌표
를 읽어 재 포인트인 pos.x 좌표가 체화면 가로크
기의 반인 center.x 포인트보다 크고 동시에 재 포인트
인 pos.y 좌표가 체화면의 세로크기의 반인 center.y
좌표보다 크면 정수형으로 선언된 제 1 역의 변수 값
을 더 해 으로써 각각의 역에 몇 개의 포인트들이
있는지 계산하게 되는 것이다. 이러한 방법으로 1 임
마다 불러오는 update()에서 단하여 재 결정된 구
질이 변화 없이 2 간 유지되면 볼이 선택되는 방식이
다. 이를 통하여 사용자는 공의 구질을 결정하는 공의
립 모션 컨트롤러를 이용한 야구 게임 개발 347
표 2 볼의 구질
Table 2 Quality of Ball
Two-seam (linear) Curve (easeOutSine) Cutter (easeInOutSine)
Sinker (easeInQuad) Knuckle (easeOutBack) Slider (easeOutCubic)
그립을 잡게 됨으로써 보다 사실 으로 게임을 진행할
수 있다.
투수 모드에서 공의 구질이 결정되고 스트라이크 존에
서의 공의 치와 공의 속도를 결정하게 된다. 공의 치
한 포수의 치에서 특정 치를 립 모션 컨트롤러로
부터 입력 받아 결정하도록 하 으며 공의 속도는 좌우
로 진행 되는 진행 바에 하여 사용자가 주먹을 쥐는
순간 진행 바의 치를 통하여 결정하도록 하 다.
이후 투수 캐릭터는 공을 던지게 되고 이때 공이 움
직이는 궤도는 유니티 로젝트내의 컴포 트 구 을
지원하는 iTween이라는 유니티 러그 인을 사용하
다. 유니티 안의 Translate 기능을 이용하여 오 젝트의
움직임을 표 할 수 있지만, iTween은 유니티 로젝트
내 오 젝트의 움직임을 자연스럽게 표 해 다. 따라
서, 투수 모드에서 공 궤 을 부드럽게 표 하기 해서
iTween을 사용하 다. iTween에서 사물이 움직이는 궤
을 지정하는 함수는 iTween.MoveTo(object, iTween.
Hash())이며 이때 object는 움직이는 사물을 가리킨다.
즉 본 게임에서는 공이 된다. iTween.MoveTo함수의
입력 인자인 iTween.Hash() 함수는 움직이는 공의 속도
와 궤 을 입력 받는다. 공의 속도는 에서 언 한 바
와 같이 진행 바를 통하여 입력받게 되며 0.45 에서 0.7
동안 공이 움직이도록 하 다. 공의 궤 은 iTween
의 easy type에서 지원하는 31개의 궤 들 에서 구질
에 따라 가장 합한 궤도 모양을 움직임의 타입으로
지정하여 궤도를 구 하 다. 각 구질에 따라서 선택된
easy type 궤 의 2차원 모습을 표 2에 나타내었다.
4.5 타자모드의 정 기법
타자 모드에서의 게임 진행은 다음과 같다. 우선 타자
는 스트라이크 존 상에서의 타격할 공의 치를 정하고
투수가 투구를 진행하여 공이 움직이면 주먹을 쥐어서
그림 5 유니티 3D 기즈모
Fig. 5 Unity 3D Gizmo
타격 시 을 결정하게 된다. 이때 타격에 따른 홈런, 안
타, 올, 스윙을 정하는 방법은 다음과 같다. 투수와
포수를 잇는 직선을 z축이라고 할 때 이와 직교하고 있
는 2차원 평면을 x-y공간으로 나타낼 수 있다. 그림 5
는 유니티 3D에서 기즈모라는 것으로 3차원 공간상에서
편집을 해 쓰이는 표식과 도구이다[9]. 그림 5에서 보
는 것과 같이 빨간색 화살표는 x축을 록색 화살표는
y축을 란색 화살표는 z축을 나타낸다. 이때, 란색
평면이 x-y 공간이고 란색 선이 z축이 된다.
홈 이트 상의 x-y 공간을 9개(3×3)의 구역으로
나 고 타자는 타격 치를 정하게 되고 이 타격 치
가 투수가 던진 공의 치와 다르면 스윙으로 단한다.
타격 치와 공의 치가 x-y 평면상의 같은 구역 안
에 있을 경우에 사용자가 결정한 타격 시 과 공의
치에 따른 배트와 공의 z축 상의 거리를 계산하고 이
거리를 이용하여 홈런, 안타, 울을 결정한다. 본 개발
에서 배트와 공의 z축 상의 거리는 -1.0에서 1.0 사이가
되도록 정규화 (normalization)하 으며, 이때 -0.1~0.1
사이이면 홈런으로 결정하고 -0.5~-0.1과 0.1~0.5 사이
이면 안타, 이외이며 울이 되도록 하 다.
348 정보과학회 컴퓨 의 실제 논문지 제 21 권 제 5 호(2015. 5)
한 안타가 발생할 경우 진루 수를 결정하기 한
화면이 나타나게 되며, 여기서는 사용자가 손가락을 둥
게 돌리는 행 를 통하여 빨리 돌리면 진행 바가 빠
르게 올라가고, 느리게 돌리면 진행 바가 느리게 올라가
게 하여 진루를 결정한다. 재미 요소를 추가하기 해
진행 바가 올라가는 속도는 임의 값을 이용하여 조 하
도록 하 다.
5. 로그램 시연
5.1 개발환경
개발환경으로 하드웨어 환경은 CPU i5 1.3GHz, 8GB
메모리를 사용하 으며, 소 트웨어 환경은 Windows 7
x64 운 체제 하에, 유니티 3D 개발 도구를 이용하여
만들었으며, 스크립트는 C#을 이용하 다. 립 모션 컨트
롤러가 손가락을 인식 받기 해서 립 모션 SDK를 이
용하여 개발하 다.
5.2 로그램 시연 화면 소개
그림 6은 로그램 처음 화면이다. 화면 내에서 마우
스나 키보드로는 조작이 불가능하며 오직 립 모션 컨트
롤러를 이용하여 조작을 할 수 있다. 손가락의 끝을 인
식 받아 빨간색 을 화면에 표시하며, 그 을 버튼
에 치하고 있으면 일정한 시간이 흐른 뒤 선택 되는
것을 확인할 수 있다. 만약 다수의 손가락 끝을 인식하
게 될 시 앙의 포인트를 조작이 가능한 손가락으로
인식하며 빨간색 으로 표시하고 나머지의 포인트들은
회색으로 표시하여 인식이 되지 않는 것을 보여 다.
Play Game 버튼을 선택하게 되면 그림 7과 같은 화면
이 나오게 된다.
그림 7은 사용자가 투수 모드, 타자 모드를 선택하여
게임을 시작 할 수 있도록 하 다. 그림 8은 투수 모드
선택 시 나타나는 화면 첫 번째인 구질 선택 화면이
다. 선택 할 수 있는 구질은 투심, 커 , 커터, 싱커,
클, 슬라이더 총 6개로 구성 되어 있다. 그림 8에서 빨
간 은 유 의 손가락 끝 을 나타내는 것이다. 이
그림 6 로그램 실행 첫 화면
Fig. 6 Initial Screen of the Program
그림 7 게임 모드 선택 화면
Fig. 7 Game Mode Selection GUI
그림 8 구질 선택 화면
Fig. 8 Ball Quality Selection GUI
그림 9 투구 치 선택 화면
Fig. 9 Ball Location Decision GUI
들을 구질에 나타나 있는 록색 과 같은 모양을 하
면 구질에 빨간색 네온 효과가 나타나며 일정 시간이
지난 후에 구질이 선택되고 그림 9인 투구 치 선택
화면으로 넘어가게 된다.
그림 9의 화면 왼쪽 상단에 나타나있는 ST, BALL은
볼카운트인 Strike와 Ball을 의미하며 OUT은 아웃카운
트를 나타낸다. 게임이 진행됨에 따라서 볼카운트와 아
웃카운트가 계산된다. 오른쪽 상단은 Score 부분의 Player,
Com은 사용자와 컴퓨터가 가진 수를 나타낸다. 오른
쪽의 베이스가 나타나 있는 미니맵을 통해 주자의 치
를 알 수 있으며, 타격을 할 시 주자가 이동하는 것을
미니맵을 통해 확인 할 수 있다. 한 사용자가 투구의
치를 결정할 때, 스트라이크 존에 보이는 은 사용자
립 모션 컨트롤러를 이용한 야구 게임 개발 349
그림 10 타자 모드 화면
Fig. 10 Hitter Mode GUI
그림 11 진루 모션 화면
Fig. 11 Advance Motion GUI
가 공을 던질 치를 나타내며, 이 은 스트라이크 존 밖
의 역까지 이동이 가능하며 사용자 임의로 볼 공을 유
도할 수 있다.
그림 10은 타자 모드의 첫 화면이다. 타자 모드의 진
행 순서는 타격 치 선정, 타격 성공 시 서클 모션을
통해 진루를 결정하게 된다. 그림 11은 타격 성공 시 서
클 모션에 한 지시를 나타내고 있는 그림이다. 서클
모션을 정확하고 빠르게 할수록 오른쪽의 진행 바
(progress bar) 는 큰 폭으로 증가하게 된다. 진루 게이
지 내 일정한 역을 기 으로 1루타, 2루타, 3루타, 홈
런으로 분류해 놓았다.
6. 결 론
마우스와 키보드와 같이 들이 많이 사용하는 컨
트롤러를 신해서 사용자의 동작을 인식 받아 작동 되
는 동작 인식 컨트롤러라 출시되고 있다. 본 논문에서는
립 모션 컨트롤러라는 손가락의 동작을 인식 받아 사용
되는 기기를 이용하여 야구 게임을 제작하 다. 야구공
을 잡는 방법에 따라 구질이 바 는 것을 착안하여 제
작하 기 때문에 게임을 이용하면서 투구에 한 심
을 더 가질 수 있다. 수비부분에서는 진루의 기능만 추
가하 으나, 야구 규칙에 따른 수비와 투수의 다양한 행
동, 주자에 한 행동 등을 추가하여 좀 더 실질 인 야
구 게임을 구 할 시 들에게 많은 심과 호응을
얻을 수 있을 것이라 여겨진다.
References
[ 1 ] Wikipedia, Sports game, [Online] http://en.wikipedia.
org/wiki/Sports-game (donwloaded 2014. Nov. 10)
[ 2 ] Leap Motion, [Online] http://www.Leap Motion.kr
(donwloaded 2014. Nov. 10)
[ 3 ] Wikipedia, Unity(game engine), [Online] http://en.
wikipedia.org/wiki/Unity_(game_engine) (donwloaded
2014. Nov. 10)
[ 4 ] Wikipedia, Kinect, [Online] http://en.wikipedia.org/
wiki/Kinect (donwloaded 2014. Nov. 10)
[ 5 ] iTween, [Online] http://itween.pixelplacement.com/
index.php (donwloaded 2014. Nov. 10)
[ 6 ] Sunyoung Cho, Hyeran Byun, Hee Kyung Lee,
Jihun Cha, "Arm Gesture Recognition for Shooting
Games based on Kinect Sensor," Journal of
KIISE:Software and Application, Vol. 39, No. 10,
pp. 768-773, Aug. 2012. (in Korean)
[ 7 ] Sortee, [Online] https://apps.leapmotion.com/apps/
sortee/windows (donwloaded 2014. Nov. 10)
[ 8 ] Dropchord, [Online] https://apps.leapmotion.com/
apps/dropchord/windows (donwloaded 2014. Nov. 10)
[ 9 ] Cyber Science Motion-zoo, [Online] https://apps.leap-
motion.com/apps/cyber-science-motion-zoology/wi
ndows (donwloaded 2014. Nov. 10)
[10] Duk-Woo Lee, "Fundamental of Unity 4 Game
Development," AirCon, 2013. (in Korean)
주 향 한
2015년 재 한국기술교육 학교 컴퓨터
공학부 재학. 심분야는 게임 로그래
, 센서 데이타
조 민 수
2015년 재 한국기술교육 학교 컴퓨터
공학부 재학. 심분야는 게임 로그래
350 정보과학회 컴퓨 의 실제 논문지 제 21 권 제 5 호(2015. 5)
인 승 교
2015년 재 한국기술교육 학교 컴퓨터
공학부 재학. 심분야는 게임 로그래
조 규 원
2015년 재 한국기술교육 학교 컴퓨터
공학부 재학. 심분야는 게임 로그래 ,
3D Max
민 기
1995년 숭실 학교 산학과(학사). 1997
년 한국과학기술원 산학과(석사). 2002
년 한국과학기술원 산학과(박사). 2003
년~2004년 한국과학기술원 Post-Doc
빙교수. 2004년 한국 자통신연구
원 선임연구원. 2005년~ 재 한국기술
교육 학교 컴퓨터공학부 부교수. 심분야는 시공간DB, 스
트림데이타, 센서네트워크, MapReduce