KR20190099390A - 게임을 제어하기 위한 제어 디바이스의 센서들을 이용하기 위한 방법 및 시스템 - Google Patents

게임을 제어하기 위한 제어 디바이스의 센서들을 이용하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20190099390A
KR20190099390A KR1020197013897A KR20197013897A KR20190099390A KR 20190099390 A KR20190099390 A KR 20190099390A KR 1020197013897 A KR1020197013897 A KR 1020197013897A KR 20197013897 A KR20197013897 A KR 20197013897A KR 20190099390 A KR20190099390 A KR 20190099390A
Authority
KR
South Korea
Prior art keywords
game
control device
sensor data
angular velocity
motion sensor
Prior art date
Application number
KR1020197013897A
Other languages
English (en)
Inventor
마크 존 제프리
로버트 선샤인 코모라우스-킹
Original Assignee
아퀴모, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아퀴모, 엘엘씨 filed Critical 아퀴모, 엘엘씨
Publication of KR20190099390A publication Critical patent/KR20190099390A/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • A63F13/26Output arrangements for video game devices having at least one additional display device, e.g. on the game controller or outside a game booth
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • A63F13/27Output arrangements for video game devices characterised by a large display in a public venue, e.g. in a movie theatre, stadium or game arena
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/812Ball games, e.g. soccer or baseball
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/92Video game devices specially adapted to be hand-held while playing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • A63F13/2145Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/105Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals using inertial sensors, e.g. accelerometers, gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8029Fighting without shooting
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8082Virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1637Sensing arrangement for detection of housing movement or orientation, e.g. for controlling scrolling or cursor movement on the display of an handheld computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0381Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

터치스크린과 모션 센서들(101)을 구비한 제어 디바이스(300)가 그 스크린이 사용자와 마주한 채로 한 손에 들려 있다. 제어 디바이스(300)의 터치스크린 센서(102)에 대한 제어 디바이스(300)를 들고 있는 손의 엄지 모션은 아바타의 모션 및 애니메이션들을 제어하기 위한 입력인 것이 바람직한데, 여기서 아바타 모션은 제어 디바이스 터치스크린 또는 일 실시예에서 외부 디스플레이 디바이스(350)에 디스플레이된다. 본 발명의 중요 양태는 제어 디바이스(300)를 틸트하는 것으로서 게임의 던지기, 차기, 사격 또는 기타 다른 행동과 같은 게임 이벤트를 트리거할 수 있는 각회전 속도를 야기한다.

Description

게임을 제어하기 위한 제어 디바이스의 센서들을 이용하기 위한 방법 및 시스템
본 발명은 게임의 제어를 위한 제어 디바이스의 센서들을 사용하기 위한 방법 및 시스템에 관한 것이다.
비디오 게임 시스템의 제어와 관련하여 상당한 선행 기술이 있다. 비디오 게임을 제어하는 일반적인 방식은 인터랙티브(interactive) 게임 컨트롤러를 사용하는 것이다. 통상적으로, 인터랙티브 게임 컨트롤러는 비디오 게임의 플레이를 제어하기 위해 다수의 버튼, 방향 패드, 아날로그 스틱 등을 포함한다. 이러한 선행 기술 방법은 사용자로 하여금 양손으로 게임 컨트롤러를 들고 있도록 요구하는데, 양손의 엄지 및 손가락은 각각 좌우 버튼 및 액추에이터/아날로그 스틱을 터치한다. 이러한 인터랙티브 게임 컨트롤러의 일례는 발명의 명칭이 "Actuating Device for Game Machine"이고 Ogata에게 허여되어 SONY Computer Entertainment, Inc.에게 양도된 미국 특허 제6,394,906호에 개시되어 있다.
발병의 명칭이 "Touch Screen with Virtual Joystick and Methods for Use Therewith"이고 Howard에게 허여된 미국 특허 제9,262,073호는 게임 제어 메커니즘을 스마트폰의 스크린 상의 소프트웨어 조이스틱으로 확장했다. 일렉트로닉 아츠(Madden Mobile NFL 17)와 2K(NBA 2K 16)는 스크린의 좌측과 우측에 소프트웨어 버튼들을 배치하여 모바일 제품에서 이러한 유형의 소프트웨어 제어 메커니즘을 사용하는데, 게임은 랜드스케이프 포맷(landscape format)으로 스마트폰에서 플레이된다. 다시 말하지만, 양손은 가상 조이스틱들 및 제어 버튼들을 통해 게임플레이를 제어하는 좌우 엄지 손가락으로 게임을 플레이하도록 요구 받는다.
또 다른 접근법은 센서 구동 게이밍이다. Nintendo Co., Ltd.는 게이밍에서 센서의 사용을 개척했으며, 특정 시스템은 3축 가속도계를 구비한 멀티버튼 컨트롤러를 활용한다. Nintendo Wii 시스템은 적외선 바(infrared bar)를 이용하여 증강된다. Sony PlayStation Move 및 Microsoft Xbox Kinect와 같은 다른 센서 구동 시스템들은 광학 카메라를 사용하여 시간과 공간의 모션을 검출한다.
시스템 제어에 대한 또 다른 접근법은 제스처 기반 시스템들을 포함한다. 일례로, 발명의 명칭이 "Gesture-Based Control System"이고 Wang에게 허여된 미국 공개 특허 출원 제2013/0249786호는 카메라들이 사용자 손의 이미지들을 어디에서 관찰하고 기록하는지를 제어하는 방법을 개시한다. 각각의 관찰된 움직임 또는 제스처는 커맨드로서 해석된다. 제스처 기반 시스템들은 또한 인간-컴퓨터 인터페이스들을 용이하게 하기 위해 채택된다. 예를 들어, 발명의 명칭이 "Identifying Gestures Using Multiple Sensors"이고 Vonog 등에게 허여된 미국 특허 제9,063,704호는 주로 게이밍 또는 시스템 제어와 관련 없는 지속적인 인간 제스처들을 인식하기 위해 적응형 센서들 또는 모바일 센서들을 이용하는 것에 중점을 두고 있다. 다른 예로서, 발명의 명칭이 "Systems and Methods for Comprehensive Human Movement Analysis"이고 Bonnet에게 허여된 WIPO 공보 제WO/2011053839호는 움직임 분석을 위한 이중 3D 카메라 캡처의 사용을 개시하고 있으며, 신경학 연구 및 이해를 위한 오디오 및 인간의 움직임과 통합되어 있다.
모션 센서들을 통합하고 있는 2007년의 Apple의 iPhone의 출현 이래로 많은 게임들이 이들 센서를 사용하여 사용자 입력 모션을 통합하고 있다. 발명의 명칭이 "System and Method for Two Way Communication and Controlling Content in a Game"이고 Allen 등에게 허여된 미국 특허 제8,171,145호는 동일한 무선 네트워크 상의 웹 가능 디스플레이에 연결하고 스마트폰을 사용하여 디스플레이에 디스플레이되는 비디오 게임을 제어하는 방법을 개시한다. 이들의 게임 제어 모션들은 Wii와 유사하지만, 상대적으로 간단한 모션들이다.
인도 소재의 Rolocule Games는 스마트폰 기반의 테니스 게임을 선보였으며, 여기서 사용자는 (1) 서브, (2) 백핸드, 및 (3) 포핸드 샷을 위해 폰을 흔들어서 인터랙티브 테니스 시합을 플레이한다. Rolocule은 또한, 댄싱 게임을 갖고 있는데, 여기서 폰은 손에 들려 있고 모션들이 댄싱 아바타의 모션으로 변환된다. 두 경우 모두에서의 이들 방법은 Apple TV 또는 Google Chromecast를 통해 폰의 스크린을 디스플레이 디바이스에 투사하는 것이다. 양자 모두에서의 게임 플레이는 Nintendo Wii에 대한 선행 기술 게임들과 유사하다.
발명의 명칭이 "Method and System to Analyze Sports Motions Using Motion Sensors of a Mobile Device"이고 Jeffery 등에게 허여된 미국 특허 제9,101,812호는 제어 디바이스의 센서들을 이용하여 스포츠 모션을 분석하기 위한 기법을 설명한다. Jeffery 등은 캘리브레이션 지점을 정의하기 위해 자이로스코프를 사용했으며, 스포츠 모션의 가상 충격 지점 또는 해제 지점이 이 지점을 기준으로 계산된다.
무인 항공기(UAV)와 같은 복잡한 시스템들을 제어하는데 스마트폰들이 사용될 수도 있다. 발명의 명칭이 "Method for the Intuitive Piloting of a Drone by Means of a Remote Control"이고 Callou 등에게 허여된 미국 특허 제8,594,862호는 드론 비행 방향 및 배향을 이용하여 사용자의 제어 디바이스 모션들 및 배향이 배향되도록 드론의 제어를 위한 방법을 개시한다. 그러나 제어 디바이스의 모션들은 제한된다.
전반적으로, 멀티 버튼 멀티 액추에이터 인터랙티브 게임 컨트롤러는 여러 차원의 데이터 입력을 가능하게 함으로써 복잡한 게임을 제어하기 위한 현재 최고의 디바이스이다. 그러나 중요한 학습 곡선이 있으나, 제어 커맨드들은 직관적인 것과 거리가 멀다. 예를 들어, 컨트롤러는 실제 스포츠 모션을 시뮬레이션하지 않으며, 복잡한 버튼 및 액추에이터 시퀀스는 가상 세계를 통해 아바타를 이동시키고/시키거나 농구 또는 축구와 같은 스포츠 게임들을 플레이하도록 요구 받는다. 또한, 컨트롤러는 무선으로 게이밍 콘솔에 연결하여 작동하도록 설계되며, 사용자의 양손에 들려 있어야 한다.
Wii 리모컨은 보다 현실적인 경험을 제공하는데, 리모콘은 여러 개의 버튼 제어부들이 있으며, 3축 가속도계를 통해 사용자의 그로스 모션들(gross motions)만을 캡처한다. 이 리모콘을 이용하여 플레이되는 통상적인 게임들은 단순화된 스포츠 게임이다. 배트(bat) 모션 또는 라켓(racquet) 모션을 제외하고, 사용자의 아바타는 플레이어의 그로스 스포츠 모션에 의존하여 사전 프로그래밍된 방식으로 응답한다.
현재 스마트폰 기반의 스포츠 게임들은 Wii와 유사한데, 아바타 위치 지정은 스윙 모션에 기반하는 작은 개수(통상 최대 3개)의 소정의 움직임들로부터 선택된다. 테니스는 주요 예인데, 3가지 가능한 모션은 서브, 포핸드, 및 백핸드이다. 이들 모션은 아바타가 스윙 모션에 응답하여 공을 서브하거나 코트에서 좌측 또는 우측으로 이동하여 공을 치는 결과를 초래하는데, 다만 플레이어는, 예를 들어 아바타를 네트로 향하게 이동시키거나, 뒤로 이동하거나, 대각선으로 뛰거나, 로브 샷(lob shot)을 치는 것이 불가능할 수 있다. 게다가, 이들 방법은 종종 스마트폰의 스크린이 사용자의 시야에 있지 않도록 요구하는데, 이러한 요구는 모바일 게임의 설계에 최적화된 것은 아니다.
Lutnick 등에게 허여된 미국 특허 제9,317,110호는 손 제스처 입력으로 카드 게임 또는 기타 다른 카지노 게임을 플레이하기 위한 방법을 개시한다. 바람직한 실시예는 모바일 디바이스의 가속도계의 사용에 기반하고 있는데, 이 부품은 잡음이 많고 스포츠 게임의 제어에 요구되는 정밀 모션 분석을 가능하게 하지 않는다.
모바일 게임을 제어하는 한 가지 방법은 터치 센서를 통하는 것인데 사용자들은 스크린을 스와이프한다. Imanji Studio의 Temple Run 1과 2에서는 사용자가 회전하고, 점프하고, 슬라이딩하고, 동전을 수집하고, 전진하기 위해 스와이프한다. Halfbrick Studios의 Fruit Ninja에서는 사용자들이 과일을 베고, 포인트를 수집하고, 레벨을 올리기 위해 스와이프한다. 또 다른 예로, Electronic Arts에 의한 Bejeweled에서는, 사용자들이 보석을 수집하고 포인트를 획득하여 새로운 스테이지들을 구입하고 잠금 해제하기 위해 스와이프한다. 스와이프 메커니즘은 종종 스크린의 버튼들과 쌍을 이루어 추가 제어 기능성을 추가한다. 이 제어 메커니즘을 위해 두 손이 요구되는데, 한 손으로 폰을 들고 다른 한 손으로는 스와이프한다. 몇 가지 모바일 게임은 게임의 부분 제어를 위해 자이로스코프를 사용한다. Battery Acid Games의 Highway Rider에서는 사용자들이 가상 오토바이를 조종하기 위해 모바일 디바이스를 틸트하며, Polar Bit의 Raging Thunder 2에서는 사용자들이 가상 자동차를 조종하기 위해 디바이스를 틸트한다. Natural Motion의 Backbreaker Football은 뒤로 달리고 있는 아바타가 축구 경기장에서 아래로 뛰도록 하기 위해 틸트-포워드 모션을 사용한다. 다만, 이들 게임 모두는 랜드스케이프 포맷으로 설계되어 있어서, 추가적인 엄지 손가락 제어와 함께 양손에 들려 있어야 한다.
발명의 명칭이 "Method of using Motion States of a Control Device for Control of a System"이고, Komorous-King 등에게 허여된 미국 공개 특허 출원 제2016/0059120호는 선행 기술의 많은 한계들을 극복한다. 다만, 이 방법은 외부 연결 디스플레이 디바이스가 없이 사용 중인 모방일 게임에 최적화된 것은 아니다.
본 발명은 제어 디바이스를 이용한 게임의 제어를 위한 것이다. 본 발명의 방법들 및 시스템은 일반적으로 복잡한 컨트롤러들에 의해 통상적으로 인에이블되는 게임 제어가 가능하지만, 바람직한 실시예에서 본 발명은 어떠한 버튼 또는 액추에이터, 또는 신체 움직임 또는 제스처들의 비디오 캡처를 필요로 하지 않는다. 본 발명의 다양한 실시예는 스마트폰, 스마트 시계, 피트니스 밴드, 또는 케이블을 통하거나 무선으로 분석 및 변환을 위한 프로세서에 연결된 모션 센서들을 구비한 기타 다른 디바이스와 같은 센서들을 활용한다.
스포츠 게임을 위한 바람직한 실시예에서, 터치스크린 및 모션 센서들을 구비한 제어 디바이스가 그 스크린이 사용자를 마주한 채로 한 손에 들려 있다. 제어 디바이스의 터치스크린 센서에 대한 제어 디바이스를 들고 있는 손의 엄지 모션은 아바타의 모션 및 애니메이션들을 제어하기 위한 입력인 것이 바람직하며, 여기서 아바타 모션은 제어 디바이스 터치스크린 또는 일 실시예에서 외부 디스플레이 디바이스에 디스플레이된다. 본 발명의 중요 양태는 제어 디바이스를 틸트하는 것으로서 게임의 던지기, 차기, 사격 또는 기타 다른 행동을 트리거할 수 있는 각회전 속도를 야기한다.
농구 게임을 위한 실시예의 비제한적 예시로서, 자이로스코프 센서로부터의 데이터(구체적으로는, 단위 시간당 제어 디바이스의 피치 변화)를 분석함으로써 검출된 각회전 속도는 득점, 긴 슛, 짧은 슛, 및 그 사이의 범위의 슛을 위한 정밀 모터 제어를 가능하게 한다. (제어 디바이스의 편주(yaw) 자이로스코프 회전과 같은) 추가적인 센서 데이터와의 조합으로, 슛 충실도는 백보드의 좌측 또는 우측에서 떨어져서 후프 슛 및 뱅크 슛까지의 거리를 포함할 수 있다. 또한, 농구 게임의 예시적인 실시예의 경우, 터치스크린에 대한 엄지 모션은 가상 농구 코트에서 아바타의 연속 동작을 가능하게 하는데, 여기서 각도 제스처들과 함께 제어 디바이스를 동시에 틸트한 것은 어떤 시점에서든 높은 충실도의 슛하기를 가능하게 한다.
본 발명의 일 양태는 디스플레이 디바이스 상의 피드백 미터로서 일 실시예에서 제스처의 세기에 관해 사용자에게 실시간 바이오피드백을 제공하며, 바람직하게는 다수의 치수로 제공한다. 피드백 미터는 사용자에 대한 바이오피드백을 가능하게 하며 이로써 제스처를 통한 스포츠 게임의 제어는 연습으로 배울 수 있는 스킬을 요구한다.
터치 센서상의 가속도계 센서 또는 스와이프에 의존하는 이전에 개시된 선행 기술의 방법들로는 이러한 게임 또는 시스템 제어 충실도가 가능하지 않다. 또한, 바람직한 실시예에서, 개시된 제어 방법은 포트레이트 모드에서 한 손으로 제어 디바이스를 들고 있음으로써 가능해져서 게임을 제어하는데 양손이 요구되지 않는다. 이러한 실시예는 스마트폰과 같은 모바일 디바이스 상의 게임의 제어를 위한 애플리케이션들을 갖는다.
구체적으로, 터치스크린 및 모션 센서를 갖춘 제어 디바이스의 바람직한 실시예의 경우, 선행 기술에 의해 개시되지 않은 게임의 제어를 위한 터치 및 틸트 제스처를 결합하는 중요한 시너지가 존재한다. 렌더링된 게임 출력이 스마 폰의 터치스크린 디스플레이 상에 있는 실시예의 경우, 스마트폰은 그 스크린이 사용자를 마주한 채로 포트레이트 모드로 한 손에 들려있을 수 있으며, 스크린에 대한 들고 있는 손의 사용자 엄지 모션은 비제한적 예시로서 아바타를 제어한다. 그러므로 제어 방법은 모바일 게임을 제어하기 위한 종래 기술의 제어 방법보다 인체 공학적으로 사용자에게 더 나은 경험이다. 또한, 예시적인 제한적인 예로서 농구공, 미식축구공, 축구공, 또는 기타 다른 공 슛하기와 같은 추가적인 렌더링된 그래픽 출력을 제어하기 위해 폰을 틸트하는 제스처는 버튼을 누르는 선행 기술의 방법들에 비해 매우 자연스럽고 높은 충실도의 게임 제어를 가능하게 한다. 조합하여, 본원에 개시된 터치 및 틸트 제스처 제어 방법은 선행 기술의 방법들에 비해 사용자들에 대해 직관적이고 제어의 충실도가 증가한 게임을 제어하기 위한 새롭고 신규한 방법이다.
본 발명에는 적어도 5가지의 중요 이점이 존재한다.
ㅇ 이 방법은 버튼들 및/또는 액추에이터들 또는 비디오/적외선 모션 캡처가 있는 복잡한 컨트롤러를 수반하지 않는다.
ㅇ 이 제어 방법은 인간에게 직관적이어서 종래 기술의 게임 제어 시스템들보다 배우기 쉽기 때문에 게임들이 플레이하기 더 쉽고/거나 복잡한 시스템이 제어하기 더 쉽다.
ㅇ 이 방법은 시간 경과에 따른 가속도계의 노이즈 및 자이로스코프의 드리프트에 대한 제한들을 극복하고 게임이나 기타 다른 시스템의 고충실도 제어를 가능하게 한다.
ㅇ 이 방법의 일 실시예는 스킬 기반 스포츠 게임들을 가능하게 하는 바이오피드백을 갖는다.
ㅇ 바람직한 실시예에서, 제어 디바이스는 그 스크린이 포트레이트 모드에서 사용자를 마주한 채로 손에 들려 있다. 그러므로, 제어를 위해 2개의 손이 요구되지는 않는다.
이 방법 및 시스템은 복수의 게임, 시스템, 및 기술을 제어하는 것으로 확장 가능하다. 본 발명의 이들 및 기타 다른 양태, 특징, 및 이점들은 첨부 도면들과 함께 읽힐 바람직한 실시예에 대한 다음의 상세한 설명으로부터 명백해질 것이다.
도 1a는 제어 디바이스의 예시적인 아키텍처를 나타낸다.
도 1b는 외부에 연결된 센서들의 예시적인 아키텍처를 나타낸다.
도 2는 본 발명의 시스템의 예시적 실시예를 나타낸다.
도 3은 동시 한 손 제스처 및 터치 입력을 갖는 스포츠 게임을 위한 본 발명의 시스템의 예시적인 실시예를 나타낸다.
도 4a는 제어 디바이스를 이용한 곧은 틸트 제스처의 일례와 이 제스처의 세기와 방향에 관해 사용자에게 피드백을 제공하는 예시적인 피드백 미터를 나타낸다.
도 4b는 제어 디바이스를 이용한 좌향, 우향, 또는 곧은 틸트 제스처의 일례와 이 제스처의 세기와 방향에 관해 사용자에게 피드백을 제공하는 예시적인 피드백 미터를 나타낸다.
도 5는 자이로스코프 센서 데이터로부터 획득된 도 4a에 도시된 제스처에 대응하는 예시적인 각속도 데이터를 나타낸다.
도 6은 가속도계 센서 데이터로부터 획득된 도 4b에 도시된 제스처에 대응하는 예시적인 각회전 데이터를 나타낸다.
도 7a는 싱글 플레이어 농구 게임을 위한 제1 예시 실시예를 나타내며, 여기서 제어 디바이스가 한 손에 들려 있고, 코트 평면에서의 아바타의 달리기 모션 및 점프를 위한 제어 디바이스의 터치 센서 상의 엄지 모션에 의해 아바타가 제어되되, 이들 모션은 도 3에 도시된 바와 같이 제어 디바이스의 틸트 제스처에 의해 트리거된다.
도 7b는 싱글 플레이어 농구 게임을 위한 제2 예시 실시예를 나타내며, 여기서 제어 디바이스가 한 손에 들려 있고, 슛과 펌프를 위해 제어 디바이스의 터치 센서 상의 엄지 모션에 의해 아바타가 제어되되, 이들 모션은 도 3에 도시된 바와 같이 제어 디바이스의 틸트 제스처에 의해 트리거된다.
도 8은 짧은, 긴, 그리고 평균 틸트 제스처에 대응하는 각속도의 크기에 관한 피드백을 제공하는 피드백 미터를 나타낸다.
도 9는 공격 및 방어 제어 모두가 도시된 멀티 플레이어 1대1 농구 게임의 제어를 위한 본 발명의 예시적 사용을 나타낸다.
도 10은 농구 게임의 예시적인 실시예를 나타내며, 여기서 제어 디바이스는 제어 디바이스와 구분되는 별도의 디스플레이 디바이스에서 아바타를 제어한다.
도 11은 다수의 플레이어 제어 디바이스 및 디스플레이 디바이스를 통합한 클라우드 기반 멀티-플레이어 게임 플랫폼의 일 실시예를 나타내며, 여기에는 각각의 제어 디바이스로부터의 다수의 센서 입력이 존재한다.
도 12는 다수의 사용자의 게임 출력들이 스타디움에 있는 디지털 보드에서 동시에 디스플레이되는 멀티플레이어 스포츠 게임에 대한 도 10의 방법 및 시스템의 일 실시예를 나타낸다.
도 13a 내지 도 13d는 제어 디바이스의 손 모션들을 포함하는 미식 축구 게임을 위한 예시적인 사용을 나타낸다.
도 14a 내지 도 14d는 공을 굴리기 위해 전방으로 제어 디바이스를 틸트하는 것과 스핀을 추가하기 위해 좌우로 틸트하는 것을 통합한 볼링 게임을 위한 예시적인 사용을 나타낸다.
도 15a 내지 도 15d는 제어 디바이스의 손 모션들을 포함하는 골프 게임을 위한 예시적인 사용을 나타낸다.
도 16a 및 도 16b는 제어 디바이스의 손 모션들을 포함하는 테니스 게임을 위한 예시적인 사용을 나타낸다.
도 17a 내지 도 17c는 제어 디바이스의 손 모션들을 포함하는 야구 게임을 위한 예시적인 사용을 나타낸다.
도 18a 및 도 18b는 제어 디바이스의 손 모션들을 포함하는 하키 게임을 위한 예시적인 사용을 나타낸다.
도 19a 및 도 19b는 제어 디바이스의 손 모션들을 포함하는 축구 게임을 위한 예시적인 사용을 나타낸다.
도 20a 내지 도 20c는 제어 디바이스의 손 모션들을 포함하는 낚시 게임을 위한 예시적인 사용을 나타낸다.
도 21a 및 도 21b는 제어 디바이스의 손 모션들을 포함하는 복싱 게임을 위한 예시적인 사용을 나타낸다.
도 22a 내지 도 22c는 대전 격투 게임(third person fighting game)을 위한 예시적인 사용을 나타내는데, 여기서 아바타는 터치 센서를 통해 임의의 방향으로 이동할 수 있고, 제어 디바이스의 틸트 제스처는 방어 자세 및 근접 또는 장거리 공격을 활성화한다.
도 23a 내지 도 23c는 가상 현실 탱크 게임 시뮬레이션의 제어를 위한 예시적인 사용을 나타낸다.
명확성과 일관성을 위해, 본원에서는 다음의 정의들이 사용을 위해 정의된다.
본원에 사용된 바와 같이, 제어 디바이스는 이들로 제한되는 것은 아니지만 자이로스코프, 가속도계, 및 터치 센서를 포함하는 센서들을 구비한 휴대용 디바이스를 지칭한다. 특정 실시예에서 이 센서들은 제어 디바이스에 통합되어 있다. 그러나, 다른 실시예들에서 센서들을 외부 센서들을 포함할 수 있다. 특정 실시예에서 제어 디바이스는 통합 메모리와 프로세서를 가질 수 있고, 다른 실시예에서 프로세싱은 케이블을 통하거나 무선으로 제어 디바이스에 연결된 콘솔 또는 PC 기반 시스템 또는 기타 다른 모바일 디바이스에서 인에이블될 수 있다.
본원에 사용된 바와 같이, 디스플레이 디바이스는 웹 페이지, 3D 그래픽 엔진 출력, 또는 임의의 다른 다운로드 가능 애플리케이션을 디스플레이할 역량을 갖춘 임의의 디스플레이이다. 디스플레이 디바이스는 또한 제어 디바이스에 연결될 능력을 갖춘 가상 현실 헤드셋을 포함한다.
본원에 사용된 바와 같이, 센서는 데이터를 수집하는 임의의 디바이스이다. 센서의 비제한적 예시들은 자이로스코프, 터치 센서, 가속도계, 카메라, 오디오 입력, 도플러 뎁스 센서(Doppler depth sensor), 적외선 센서 또는 열 화상 카메라일 수 있다.
본원에 사용된 바와 같이, 애니메이션은 전형적으로 디스플레이 디바이스에 대한 적절한 프레임 레이트로 그래픽 엔진에 의해 렌더링되는 게임에 대한 임의의 그래픽 렌더링 출력이다. 애니메이션들의 비제한적인 예시들은 그림, 선, 형상, 텍스처, 비디오, 이동 중인 공과 같은 3D 렌더링, 또는 3D 렌더링된 아바타 움직임을 포함한다.
도 1a는 Apple iPhone 7 & 7+인 본 발명의 실시예들에 적합한 예시적인 모바일 디바이스(325)를 나타낸다. 제어 디바이스(300)는 디스플레이(308), 센서들(100), 통신 인터페이스(301), 프로세서(303), 메모리(305), 및 전원 공급기(307)를 포함한다. 통신 인터페이스(301)는 디스플레이(308)에 통합된 터치 센서(102), 가속도계 및 자이로스코프 모션 센서들(101), 디지털 센서(103), 및 마이크를 포함하는 다양한 입력 센서들(100)을 연결한다. 통신 인터페이스(301)의 출력들은 디스플레이(308), 내장 스피커, LED 플래시, 및 라이트닝 도크 커넥터 포트(lightning dock connector port)를 포함한다. 프로세서(303)는 메인 프로세서, 전용 그래픽 GPU 컨트롤러, 및 메모리 컨트롤러와 같은 기타 다른 기능들을 통합한 M10 Motion 코프로세서 (SOC) 아키텍처가 적용된 Apple A10 Fusion APL1W24이다. 모션 센서(101)는 특정 축 주위의 회전 레이트를 측정하기 위한 3축 자이로스코프 및 객체 좌표계의 3차원(X, Y 및 Z)에서의 가속도를 측정하기 위한 가속도계를 포함할 수 있다. 메모리(305)는 32GB, 128GB 또는 246GB의 플래시 메모리(모델에 따라 다름)를 포함한다. 메모리(305)는 본 발명의 소프트웨어를 포함하는 애플리케이션(앱)(306)을 위한 저장소를 포함한다. 전원 공급기(307)는 재충전 가능한 리튬 폴리머 배터리 및 전원 충전기를 포함한다.
본 발명과 결부되어 사용 가능한 대표적인 디스플레이(308)는 102로 표시된 터치 센서인 통합 용량성 3D 터치스크린을 갖는 LED 백라이트 IPS LCD 750ㅧ1334 pixels 6M colors이다. 본 발명과 결부되어 사용 가능한 대표적인 모션 센서(101)는 M10 Motion 코프로세서 자이로스코프이고, 대표적인 가속도계는 M10 Motion 코프로세서이다. 그러나, 본 발명은 현재 이용 가능한 모션 또는 터치 센서 또는 기술로 제한되지 않는다는 것이 이해되어야 한다. 도시된 바와 같이, 추가 센서들(310)이 제어 디바이스(300)에 (무선 또는 케이블을 통해) 연결될 수 있다(308).
도 1에 나타낸 예시적인 모바일 디바이스(325)는 Apple iPhone 7 및 7+로 제한되지 않는다. 다른 적합한 제어 디바이스(300)가 사용될 수 있다는 것이 이해되어야 한다. 예를 들어, 대신에, 제어 디바이스(300)는 (Note 시리즈를 포함하는) Samsung Galaxy 계열의 스마트폰들일 수 있다. 이와 유사하게, 이들 디바이스는 통신 인터페이스(301), 프로세스(303), 센서들(100), 메모리(305), 및 전원 공급기(307)를 포함한다. 통신 인터페이스(301)는 Galaxy 계열의 디바이스들에서 iPhone과 실질적으로 동일하게 작동하지만, 12 메가픽셀 HDR 디지털 카메라, 심박수 센서, 및 이중 잡음 상쇄 마이크가 있는 내장형 스피커를 포함하는 다중 입력 센서들(100) 또한 인에이블된다. 출력 디바이스들은 USB/2.0 연결 포트, Type C 연결 포트, 및 헤드폰 잭을 포함한다. 통신 인터페이스(301)는 또한 스크린이 작동을 위해 물리적으로 터치될 것을 요구하지 않는 특징과 감도가 향상된 디스플레이(306)와 통합된 터치 센서(102)를 제어한다. 프로세서(303)는 메모리 컨트롤러와 같은 다른 기능들이 통합된 프로그래머블 시스템-온-칩(PSOC) 상에 Adreno 530 GPU와 함께 Qualcomm Snapdragon 820를 통해 계층화된 Samsung K3RG2G20CMMGCJ 4 GB LPDDR4 SDRAM이다. 모션 센서들(100)은 온보드 디지털 모션 프로세서(DMP)와 함께 동일한 실리콘 다이 상의 6축 (3축 자이로스코프 및 3축 가속도계)을 포함하는 LSM6DS2 (STMicroelectronics에 의해 제조된) LSM6DS2을 포함하며, 3차원(X, Y, 및 Z)에서의 가속도를 측정한다. 메모리(305)는 내부 SD 카드 슬롯 확장을 갖는 32GB 및 64GB의 플래시 모델들을 포함하며, 이로써 추가 256GB를 갖는 메모리로 확장할 수 있다. 메모리(305)는 본 발명의 소프트웨어를 포함하는 애플리케이션(앱)(306)을 위한 저장소를 포함한다. 전원 공급기(307)는 제거되고/되거나 확장될 수 있는 리튬 폴리머 배터리 및 전원 충전기를 포함한다.
도 1b는 예시적인 외부 센서 디바이스(310)를 도시한다. 이러한 예시적 일례에서, 외부 센서 디바이스(310)는 손목에 착용되어 사용자의 물리적 활동을 추적하는데 사용되는 액티비티 트래커(activity tracker)이다. 외부 센서 디바이스(310)를 위해 사용 가능한 이러한 액티비티 트래커의 일례는 Apple 사에 의해 제조된 Apple Watch 2 액티비티 트래커이다. Apple Watch 2는 금, 가죽, 폴리우레탄 및 기타 플라스틱 소재로 제조된 손목 밴드를 포함한다. 외부 센서 디바이스(310)는 직접적인 블루투스(Bluetooth) 연결(309)을 포함할 수 있는 무선 통신기(313)를 통해 모바일 디바이스(325)에 연결될 수 있다. SOC 칩셋 내의 외부 센서들(100)은 3축(3D 디지털 자이로스코프 및 가속도계를 특징으로하는 STMicroelectronics 3mmㅧ3mm 랜드 그리드 어레이(LGA) 패키지)을 포함하고, 내부 프로세서(312)는 초저전력 듀얼 코어 S2 칩 프로세서이다. 전원 공급기(314)는 재충전 가능한 리튬 폴리머 배터리를 포함하고, 디바이스의 후면 커버 인 내장 자기 도크 포트를 통해 충전된다. 외부 센서 디바이스(310)는 스마트 시계, 피트니스 밴드, Oculus Rift 가상 현실 헤드셋 등과 같은 모바일 디바이스(325)에 센서 데이터를 제공하는 다른 디바이스일 수 있음을 이해되어야 한다. 또한, 특정 실시예에서 모바일 디바이스(325) 및 센서 디바이스(들)(310)를 포함하는 시스템은 제어 디바이스(300)를 포함한다는 것이 이해되어야 한다.
본원에 설명된 방법들 및 시스템들은 Apple 및 Android 스마트폰들과 같은 모바일 디바이스들로 제한되지 않으며, 제어 디바이스는 인터넷에 연결될 필요가 없다. 디바이스의 내부 또는 외부의 센서들에 대한 개시된 기술은 비제한적인 것으로 이해되어야 하며, 센서 출력들의 품질은 시간이 지남에 따라 개선될 것으로 예상된다. 예시적인 일례로서, 본 발명과 결부되어 사용 가능한 터치스크린 센서는 저항성, 용량성, 광학 촬영, 또는 개인용 컴퓨터 마우스와 같은 터치 검출의 다른 방법과 같은 다양한 방법 중 어느 하나에 기초할 수 있다.
도 2를 참조하면, 본 발명의 시스템의 예시적 실시예를 나타낸다. 보다 상세하게 설명되는 바와 같이, 본 발명의 중요 양태는 게임을 제어하기 위한 동시 센서 입력이다. 도 2는 센서들(100)에 대한 다수의 입력(001)의 실시예이며, 여기서 특정 센서들(104)은 컨트롤러(150)에 입력된 센서 데이터(120)를 생성한다. 컨트롤러(150)는 로직 엔진(130), 이벤트 관리자(135), 및 콘텐츠 데이터베이스(145)를 기능적으로 통합한 프로세서(게임 프로세서)이다. 센서 데이터 입력은 예시적인 일례로서 환경 물리학에 기반하여, 컨트롤러(150) 및 로직 엔진(1130)을 통해 콘텐츠 데이터베이스(145)로부터의 다양한 콘텐츠의 디스플레이 및/또는 동적 렌더링을 위한 분석 엔진(175)에 의한 계산을 번갈아 트리거하는 이벤트들(140)을 트리거한다. 컨트롤러(150) 및 분석 엔진(175) 양자 모두는 사용자에게 렌더링하기 위해 게임 디스플레이(200)로 출력한다.
다수의 제어 디바이스 센서가 있을 수 있다고 이해되어야 하며, 따라서 사용되는 특정 센서 및 사용된 센서의 특정 출력은 비제한적이라고 이해되어야 한다. 또한, 다수의 센서가 동시에 사용될 수 있으며, 본 발명이 단일 제어 디바이스(300)를 갖는 예시로 도시되어 있지만 이 방법은 다수의 센서 또는 제어 디바이스로 확장 가능하다는 것이 더 이해되어야 한다. 예시적인 비제한적 예시들로서, (1) 제어 디바이스(300)가 한 손에 들려 있고, 추가 센서들(310)이 손목에 있으며, (2) 제어 디바이스(300)가 각각의 손에 들려 있고, 센서(310)는 가상 현실 디스플레이 디바이스 헤드셋에 있을 수 있다. 이러한 예들은 본 발명의 비제한적인 방법 및 장치인 것으로 이해되어야 하며, 발목, 팔꿈치, 무릎, 및 머리와 같은 신체의 상이한 부위에 부착된 임의의 개수의 센서로 확장 가능하다.
본 발명의 일 실시예는 스포츠 게임을 제어하기 위해 모바일 디바이스에 대한 동시 터치 및 제스처 입력을 위한 것이다. 선행 기술들이 게임을 제어하기 위한 (1) 터치 입력 및 (2) 모션 제스처 입력을 독립적으로 개시하지만, 이들 2개의 이전의 독립적인 양식을 결합하는 데 상당한 시너지 효과가 있다. 바람직하게는, 모바일 디바이스(325)가 포트레이트 모드(portrait mode)에서 한 손에 들려 있으며, 스크린(308)이 사용자를 마주하는 것이 바람직하다. 바람직하게는, 이러한 예시적인 실시예에서, 터치스크린(308)에 입력된 터치는 임의의 방향으로 게임 아바타 움직임을 제어하기 위해 들고 있는 손의 엄지에 의한 것이고, 틸트 제스처는 모바일 디바이스(308) 또는 다른 외부 디스플레이 디바이스(350)의 스크린 상에 디스플레이되는(200) 농구공, 축구공 또는 기타 객체와 같은 객체들의 슛을 트리거한다. 또한, 현재 개시된 제스처 분석 방법은 농구 게임에 대한 예시적인 일례로서 백보드에서 길게 또는 짧게 또는 좌우측으로 슛하는 게임 스킬을 가능하게 한다. 따라서, 개시된 발명은 고충실도의 게임의 한 손 제어 방법 및 시스템이며, 통상적으로 랜드스케이프 모드에서 양손으로 들고 있는 모바일 디바이스 또는 컨트롤러에 대한 버튼 및 조이스틱 입력을 요구하는 선행 기술의 중요 한계들을 극복한다.
본 발명의 이들 및 다른 신규한 요소들은 농구용 스포츠 게임의 제어의 맥락에서 그 다음 미식축구, 볼링, 축구, 야구 및 테니스를 포함하는 다른 스포츠 게임에 관련하여, 본 발명의 다음의 상세한 설명으로부터 명백해질 것이다. 그러나, 다음의 예시들은 제한하려는 것이 아니라는 것이 이해되어야 한다.
농구 게임 실시예
도 3을 참조하면, 농구 게임을 위한 본 발명의 예시적인 실시예(400)를 나타낸다. 이 경우 "입력(001)"은 동시에 입력될 수 있는 각각의 모션 센서들(101) 및 터치 센서들(102)에 의해 검출된 제스처(002) 및 터치(003)이다. 그 다음, "센서 데이터(120)"(각각 모션 데이터(121) 및 터치 데이터(122))는 바람직한 실시예에서 Unity 5.3.4와 같은 그래픽 엔진의 애니메이션 컨트롤러(150)인 "애니메이션 컨트롤러(150)"에 입력된다. 로직 엔진(130)은 브랜칭 애니메이션 컨트롤러의 계층화된 로직 트리를 사용하는 것이 바람직하다. 도시된 바와 같이, "콘텐츠 데이터베이스(145)"는 비디오 또는 그래픽 요소들을 포함할 수 있는 애니메이션들(145)의 데이터베이스이다.
애니메이션 컨트롤러(150)는 센서 입력들(002 및 003), 로직 엔진(130)에 의해 사용되는 계층화된 로직 트리들의 로직, 및 이벤트 관리자(135)에 의해 사용된 리스너 프로토콜(listener protocol)에 부분적으로 기초하여, 코트를 가로지르는 드리블, 팔 움직임, 공의 슛팅, 또는 슛을 블록킹하려는 시도와 같은 특정 농구 관련 이벤트들(이벤트들(140))을 검출한다. 일례로서, 터치 센서(002)에 의해 감지된 코트에서 플레이어를 이동시키기 위한 스크린 스와이프와 같은 엄지 입력(003)은 3D 그래픽 디스플레이 엔진(210)에 의한 렌더링 및 디스플레이(200)을 위한 데이터베이스(145)로부터 특정 애니메이션을 푸쉬하기 위해 애니메이션 컨트롤러(150)에서 이벤트(140)를 트리거할 것이다. 제스처 입력(002)의 경우, 로직 엔진(130)은 이벤트(140)(예를 들어, 농구 슛)와 관련된 애니메이션(145') 및 볼 비행 시뮬레이션을 렌더링하기 위해 물리 엔진(175)을 트리거하는 엔진(140)을 생성한다. 본 발명의 중요 양태는 게임을 제어하기 위한 다수의 동시 센서(100)의 입력들의 사용 및 게임 디스플레이(200)에서 렌더링된 혼합(blended) 게임 출력(215)으로부터 초래된 최종 혼합 애니메이션 데이터(180)의 사용이다.
본 발명의 방법은 다양한 예시를 통해 보다 상세히 설명된다. 도 4 내지 도 7은 유동적이고 고충실도의 연속 농구 게임 플레이를 위한 아바타를 제어하기 위한 일 실시예의 제스처 및 모션 입력들을 상세히 도시한다. 바람직한 실시예에서 제어 디바이스(300)는 사용자(010)의 한 손에 의해 포트레이트 모드에서 들려 있는데, 터치 입력은 들고 있는 손의 엄지에 의해 가능해지며, 제스처 입력은 들고 있는 손의 손목에 의해 가능해진다. 그러나, 제어 디바이스를 들고 있는 방법은 제한적이지 않고, 태블릿 컴퓨터(예를 들어, Apple iPad)와 같은 대형 제어 디바이스는 양손에 들려 있을 수 있는데, 하나의 엄지 또는 손가락이 터치 입력을 제공하고, 양손이 제스처 입력을 제공한다.
도 4a 및 도 4b는 예시적인 실시예에서 농구공을 슛하기 위한 제스처를 예시한다. 도 4a는 θ로 표시된 각도(005)를 통해 제어 디바이스(300)를 틸트하는 제스처를 도시한다. 일 실시예에서, 자이로스코프 센서 출력에서의 시간에 대한 피치의 변화는
Figure pct00001
(006)에 의해 표시된 시간에 대한 각속도 또는 각도 θ의 도함수이다. 본 발명의 방법의 중요 양태는 예시적인 예들로서 제스처로부터의 최대 각속도
Figure pct00002
가 가상 객체, 슛된 농구공, 또는 던져진 축구공의 초기 속도에 비례하게 만드는 것이다.
도 4b는 제어 디바이스(300)의 α로 표시된 각도(008)를 통해 좌우 틸트 제스처를 나타낸다. 제스처들의 조합(도 4a 및 도 4b) 및 이들 각각의 센서 입력은 물리 엔진에 대한 고충실도 입력을 갖는 슛들의 제어를 가능하게 하는데, 여기서 공 비행은
Figure pct00003
(006)에 비례하는 깊이를 갖고 α(008)에 비례하는 좌우 방향을 갖는 가상 3D 공간에서 렌더링될 수 있다.
본 발명의 추가적인 특징은 도 4a 및 도 4b에서 일 실시예에 예시된 피드백 미터(155)이다. 각속도(006)의 크기는 슛(050)에 대한 시각적 바이오피드백을 사용자(010)에게 부여하기 위해 동적으로 렌더링된다. 바람직한 실시예에서, 양호한 슛을 위한 속력을 나타내는 범위(007)가 피드백 미터(155) 상에 도시된다. 사용자(010)는 피드백 미터(155)가 이상적인 범위(007)의 각속도(006)에 등록되도록 슛 제스처 각속도를 만들려고 시도한다. 이들 제스처는 골대로 가는 비율이 더 높다. 도 4b는 아이콘에 의해 표시된 각도 α(008)를 갖는 피드백 미터를 도시한다. 따라서, 피드백 미터(155)는 이 예시적인 비제한적인 실시예에서 2차원, 즉 슛 속력와 각도로 바이오피드백을 제공한다. 당업자에게는 피드백 미터(155)에 대해 많은 다른 실시예가 가능하며, 피드백 미터(155)의 형상 또는 도시된 피드백의 디스플레이를 위한 다른 설계 특징들은 비제한적이라는 것이 이해되어야 한다.
도 5는 도 4a의 슛 제스처 실시예에서 대응 시간의 함수로서 iPhone 6 자이로스코프 센서로부터의 각속도
Figure pct00004
(006) 데이터(시간에 따른 피치의 변화)를 나타낸다. 인간의 운동 기능은 앞으로 움직이기 전에 자연스럽게 제어 디바이스를 약간 뒤로 가져 간다. 본 방법의 일 실시예는 각속도(006)이 도 5에 예시된 실시예에서 소정의 임계치, 즉 -3 rad/sec보다 작은 경우 슛의 이벤트(140)를 검출한다. 제스처의 최대 속력에 대응하는 최대 음의 회전 속도(006)는 스케일링되어 물리 엔진(175)에 입력되어 공 비행의 아크(050)를 렌더링한다.
Y가 디바이스의 장축을 따르고, X가 Y에 수직이고 단축 상에 있고, Z가 X와 Y 모두에 수직이 되도록 제어 디바이스(300) 상에 직교 좌표계(X, Y, Z)를 배치하는 것은 선행 기술에서 관례적이다. 그 후, 모션 센서(101) 출력들은 이러한 객체 좌표계를 기준으로 참조된다.
도 6은 소프트웨어 저역 통과 필터에 의해 평활화된 X 가속도 모션 센서 데이터를 활용하여 제어 디바이스(300)의 좌우 모션을 측정하기 위한 바람직한 실시예를 예시한다. X 가속도를 이용하는 이점은 디바이스가 캘리브레이션을 요구하지 않는다는 것이다.
Innoventions, Inc 사에 의해 제조된 Sensor Kinetics는 센서 융합 중력 센서를 가지며, 도 6에 도시된 바와 유사한 데이터 출력을 생성한다. 통상적으로 중력 데이터는 InvenSense 등에 의해 개발된 저역 통과 또는 칼만(Kalman) 필터 또는 센서 융합 알고리즘을 사용하여 "사용자 가속도" 세그먼트 (또는 사용자에 의해 디바이스에 부여된 가속도)를 제거함으로써 원시 가속도계 데이터로부터 격리된다. 따라서, 저역 통과 필터를 통해 평활화된 X 가속도 센서 데이터를 활용하는 바람직한 실시예는 X 중력 센서와 유사하다. 중력 데이터는 항상 지구 중심을 향하는 이점을 가지며, 이에 따라 중력 데이터를 활용하는 모션은 공간에서 선험적이다.
제어 디바이스(300)가 공간에서 회전함에 따라, 이 회전은 X, Y, Z 중력 데이터(gx, gY, gZ)에 의해 검출될 수 있다. 통상적으로, 모션 센서들(101)의 중력 데이터 출력은 +9.8 m/sec2 내지 -9.8 m/sec2의 최대 범위를 갖는다. X 지구 중력 벡터(gx)의 크기는 다음의 수식에 의해 각도 α(008)와 관련되며,
Figure pct00005
이로써
Figure pct00006
1차 테일러(Taylor) 시리즈 근사에서 sin(α)
Figure pct00007
α이므로
Figure pct00008
.
그러므로, gx/g
Figure pct00009
α. 따라서, 중력 센서 데이터(gx/g)는 라디안 단위에서 각도 α(008)과 거의 같다. 그러므로, 도 6은 바람직한 실시예들 예시하는데, 여기서 X 가속도계 데이터를 평활화하기 위해 저역 통과 필터를 적용함으로써 gx 중력 데이터를 합성한 후 gx/g
Figure pct00010
α를 설정하는데 여기서 g = 1이다. 바람직한 실시예는 많은 유형의 게임에 대해 정확하며 최소 연산을 요구하지만, 보다 높은 충실도를 위해 각도 α는 수학식 1로부터 계산될 수 있다. 이들 예는 예시적인 것이며, 정확한 모션 센서들 또는 융합된 모션 센서 출력들의 조합은 제한적이지 않다는 것이 이해되어야 한다.
도 6은 시간의 함수로서 곧은-좌향-곧은-우향-곧은 제스처에 대한 iPhone 6으로부터의 평활화된 X 가속도 데이터를 g(9.8m/sec2) 단위로 나타낸다. 일 실시예에서, 도 6에서 점선으로 표시된 각도 α는 게임 디스플레이(200) 상의 물리 엔진(175)에 의해 렌더링되는 농구 슛들의 각도에 비례하게 된다.
도 7a는 제어 디바이스(300)에 대한 터치(070) 및 제스처(075)를 갖는 센서(100) 입력들의 조합을 나타낸다. 바람직한 실시예에서, 터치 모션(070)은 디스플레이 디바이스의 스크린 상에 아바타의 배치를 지시하는데 사용된다. 터치 모션(070)은 연속적일 수 있고, 임의의 방향으로 수행될 수 있다. 이와 유사하게, 슛 제스처(075)는 언제든지 가능하다. 이 예시적인 예시에서, 대응 혼합 게임 출력(215)은 가상 농구 코트에서 농구 선수가 좌측으로 이동한 후(079), 정지 상태가 되고, 이어서 대응 터치 입력(070)에 의해 제어되어 우측으로 이동한 다음, 제스처(075)에 의해 트리된 우측으로 기울어진 점프슛(080)을 실행하는 것이다. 콘텐츠 데이터베이스로부터 렌더링된 애니메이션(145)은 센서 데이터(120) 입력을 고려한 로직 엔진(130) 규칙들에 기반하여 선택된다. 도 7a는 본 발명의 특징을 나타내는데, 여기서 동시 엄지 모션(070) 우측 및 슛 제스처 (075)의 경우 시스템 (400)이 도 7a에서 080으로 예시된 대응 우측 러닝 점프슛 애니메이션을 렌더링한다. 추가적인 예로서, 도 7b는 원형 엄지 제스처(071)가 멈춘 후 뒤이어 슛 제스처(075)를 나타낸다. 일 실시예에서, 시스템(400)은 대응하는 원형 달리기 애니메이션들(081) 및 그 이후에 도 7b에서 085로 예시된 제자리 슛(straight standing shot)을 렌더링한다.
도시된 바와 같이 터치 및 제스처 컨트롤은 가상 농구 게임 중 아바타가 달리면서 슛하도록 동시에 제어할 수 있다. 바람직한 실시예에서, 터치 입력은 연속적인 것이라고 이해되어야 하며, 이 때 슛 제스처(075)는 사용자(010)에 의해 임의의 시점에 일어난다. 본 발명의 일 양태는 어떠한 가상 조이스틱도 제어 디바이스(300)의 디스플레이(308)에서 렌더링되지 않는다는 것이다. 대신, 터치 모션은 손가락 또는 엄지가 제어 디바이스 터치 센서에 놓인 마지막 지점을 중심으로 한다. 또한, 바람직한 실시예는 콘텐츠 데이터베이스에 수백 개의 애니메이션을 가지고 있으며, 동시 제스처 및 터치 센서 입력들은 혼합 게임 출력으로서 렌더링되는 다수의 애니메이션을 트리거하는데, 여기서 예시적이고 비제한적인 예는 덩크(dunking), 크로스오버(crossover) 및 스핀(spin) 움직임을 포함한다. 따라서, 예시적인 예시들은 실제 가상 농구 게임을 위한 가능한 제스처, 움직임, 및 이벤트의 매우 작은 서브세트를 나타내는 것으로 이해되어야 한다.
본 발명의 추가적인 중요 양태는 센서(100) 입력들의 크기에 주기적으로 비례하여 업데이트되는 그래픽 피드백 미터(155)이다. 업데이트는 시스템(400)의 프레임 레이트로 발생하고 피드백 미터는 제스처(075)의 세기를 효과적이고 동적으로 등록하는 것이 바람직하다. 도 8은 3개의 상이한 세기의 슛 제스처(075)를 위한 피드백 미터(155)의 일 실시예를 나타내는데, 013, 014, 및 015로 표시되는 최대 각속도는 짧은 슛(013), 양호한 슛(014) 및 긴 슛(015)에 대응하여 피드백 미터(155) 상에 렌더링된다. 그러므로 피드백 미터(155)는 제스처(075)의 세기에 대응하는 시각적 피드백을 사용자 (010)에게 제공한다. 바람직한 실시예에서, 피드백 미터(155)는 제어 디바이스(300)의 디스플레이(308)에서 렌더링된다. 스포츠 게임의 실시예의 경우, 피드백 미터(155) 시각적 바이오피드백은 제스처 모션(075)가 게임 기술로서 훈련되게 할 수 있는데, 소정의 입력(001)에 대한 출력 게임 디스플레이(200)의 반복성은 본원에 개시된 방법 및 시스템(400)의 고충실도에 의해 구동된다.
방법 및 시스템(400)은 싱글 플레이어 농구 슛팅 게임으로 제한되는 것은 아니다. 도 9는 2명의 사용자(010)가 1대1 농구 게임을 플레이하는 예시적인 실시예를 나타낸다. 예시적인 실시예에서, 사용자 1은 수비를 플레이하는 반면에, 사용자 2는 공격을 플레이한다. 일 실시예에서, 사용자 2의 제어 방법은 앞서 설명한 바와 같다. 사용자 1은 유사한 제어 방식을 이용할 수 있는데, 여기서 아바타(015)의 모션은 터치 컨트롤을 통해 이루어지며 블로킹은 제스처(075)를 통해 이루어진다. 그러나, 이 예는 제한적이지 않으며, 일 실시예에서 수비 플레이어는 도 6의 예시와 유사하게 좌우 각도 틸트를 이용하여 공을 스틸할 수 있는 능력을 가질 수 있다.
도 9의 실시예에 예시된 본 발명의 특징은 일 실시예에서 사용자 디스플레이 디바이스 각각에서 렌더링될 수 있는 피드백 미터(155)이다. 사용자 2의 경우, 피드백 미터(155)는 공격 아바타에 의한 농구 슛들의 세기 및 방향들에 대한 피드백을 제공한다. 사용자 1의 경우, 피드백 미터는 블로킹들의 세기에 대한 피드백을 제공한다. 일 실시예에서, 예시적인 예로서, 공격 아바타와 수비 아바타가 코트에서 거리(060)으로 표시된 만큼 멀리 떨어져 있으면, 더 빠른 (또는 더 강한) 제스처(075)가 슛을 블록킹하는데 요구되며, 일 실시예에서 더 높은 아바타 점핑 애니메이션을 트리거한다.
혼합 게임 출력(215) 및 피드백 미터(155)는 제어 디바이스(300)의 디스플레이(308) 상에서의 렌더링으로 제한되지 않는다. 도 10은 농구 게임의 대체 실시예를 나타내는데, 여기서 제어 디바이스(300)는 제어 디바이스와 구분되는 별도의 디스플레이 디바이스(350)에서 아바타(015)를 제어하며, 아바타 모션, 슛 물리 렌더링(050) 및 피드백 미터(155)는 제어 디바이스(300)로부터 별도로 구분되어 디스플레이된다(200).
본 발명은 제어 디바이스(300) 및 디스플레이 디바이스(200)를 통합하는 적어도 3개의 실시예를 갖는데, (1) 모바일 스마트폰과 같이, 제어 디바이스(300)가 또한 디스플레이 디바이스(200)인 경우, (2) 제어 디바이스(300)가 케이블, 블루투스, 또는 다른 로컬 영역 네트워크를 통해 외부 디스플레이 디바이스(200)에 연결된 경우, (3) 제어 디바이스(300)가 클라우드 기반 게이밍 플랫폼(500)을 통해 디스플레이 디바이스(200)에 연결된 경우가 있다. 실시예 (2)에서, 디스플레이 디바이스는 PlayStation 4 또는 Xbox One과 같은 게이밍 콘솔 또는 개인용 컴퓨터(PC)에 연결될 수 있다. 실시예 (3)의 경우 디스플레이 디바이스 및 제어 디바이스는 인터넷이 가능하지만, 다른 2개의 실시예 (1) 및 (2)의 경우 디스플레이 및 제어 디바이스는 인터넷에 연결될 필요가 없다는 것이 이해되어야 한다. 그러므로, 제어 디바이스를 디스플레이 디바이스에 연결하는 방법은 비제한적인 것으로 이해되어야 한다.
클라우드 기반 게이밍 플랫폼 실시예
도 11은 본 발명의 일 실시예에 따라 모션 상태 제어 방법(250)를 통합하는 게이밍 플랫폼(500)의 예시적인 아키텍처를 예시한다. 게임 플랫폼(500)은 발명의 명칭이 "모바일 장치 모션 센서 입력을 갖는 웹 기반 게임 플랫폼"이고 Jeffery 등에게 허여된 미국 특허 제9,022,870호에 개시되어 있는데, 그 내용은 전체적으로 참조로서 본원에 통합되어 있다.
도시된 바와 같이, 게이밍 플랫폼(500)의 3개의 주요 컴포넌트는 제어 디바이스들(400), 게이밍 서버(450), 및 디스플레이 디바이스들(350)이다. 게이밍 서버(400)는 플레이 중인 복수의 게임을 관리하는 게이밍 규칙 엔진(451)을 포함한다. 도시된 바와 같이, 게이밍 규칙 엔진(451)은 사용자 데이터베이스(455) 및 게이밍 리소스 데이터베이스(460)에 대한 액세스를 갖는다. 사용자 데이터베이스(455)는 로그인 정보 및 게임 정보를 저장한다. 농구의 경우, 게임 정보는 게임 중에 이루어진 각각의 슛에 대한 데이터, 플레이어의 현재 스코어, 현재 레벨 넘버 등을 포함할 수 있다. 게이밍 리소스 데이터베이스(460)는 디스플레이 디바이스(350) 상에 게임을 시뮬레이션하기 위한 그래픽 콘텐츠를 포함할 수 있다.
예시된 실시예에서, 게이밍 서버(450)는 클라우드 기반으로서 인터넷(475)을 통한 글로벌 접속을 가능하게 한다. 각각의 사용자에 대해, 사용자의 제어 디바이스(300) 및 디스플레이 디바이스(350)는 별도의 다른 인터넷 연결들(425)을 통해 게이밍 서버(500)에 동시에 연결될 수 있다. 도 11에서의 인터넷 연결들(425)은 웹-소켓 프로토콜을 통하는 것이 바람직하다. 제어 디바이스(300)는 센서(100) 데이터(120) 및 기타 다른 데이터를 포함하는 데이터를 게이밍 서버(500)에 송신하는데; 차례대로 게이밍 서버(500)는 별도의 인터넷 연결을 통해 디스플레이(350)에서 게이밍 미디어의 디스플레이를 용이하게 한다. 일 실시예에서, 소프트웨어 애플리케이션 형태인 게이밍 그래픽 엔진(420)은 게이밍 규칙 엔진(450)의 로직의 상당한 양이 인코딩되는 적합한 웹-가능 디스플레이 디바이스(350)으로 푸쉬되거나 다운로드될 수 있으며, 그 후 게이밍 로직 엔진(420)은 게이밍 서버(450)에서 직접 수행되었을 작업의 많은 부분을 수행할 수 있다. 대체 실시예에서, 게이밍 그래픽 엔진(420)은 디스플레이 디바이스(350)에 다운로드 가능한 애플리케이션, 즉 앱이며, 애플리케이션은 인터넷(475)를 통해 게이밍 서버(450)와 통신할 수 있다.
바람직한 예시적 실시예들
본 발명의 설명에는 본 발명의 다양한 양태들을 수행하기 위한 예시적인 방법들이 개시되어 있다. 본원에 개시된 본 발명의 방법들 및 시스템들은, C++, C#, Objective-C, Visual Basic, 및 Java와 같은 다양하고 적합한 프로그래밍 언어로 쓰여진 컴퓨터 프로그램 코드를 실행함으로써 실현될 수 있다는 점이 이해되어야 한다. 일부 실시예에서, 애플리케이션 로직의 상당 부분이 예를 들어 AJAX (Asynchronous JavaScript and XML)를 이용하여 디스플레이 디바이스에서 수행되어 비동기 웹 애플리케이션을 생성할 수 있다는 점이 이해되어야 한다. 또한, 일부 실시예에서 애플리케이션의 소프트웨어는 복수의 상이한 서버 사이에 배포될 수 있다는 점이 이해되어야 한다.
본 발명의 소프트웨어는 적합한 브라우저(예를 들어, Safari, Microsoft Edge, Internet Explorer, Mozilla Firefox, Google Chrome, 및 Opera)를 이용하여 클라이언트들에 의해 액세스 가능하거나 독립형(stand-alone) 애플리케이션으로서 적합하게 구성된 디스플레이 디바이스에게 다운로드 가능하고 실행 가능한 HTML, PHP, Javascript, XML 및 AJAX로 작성된 다양한 웹-기반 애플리케이션들을 더 포함하는 것이 바람직할 것이라는 점이 이해되어야 한다. 또한, 그래픽 엔진 소프트웨어는 디스플레이 장치(350) 상에 2D 및/또는 3D 그래픽을 렌더링할 수 있는 Unreal, Unity, GameMaker 또는 기타 다른 소프트웨어 시스템 중 하나일 수 있다.
디스플레이 디바이스(350)가 제어 디바이스(300)인 바람직한 실시예에서, 시스템(400)의 구현을 위해 주로 Unity 3D 게임 엔진을 사용한다. 클라우드 기반 시스템(500)의 다른 바람직한 실시예의 경우, 제어 디바이스(300)와 디스플레이 디바이스(350) 모두에 Unity를 설치하고, 웹-소켓 프로토콜을 사용하여 게이밍 서버(450)를 통해 통신하는 것이 바람직하다.
시스템(400)이 33 msec마다 업데이트되도록 프레임 레이트가 초당 30 프레임인 Unity 5가 사용되는 것이 바람직하다. 그러나, 프레임 레이트는 제어 디바이스(300) 및 디스플레이 디바이스(350)의 컴퓨팅 파워에 의해 제한되며, 이로써 장래에 더 높은 프레임 레이트를 기대한다.
제스처 센싱
도 4a에 대응하는 유형의 제스처들의 경우, Unity를 사용하여 제어 디바이스(300)의 자이로스코프 센서(101)에 의해 측정되는 바와 같이 같이 바이어스 되지 않은 회전 레이트를 반환하는 "Input.gyro.rotationRateUnbiased"를 호출하는 것이 바람직하다. 회전 레이트는 3축 각각의 주위를 회전하는 속도를 초당 라디안 단위로 나타내는 Vector3로서 주어진다.
도 4b에 대응하는 유형의 제스처들의 경우, Unity를 사용하여 마지막으로 측정된 3차원 공간에서의 디바이스의 선형 가속도를 반환하는 "Input.acceleration"를 호출하는 것이 바람직하다. 이 값은 g에서 각 축 상의 가속도를 나타내는 Vector3로서 주어진다(1g의 값은 9.8 m/sec2에 대응함).
농구 경기에 실시예에 대한 제스처 인식 및 분석은 다음과 같이 수행된다.
1) 도 4a의 제스처의 경우 "Input.gyro.rotationRateUnbiased" 호출을 통해 입력 자이로스코프 데이터를 측정 및 저장한다.
2) 도 4b의 제스처의 경우 "Input.acceleration" 호출을 통해 입력 가속도 데이터를 측정한다. 이전에 저장된 값과 현재 측정된 값으로부터 선형 보간을 수행함으로써 조정된 가속도 X축 값을 저장한다. 사용된 보간 값은 이전 프레임에서 경과한 시간에 스케일 팩터 "accelerometerX = Mathf.Lerp (accelerometerX, Input.acceleration.x, accelerometerLerpSpeed * Time.deltaTime)"를 곱한 값이다.
3) 자이로스코프 측정이 농구의 실시예에서 최소 순간 회전 임계치, 즉 -3.5 rad/sec를 충족시키는지 여부를 확인하고, 만약 그렇다면 제스처 코루틴(co-routine)을 시작한다.
4) 제스처 코루틴은 프레임마다 자기 자신의 태스크를 다음과 같이 수행한다.
(a) 이러한 슛 제스처 중에 피크 회전 속도에 대한 새로운 변수를 저장한다. 초기에는 코루틴이 시작된 프레임을 위한 순간 센서 측정치들로 이러한 변수들을 채운다.
(b) 이러한 코루틴의 지속시간, 농구의 실시예에서는 바람직하게 250ms 동안, 순간 자이로스코프 측정치들을 저장된 피크 값들과 비교하여 순간 측정치들이 더 크면, 피크 값들을 순간 측정치들로 대체한다.
(c) 이러한 슛 제스처 중에 피크 x축 가속도에 대한 새로운 변수를 저장한다. 초기에는 코루틴이 시작된 프레임을 위한 순간 센서 측정치들로 이러한 변수들을 채운다.
(d) 이러한 코루틴의 지속시간, 농구의 실시예에서는 바람직하게 250ms 동안, 순간 가속도계 측정치들의 절대값을 저장된 피크 값들의 절대값을 비교하여 순간 측정치들이 더 크면, 피크 값들을 순간 측정치들로 대체한다.
코루틴은 최대치가 위치하면 완료되며, 저장된 피크 값들은 최종적인 것으로서 PlayerShotCalculator 클래스에 전달되어 슛에 대한 목표 위치와 궤적을 생성한다. 저장된 피크 자이로 값은 목표 위치를 앞뒤로 조정하여 공 비행 시간을 증가/감소시키는데 사용된다. 저장된 피크 x축 가속도는 목표 위치를 좌우로 조정하는데 사용된다.
터치 센싱
제어 디바이스에 입력된 터치는 직선으로 전방을 향하며 Unity API인 Input.GetMouseButtonDown, GetMouseButton, 및 Input.mousePosition를 이용하는 것이 바람직한데, GetMouseButtonDown은 사용자가 처음으로 마우스 버튼을 누르거나 스크린을 터치한 프레임에서만 참(true)을 반환하고, GetMouseButton은 버튼이 눌려 있거나 터치가 화면에 남아 있는 동안 모든 프레임에서 참을 반환하며, Input.mousePosition은 터치 또는 마우스 위치의 픽셀 좌표를 반환한다.
모든 프레임에서 터치 움직임을 캡처하기 위해, 사용자가 GetMouseButtonDown (0)으로 터치를 시작하는지 확인한다. 만약 그렇다면, Input.mousePosition을 사용하여 터치 위치를 저장한다. 그런 다음, 사용자가 GetMouseButton(0)을 사용하여 화면을 계속 터치하는지 확인한다. 그 다음, 현재 터치 위치를 터치가 처음 시작되었을 때 저장된 터치 위치와 비교한다. 사용자가 스크린을 더 이상 터치하고 있지 않으면, 관련 값들을 0으로 재설정한다. 이 방법의 장점은 사용자가 스크린을 처음 터치하는 곳인 중앙에 항상 위치하는 가상 조이스틱이다. 사용자가 더 이상 스크린을 터치하지 않으면, 사용자가 터치를 다시 시작하는 위치가 어디든지 간에 중심이 재설정될 것이다.
애니메이션 데이터베이스
시스템(400)의 데이터베이스(145)는 다양한 그래픽 및 애니메이션 파일들을 포함하는 것이 바람직하다. 애니메이션들은 FBX(필름 박스)에 인코딩되어, 텍스처, 메쉬, 본(bone), 및 애니메이션 데이터를 인코딩한다. 애니메이션들은 모션 캡처(MOCAP) 스튜디오를 통해 인간의 움직임들로부터 캡처된다. 대표적인 MOCAP 시스템들은 VICON, QUALISIS, Xsens, Optitrack, 및 IPI를 포함한다.
MOCAP FBX 파일들을 캡처하고 정리하여 Unity 5와 같은 그래픽 엔진으로 가져오는 방법은 당업자에게 잘 알려져 있다. 또한, 혼합 로직 트리를 통한 애니메이션 제어 방법 또한 당업자에게 잘 알려져 있다. 그러나, 바람직한 실시예에 개시된 본 발명의 방법은 다수의 센서(100) 입력을 사용하여 애니메이션들(145)을 제어하는 것인데, 여기서 입력 제어는 터치와 제스처 모두를 동시에 포함한다.
다만, 개시된 방법의 예시적인 실시예들은 Unity를 요구하지 않는다. droid 디바이스들에 대한 예시적인 예시로서, 자이로스코프에 대한 액세스는 SDK에서의 SensorManager의 getDefaultSensor (Sensor.TYPE_GYROSCOPE)로 행해진다. 터치들은 onTouchEvent(MotionEvent 이벤트) 방법을 오버라이딩(overriding)함으로써 MainActivity에 의해 액세스되며, 터치들은 View.OnTouchListener를 뷰의 setOnTouchListener()에 등록함으로서 뷰에 의해 액세스된다. 그러나, 플랫폼들(IOS/Android), SDK, 호출, 및 그래픽 엔진은 본원에 개시된 방법에 대해 비제한적이다.
게이밍 플랫폼
클라우드 기반 게임 플랫폼(500) 실시예의 경우, Apple IOS 및 Android 제어 디바이스(300) 모두에 대한 네이티브 애플리케이션(306)으로서 방법(250)을 구현한다. Apple iOS CMMotionManager 객체를 통해 Apple 디바이스 상의 데이터 캡처가 인에이블되어 디바이스 모션 데이터, 자세(attitude), 가속도계, 및 중력을 캡처한다. CMDeviceMotion 객체의 CMAcceleration 서브클래스의 중력 방법을 이용하여 중력 센서 데이터를 캡처한다. CMDeviceMotion 객체의 CMAttitude 서브클래스의 자세 방법을 이용하여 자세 센서 데이터를 캡처한다. 데이터 캡처를 시작하기 위해 CMMotionManager 객체의 startDeviceMotionUpdatesToQueue:withHandler 방법을 호출한다. 데이터는 1/100초 간격으로 캡처된다. deviceMotionUpdatelnterval 특성을 이용하여 데이터 캡처 간격을 설정한다.
바람직한 실시예(500)에서, 게이밍 엔진(450)는 Amazon 웹 서비스, 및 모든 주요 상용 호환 가능 웹 브라우저(Firefox 및 Safari)를 위한 웹-기반 디스플레이(350)를 이용하여 구현된다. 애플리케이션(306)으로부터 호출된 Unity 5 그래픽 엔진을 사용하고, 일 실시예에서 디스플레이 디바이스(350)의 적절한 HTML 5.0 웹 페이지에 Unity 3D 5를 설치한다. 다른 바람직한 실시예에서, Unity 5 그래픽 엔진은 독립형 네이티브 애플리케이션으로서 컴파일되어 디스플레이 디바이스로 다운로드되는데, 여기서 애플리케이션은 웹 소켓 프로토콜을 통해 인터넷에 접속하여 게이밍 서버(450)를 통해 제어 디바이스(300)로부터 입력 데이터를 수신할 수 있는 능력을 갖는다.
웹 소켓 연결들을 이용하여 플랫폼(500)에서 데이터를 전달한다. 제어 디바이스(300)는 WebSocket API를 사용하여 데이터를 게이밍 서버(450)로 전송하고, 제어 디바이스(300) 및 웹 가능 디스플레이(350)에 Unity 3D 그래픽 엔진이 설치된 브라우저(350)로 전송한다. 브라우저와의 웹 소켓 연결은 게임이 플레이되는 동안 지속된다.
제어 디바이스(300)로부터 데이터를 수신하고 Unity 게임 엔진들과 통신하기 위해 WebSocket API를 사용한다. 일례로서, UnityAndroid가 완전히 로드되면, 네이티브 앱인 "gameLoadedOnDevice()"에 콜백을 보낸다. UnityWeb 경우에, 네이티브 브라우저 앱으로 소켓 콜을 되전송한다. 네이티브 브라우저 앱은 unity.sendMessage ("유니티 함수")를 호출함으로써 플레이 결과의 세부 사항들을 UnityWeb으로 되전송한다. 웹 가능 디스플레이(350)에서 디바이스의 거동을 복제하기 위해 UnityAndroid 또는 UnityiOS는 네이티브 앱을 통해서만 서버와의 모든 소켓 통신을 행한다. 소켓 콜들을 다루는 네이티브 앱(306)에 적당한 방법들이 정의되어 있다. Unity는 필요할 때마다 각각의 방법들을 호출한다. 네트워크 호출에 대한 응답은 네이티브 앱에 의해서도 수신되며, 이들 데이터를 unity.sendMessage("유니티 함수")로 되전달한다.
방법(400) 알고리즘은 사용자(010)가 UnityAndroid 또는 UnityiOS를 시작할 때 백그라운드에서 계속 실행된다. 방법(400)이 센서(100) 입력을 검출하고 로직(130)에 종속될 때마다, 방법(400)은 UnityAndroid 또는 UnityiOS에 트리거 이벤트(140)를 전송하고, UnityWeb에 웹 소켓 호출을 전송한다 이 바람직한 실시예에 개시된 소프트웨어 및 시스템 호출들은 장래에 변할 것이므로, 실시 예는 비제한적이라는 것이 이해되어야 한다.
농구 예시에서의 명확성을 위해, 본 발명자는 센서들(100)이 통합된 단일 제어 디바이스(300)를 이용하는 방법을 예시하고 있지만, 이 예시는 비제한적이다.
실내 게임 실시예
발명의 명칭이 "Method and System for a Control Device to Connect and Control a Display Device"이고 Jeffery 등에게 허여된 미국 공개 특허 출원 제2016/0260319호는 그 내용이 참조로서 전체적으로 참조로서 통합되어 있는데, 스타디움 내의 디지털 보드에서 동시에 스포츠 게임을 플레이하고 있는 다수의 사용자를 앞서 개시한 바 있다. 도 12는 동일한 디스플레이 디바이스(350)를 동시에 활용하는 많은(예를 들어, 수천의) 사용자들(010)에 대한 실시예의 예시로서, 여기서 제어 디바이스는 본원에 개시된 본 발명의 제어 방법(400)을 활용한다. 도시된 바와 같이, 디스플레이 디바이스(350)는 농구 스타디움의 디지털 보드와 같은 초대형 디스플레이, 예컨대 JumboTron™이다. 디지털 보드들은 스타디움, 마케팅 스크린, 스코어 보드 및 대형 이벤트에서 공통적으로 사용되는 가장 큰 비투영(non-projection) 비디오 디스플레이들로 알려져 있다.
이들 스크린은 원래 16개 이상의 소형 플러드 빔(flood-beam) CRT(음극선관)홍수 광선 CRT (음극선 관)로 만들어졌으며 2 픽셀 내지 16 픽셀 범위였다. 최신 모델인 JumboTron 및 Jumbovision 스크린은 이제 대규모 LED 디스플레이이다. 최신 버전과 구형 버전 모두 다중 디바이스 연결이 가능하며 다양한 오디오 및 비디오 포맷들과 연결될 수 있다. 이들 시스템은, 최신 시스템에서의 USB 연결성을 갖는 VGA, DVI, HDMI, 및 Coaxial 중 어느 하나와 연결된 거의 모든 유형의 포맷을 디스플레이할 수 있다. 즉, JumboTrons은 컴퓨터, 스마트폰, 블루레이 플레이어, 및 기타 다른 디지털 디바이스들을 투사할 수 있다. 그러므로, 일 실시예에서의 웹 페이지와 같은 본 발명의 게임 출력(200)을 JumboTron 상에 디스플레이하고 동시 사용자들의 JumboTron 상에 표시하고, 1000명의 동시 사용자에 대한 디스플레이 디바이스(350)를 생성하는 것은 간단하다. 그러나, 이 예시는 예시적이고 비제한적인 것으로 이해된다.
도 12에 예시된 실시예에 대한 플레이 모드는 사용자(010)가 대형 디스플레이(350)에서 동시에 플레이하여, 도 4에 예시된 제스처(075) 및 방법(400)을 이들 각각의 제어 디바이스(300)와 함께 이용하는 예시적인 예로서, 농구 프리 스로 슛을 하는 것이다. 게이밍 서버(500)는 각각의 사용자 슛을 추적하고, "승자들"은 예를 들어 60초 이내에 연속 득점일 수 있는 게임의 규칙들에 의해 결정된다. 디스플레이 디바이스(350) 상의 게임 플레이는 스타디움의 사용자들(010)로 제한되지 않는다는 점에 유의한다. Jeffery에 의해 이전에 개시된 라이브 텔레비전 방송 이벤트의 실시예에서, 가정, 술집, 레스토랑, 호텔 등지의 사용자들은 이들 각각의 지리적 위치로부터 스타디움 내의 디스플레이 디바이스(350)에서 동시에 플레이할 수 있으며, 여기서 새로운 실시예의 경우 제어 방법은 본원에 개시된 본 발명의 방법(400)이다. 따라서, 이 실시예에서는, 본 발명의 방법 및 시스템(500)은 상이한 지리적 위치에 있는 수백만 명의 동시 사용자에게 적용 가능하다.
예시적인 스포츠 게임 실시예들
다음의 설명에서, 미식축구, 볼링, 테니스, 야구, 하키, 축구, 낚시 및 대전 격투 게임과 같은 비디오 및 모바일 게임에 대한 본 발명의 다수의 가능한 변형예를 나타낸다. 이들 예는 예시적이고 비제한적인 것으로 이해되어야 한다. 간략히 하기 위해, 각각의 터치 및 제스처 입력들 및 대응하는 아바타(015) 게임 출력(200)을 통해 각각의 예마다 실시예들을 개시하고 있는데, 이는 이들 센서(100) 입력들 및 방법(400)은 게임 출력(200)이 가능하기 때문이다. 적용 가능한 경우, 특정 실시예들에 의해 예시된 본 발명의 고유한 특징들을 지적한다.
도 13a 내지 도 13d는 미식축구 게임에서 아바타 쿼터백(QB)의 제어를 위한 실시예를 나타낸다. 도 13a는 가상 러닝 리시버(좌측 리시버, 우측 리시버, 및 중간 리시버)를 먼저 선택하기 위한 터치 모션들을 나타낸다. 도 13b는 리시버에 대한 패스를 위한 제스처 모션들을 예시하는데, 여기서 도시된 제스처(075)의 각속도(006)는 패스의 길이에 비례한다. 미식축구 게임 실시예의 특징은 피드백 미터(155)로서, 여기서 선택된 리시버는 피드백 미터(155)에 대한 이상적인 스로우의 범위(007)에 대응한다. 도 13b에 예시된 이러한 피드백 미터(155) 실시예에서, 리시버가 필드를 따라 아래로 달려갈 때, 이상적인 스로우 범위(007)는 QB로부터의 리시버의 거리에 비례하여 피드백 미터에서 이동한다(009). 따라서, 본 실시예에서, 이상적인 제스처는 QB에 가까운 리시버에 대해 작은 각속도를 갖고, 큰 각속도(006)를 가지며, 이상적인 패스는 필드 상에서의 리시버의 모션에 비례하여 시간에 따라 피드백 미터(155)에서 변하고 있는 피드백 미터(155) 상에 표시된다. 도 13c는 터치 센서 입력을 통해 달리기를 위한 연속적인 제어를 이용하여 QB, 리시버, 또는 기타 다른 플레이어를 위한 모션을 나타낸다. 도 3d는 점프, 주킹(juking), 태클, 또는 기타 다른 애니메이션화된 이벤트를 트리거하는 제스처 입력(075)이다.
도 14a 내지 도 14d는 볼링 게임의 제어를 위한 본 발명의 실시예를 나타낸다. 도 14a는 볼링 레인(bowling lane) 상의 아바타(015)의 정렬을 위한 터치 모션들을 나타낸다. 도 14b는 볼링 실시예를 위한 이벤트의 일 양태를 나타내는데, 여기서 제어 디바이스(300)의 좌우 틸트(편주(yaw))는 각각의 그래픽 라인들(052, 053, 및 054)로 표시된 좌측, 우측, 또는 중간으로 볼링공(092)을 조준한다. 그러나 디스플레이 디바이스(350)에 반응하여 렌더링되는 디스플레이 디바이스(300)의 편주각에 비례하는 각도로 단일 라인으로서 렌더링되는 것이 바람직하다. 다른 실시예에서, 조준 라인(060)의 방향 또한 터치 입력에 의해 선택될 수 있다. 도 14c는 조준 라인(053)에 의해 표시된 방향으로 공을 굴리기 위한 제스처(075)를 예시하는데, 여기서 각속도(006)는 볼의 속력에 비례한다. 도 14c는 볼링 게임을 위한 피드백 미터(155)의 실시예를 나타내며, 여기서 이상적인 볼링 속력은 007로 나타낸 범위이다. 도 14d는 바람직한 볼링 게임 실시예의 2개의 예시적인 양태를 나타내는데, 여기서 스로우 이후에 볼의 핀이 제어 디바이스의 편주각에 비례하여 제어된다. 예시적인 실시예는 3개의 상이한 핀(055, 055, 및 057)을 위한 그래픽 라인들을 나타낸다. 볼링을 위한 바람직한 실시예에서, 단일 그래픽 라인(008)이 디스플레이 디바이스(350)에서 렌더링되고, 제어 디바이스(300)의 편주각에 동적으로 응답하여 업데이트된다. 이러한 그래픽 라인은 시각적 피드백 미터(155)의 다른 실시예라는 점에 유의한다.
도 15a 및 도 15b는 골프 게임의 제어를 위한 본 발명의 실시예를 나타낸다. 도 15a는 가상 골프 홀에 대한 아바타(015)의 정렬을 위한 터치 모션들을 나타내는데, 여기서 제어 디바이스(300)에 입력된 연속 터치는 각각의 그래픽 라인들(059)로 표시된 좌측, 우측, 또는 중간을 연속적으로 조준한다. 그러나, 디스플레이 디바이스(350)에 반응하여 렌더링되고, 디스플레이 디바이스(300)에 대한 터치 센서 입력에 비례하는 방향을 갖는 단일 라인(059)로서 렌더링된다. 도 15(b)는 도 4b에 예시된 제스처(075)에 의해 제어되는 골프 스윙을 나타내는데, 각속도(006)는 골프 클럽 속력에 비례하고, 각가속도(008)는 비행으로 렌더링된 골프공(094)의 스트레이트(059), 후크(058), 및 슬라이스(060)에 비례한다. 도 15b의 실시예에서, 이상적인 골프 샷 속도는 시간적 피드백 미터(155)에서 범위(007)로 표시된다.
도 16a 및 도 16b는 테니스 게임의 제어를 위한 본 발명의 실시예를 나타낸다. 도 16a는 가상 테니스 코트에서의 아바타(015)의 움직임을 위한 터치 모션들을 나타내는데, 여기서 제어 디바이스(300)에 입력된 연속 터치는 가상 코트에서 임의의 방향으로의 아바타 움직임을 제어하되, 터치 움직임 입력의 크기는 아바타의 달리기 속력에 비례하는 것이 바람직하다. 도 16b는 도 4b에 예시된 제스처(075)에 의해 제어되는 테니스 스윙을 나타내는데, 각속도(006)는 라켓 속력에 비례하고, 각가속도(008)는 비행으로 렌더링된 테니스 공(095)의 스트레이트, 후크, 및 슬라이스에 비례한다. 도 16b의 실시예에서, 이상적인 테니스 샷 속도는 시간적 피드백 미터(155)에서 범위(007)로 표시되는데, 범위(007)는 코트 상의 위치에 기반하여 동적으로 변하는 것이 바람직하다.
도 17a 내지 도 17c는 야구 게임의 제어를 위한 본 발명의 실시예를 나타낸다. 도 17a는 가상 야구장에서의 아바타(015)의 움직임을 위한 터치 모션들을 나타내는데, 여기서 제어 디바이스(300)에 입력된 연속 터치는 가상 야구장에서 임의의 방향으로의 아바타 움직임을 제어하되, 터치 움직임 입력의 크기는 아바타의 달리기 속력에 비례하는 것이 바람직하다. 도 17b는 도 4b에 예시된 제스처(075)에 의해 제어되는 아바타(015)의 야구 스윙의 실시예를 나타내는데, 각속도(006)는 야구 배트 속력에 비례하고, 각가속도(008)는 각각 중앙, 좌측, 또는 우측으로의 비행으로 렌더링된 야구공(096)의 스트레이트, 후크, 및 슬라이스에 비례한다. 도 17c는 제스처(075)에 의해 제어되는 아바타(015)의 투구를 나타내는데, 제어 디바이스(300)의 각속도(006)는 투구 속력에 비례하고, 각가속도(008)는 예시적인 비제한적 예로서 너클볼, 직구, 및 커브와 같은 다양한 공(096) 투구 타입에 대응한다.
도 18a 및 도 18b는 하키 게임의 제어를 위한 본 발명의 실시예를 나타낸다. 도 18a는 가상 하키 링크에서의 아바타(015)의 움직임을 위한 터치 모션들을 나타내는데, 여기서 제어 디바이스(300)에 입력된 연속 터치는 얼음에서 임의의 방향으로의 아바타 움직임을 제어하되, 터치 움직임 입력의 크기는 아바타의 스케이팅 속력에 비례하는 것이 바람직하다. 도 18b는 제스처(075)에 의해 제어되는 아바타(015)의 하키 슛의 실시예를 나타내는데, 각속도(006)는 하키 스틱 헤드 속력에 비례하고, 각가속도(008)는 예시적인 비제한적 예시들로서 각각 백핸드 샷, 스냅 샷, 슬랩 샷으로서의 비행으로 렌더링된 하키 퍽(097)의 스트레이트, 후크, 및 슬라이스에 비례한다.
도 19a 및 도 19b는 축구 게임의 제어를 위한 본 발명의 실시예를 나타낸다. 도 19a는 축구장에서 아바타(015)의 움직임을 위한 터치 모션들을 나타내는데, 여기서 제어 디바이스(300)에 입력된 연속 터치는 축구장에서 임의의 방향으로의 아바타 움직임을 제어하되, 터치 움직임 입력의 크기는 아바타의 달리기 속력에 비례하는 것이 바람직하다. 도 19b는 제스처(075)에 의해 제어되는 아바타(015)의 축구 킥의 실시예를 나타내는데, 각속도(006)는 초기 축구공(098)의 속력에 비례하고, 각가속도(008)는 예시적인 비제한적 예시들로서 각각 외부 샷, 직선 샷, 및 표준 샷으로서의 비행으로 렌더링된 축구공(098)의 스트레이트, 후크, 및 슬라이스에 비례한다.
도 20a 내지 도 20c는 낚시 게임의 제어를 위한 본 발명의 실시예를 나타낸다. 도 20a는 아바타(015)에 의해 물고기를 낚기 위한 터치 모션들을 나타내는데, 여기서 제어 디바이스(300)에 원형으로 입력된 연속 터치는 낚시 릴을 감는 것을 시뮬레이션한다. 도 20b는 제스처(075)에 의해 제어되는 아바타(015)의 낚싯대 캐스트의 실시예를 나타내며, 각가속도(008)는 도 20b에 예시된 낚시대의 좌향, 우향, 또는 곧은 캐스트에 비례한다.
도 21a 및 도 21b는 권투 게임의 제어를 위한 본 발명의 일 실시예를 나타낸다. 도 21a는 권투 링에서 아바타(015)의 움직임을 위한 터치 모션들을 나타내는데, 여기서 제어 디바이스(300)에 입력된 연속 터치는 링에서 임의의 방향으로의 아바타 움직임을 제어하되, 터치 움직임 입력의 크기는 아바타의 스텝(stepping) 속력에 비례하는 것이 바람직하다. 도 21b는 제스처(075)에 의해 제어되는 아바타(015)의 펀치의 실시예를 나타내는데, 예시적인 비제한적 예시들로서 각속도(006)는 권투 글로브 속력에 비례하고, 각가속도(008)는 각각 좌측 펀치, 우측 펀치, 또는 쨉(jab) 펀치/어퍼컷(uppercut) 펀치를 트리거한다.
도 22a 내지 도 22c는 대전 격투 게임의 제어를 위한 본 발명의 실시예를 나타내는데, 여기서 아바타는 터치 센서 입력을 통해 임의의 방향으로 이동할 수 있으며(도 22a), 도 22b에 예시된 제어 디바이스의 좌우 제스처들은 수비 애니메이션들을 활성화하고, 좌향-곧은-우향 샷 제스처들(075)은 도 22c에 예시된 공격 애니메이션들을 활성화한다. 예시적인 실시예는 비제한적인 것으로 이해되어야 한다. 다른 실시예에서 아바타는 병사, 로봇, 몬스터 또는 임의의 다른 아바타 중 하나일 수 있으며, 다른 게임 실시예들은 양궁, 사격, 또는 기타 액션 게임을 포함한다.
도 7, 도 9, 및 도 13 내지 도 20에 예시된 터치 및 제스처 제어 방법으로부터 다수의 추가적인 게임들이 도출될 수 있다는 점이 이해되어야 한다. 구체적으로, 배드민턴, 스쿼시, 및 핸드볼은 테니스(도 15)에 대한 예시의 파생물이며, 라운더스(rounders) 및 크리켓은 야구 예시(도 16)의 파생물이다. 또한, 다양한 다른 던지기 게임들이 도출될 수 있는데, 도 4b에 예시된 제스처를 통해 객체(콩주머니, 편자, 다트 등)을 조준하고 던지기 위한 터치 제스처와 함께 예를 들어, 콩주머니 던지기 게임 및 다트 게임을 유도하는 것이 간단하다.
가상 현실 게임 제어
개시된 발명의 방법들 및 시스템들 또한 가상 현실(VR) 게임 애플리케이션들에 적용 가능하다. 대표적인 VR 헤드셋은 기계식 렌즈, 트랙 패드, 및 2개의 전용 버튼(집합적으로 센서들(100))을 포함하는 헤드셋인 Samsung Gear VR이다. 도 1에 예시된 바와 같이, Gear VR 헤드세트에는 Android 모바일 폰(300)이 클립 고정되고, 디스플레이(308) 및 프로세서(303)를 제공한다. 콘텐츠를 보는 기능만을 위해 설계된 VR 보기 디바이스의 다른 예시는 Google Cardboard이다. 이 설계에서, 모바일 폰(300)(iPhone 또는 Android)은 제어 디바이스(300)의 디스플레이(306)로부터 초점 거리가 45mm인 2개의 렌즈를 갖는 카드보드 헤드셋에 유지된다.
Oculus Rift(Oculus VR)는 외부 개인용 컴퓨터(PC)에 의해 구동되는 예시적인 VR 시스템이다. Oculus는 통신 인터페이스(301), 각각의 아이 디스플레이(eye display)(308)에 대한 OLED 패널, RAM 메모리 컨트롤러(305), 및 전원 공급기(307)가 있는 제어 디바이스(300)와 유사한 아키텍처를 구비한 헤드셋을 포함한다. 통신 인터페이스(301)는 헤드폰 잭, XBOX One 컨트롤러, 모션 센서(101) 입력, HDMI, USB 3.0과 USB 2.0, 및 "콘스텔레이션(constellation)" 카메라 시스템을 통해 입력된 3D 매핑 공간을 포함하는 다양한 입력을 제어한다. 각 눈의 OLED 패널은 HD 또는 임의선택적인 UHD로서 각 프레임의 2밀리초 동안 이미지를 렌더링하는 낮은 지속성 디스플레이 기술을 사용한다. RAM 메모리 컨트롤러(305)는 "콘스텔레이션" 방법을 통해 추적하는 USB-연결된 IR LED 센서를 통해 6DOF(3축 회전 추적 + 3축 위치 추적)의 입력으로 3D 오디오를 렌더링한다. 전원 공급기(307)는 "콘스텔레이션 카메라"에 연결된 PC에 대한 USB 연결을 통해 인에이블된다. Oculus를 작동시키는데 필요한 PC는 다음과 같은 최소 사양을 갖는데, Windows 8 이상과 함께 Intel Core i5-4590에 상응하는 CPU, 최소 8 GB 또는 RAM, 적어도 AMD Radeon R9 290 또는 Nvidia GeForce GTX 970 그래픽 카드, HDMI 1.3 출력, 3 개의 USB 3.0 포트 및 1 개의 USB 2.0 포트를 포함한다. Oculus는 각각의 손에 하나씩 2개의 추가 외부 센서 디바이스(Oculus Touch라고 불림)를 지원하며, 각각은 2개의 버튼, 터치 감지 조이스틱, 및 모션 센서들을 구비한다. 예시적인 선행 기술로서, Oculus 게임에서의 사격은 통상적으로 외부 센서 디바이스(310) 상의 버튼 누름에 의해 제어된다.
도 23a 및 도 23b는 VR 탱크 게임을 위한 본 발명의 예시적 실시예를 나타낸다. 도 23a는 본원에 설명된 대표적인 시스템들 중 어느 하나일 수 있는 사용자(015) 및 VR 시스템(600)을 나타내되, 여기서 헤드셋은 제어 디바이스(325)와 유사한 아키텍처를 가지며, 프로세싱을 위해 외부 연결된 PC를 포함할 수 있다. 시스템(600)은 무선 또는 케이블을 통해 시스템(600)에 연결된 터치(102) 및 모션(101) 센서들(100)이 있는 적어도 하나의 외부 제어 디바이스(310)를 포함한다. 외부 제어 디바이스(310)는 스마트폰, 스마트 시계, Oculus Touch, 또는 센서들(100)을 통해 시스템(600)으로 입력되는 터치 및 모션을 인에이블 하는 임의의 다른 외부 제어 디바이스(310)일 수 있다.
도 23b의 예시적인 실시예에서 터치 센서(102)는 3D 가상 세상에서 탱크(650)의 모션을 제어하며, 도 23c에 예시된 바와 같이 모션 센서들(101)에 입력된 좌우 제스처들 및 트리거 제스처는 총의 사격 및 탱크 터렛의 회전을 제어한다. 따라서, 도 23의 본 발명의 방법의 예시적인 실시예에서, 예시적인 VR 게임의 제어를 위해 어떠한 버튼도 요구되지 않는다.
본 발명은 위에서 개괄된 다양하고 예시적인 실시예들과 결부되어 설명되었지만, 많은 대안, 수정, 및 변형이 당업자에게 명백할 것이라는 점은 자명하다. 따라서, 전술한 바와 같은 본 발명의 예시적인 실시예들은 제한적인 것이 아니라 예시적인 것이다. 본 발명의 사상 및 범위를 벗어나지 않고 다양한 변경이 이루어질 수 있다.

Claims (76)

  1. 게임을 제어하는 시스템으로서,
    모션 센서들 및 터치스크린을 구비한 제어 디바이스;
    게임 프로세서; 및
    디스플레이 디바이스를 포함하되,
    상기 게임 프로세서는 게임 이벤트들을 시뮬레이션하고 애니메이션화하기 위해 상기 모션 센서들로부터 획득된 틸트 제스처들에 관한 모션 센서 데이터 및 상기 디스플레이 디바이스 상의 아바타의 배치를 제공하기 위해 상기 터치스크린으로부터 획득된 터치 센서 데이터에 적어도 부분적으로 기반하여 상기 게임을 렌더링하는, 시스템.
  2. 제1항에 있어서, 상기 게임 프로세서는 상기 모바일 디바이스로부터 떨어져 있는, 시스템.
  3. 제1항에 있어서, 상기 제어 디바이스는 스마트폰인, 시스템.
  4. 제1항에 있어서, 상기 디스플레이 디바이스는 상기 모바일 디바이스 외부에 있는, 시스템.
  5. 제1항에 있어서, 상기 모션 센서들은 상기 제어 디바이스 외부에 있는 모션 센서들을 포함하는, 시스템.
  6. 제1항에 있어서, 상기 제어 디바이스는 포트레이트 모드로 유지되는, 시스템.
  7. 제1항에 있어서, 상기 제어 디바이스는 한 손에 들려있는, 시스템.
  8. 제1항에 있어서, 상기 모션 센서들은 자이로스코프 및 가속도계를 포함하는, 시스템.
  9. 제1항에 있어서, 상기 틸트 제스처들과 관련된 모션 센서 데이터는 연산된 각속도를 포함하는, 시스템.
  10. 제9항에 있어서, 상기 게임 프로세서는 상기 연산된 각속도가 소정의 임계치를 초과하는지 여부를 판단하고, 초과하는 경우 상기 게임 이벤트를 선택함으로써 상기 게임 이벤트들을 시뮬레이션하고 애니메이션화하는, 시스템.
  11. 제9항에 있어서, 상기 연산된 각속도는 연산된 최대 각속도를 포함하는, 시스템.
  12. 제1항에 있어서, 상기 시뮬레이션되고 애니메이션화된 게임 이벤트들은 농구공 슛하기, 미식축구공 던지기, 및 볼링공 굴리기 중 하나의 애니메이션화를 초래하는, 시스템.
  13. 제11항에 있어서, 상기 게임 프로세서는 물리 엔진을 포함하고, 상기 연산된 최대 각속도가 상기 물리 엔진에 입력되는, 시스템.
  14. 제11항에 있어서, 상기 시뮬레이션되고 애니메이션화된 게임 이벤트들은 상기 연산된 최대 각속도에 비례하는 초기 속도를 갖는 가상 객체 궤적의 렌더링하는 것을 포함하는, 시스템.
  15. 제1항에 있어서, 상기 시뮬레이션되고 애니메이션화된 소정의 게임 이벤트들은 골프공 타격, 테니스공 타격, 야구 투구, 야구 타격, 하키퍽 타격, 축구공 차기, 낚싯대 캐스트, 및 권투 펀치 중 하나의 애니메이션화를 초래하는, 시스템.
  16. 제1항에 있어서, 상기 모션 센서들은 중력 센서를 포함하는, 시스템.
  17. 제1항에 있어서, 상기 틸트 제스처들과 관련된 모션 센서 데이터는 상기 제어 디바이스의 X축에 대해 연산된 회전 각도를 포함하는, 시스템.
  18. 제17항에 있어서, 상기 시뮬레이션되고 애니메이션화된 게임 이벤트들은 연산된 회전 각도에 비례하는 방향을 갖는 가상 객체 궤적을 렌더링하는 것을 적어도 부분적으로 포함하는, 시스템.
  19. 제1항에 있어서, 상기 디스플레이 디바이스 상의 아바타의 배치는 상기 터치스크린 상의 터치들의 상대적 위치의 변화들에 적어도 부분적으로 대응하는, 시스템.
  20. 제1항에 있어서, 상기 게임 프로세서는 상기 틸트 제스처의 세기의 표시를 제공하는 피드백 미터를 더 디스플레이하는, 시스템.
  21. 제1항에 있어서, 상기 게임 프로세서는 상기 틸트 제스처의 방향의 표시를 제공하는 피드백 미터를 더 디스플레이하는, 시스템.
  22. 게임을 제어하는 방법으로서,
    게임 제어 디바이스로부터 모션 센서 데이터 및 터치 센서 데이터를 획득하는 단계; 및
    상기 획득된 모션 센서 데이터 및 터치 센서 데이터에 적어도 부분적으로 기반하여 상기 게임을 제어하는 단계를 포함하되,
    상기 터치 센서 데이터는 디스플레이 디바이스 상의 아바타의 배치를 제어하고 상기 모션 센서 데이터는 게임 이벤트를 제어하는, 방법.
  23. 제22항에 있어서, 상기 획득된 모션 센서 데이터는 틸트 제스처에 관한 상기 게임 제어 디바이스의 자이로스코프 및 가속도계로부터 획득된 데이터를 포함하는, 방법.
  24. 제22항에 있어서, 상기 획득된 터치 센서 데이터는 상기 게임 제어 디바이스의 터치스크린으로부터 획득된 데이터를 포함하는, 방법.
  25. 제22항에 있어서, 상기 획득된 모션 센서 데이터는 상기 게임 제어 디바이스의 자이로스코프 및 가속도계로부터 획득된 데이터를 포함하고, 상기 획득된 터치 센서 데이터는 상기 게임 제어 디바이스의 터치스크린으로부터 획득된 데이터를 포함하되,
    상기 데이터는 상기 제어 디바이스가 사용자의 한 손에 들려 있는 동안에 획득된, 방법.
  26. 제25항에 있어서, 상기 제어 디바이스는 포트레이트 모드로 유지되는, 방법.
  27. 제22항에 있어서, 상기 터치 센서 데이터는 상기 들고 있는 손의 엄지 터치들에 대응하는, 방법.
  28. 제22항에 있어서, 상기 모션 센서 데이터를 획득하기 전에, 상기 게임 제어 디바이스의 제스처를 위해 상기 제어 디바이스의 각속도를 연산하는 단계를 더 포함하되,
    상기 획득된 모션 센서 데이터는 상기 제어 디바이스의 상기 연산된 각속도 데이터를 포함하는, 방법.
  29. 제28항에 있어서, 상기 연산된 각속도는 연산된 최대 각속도를 포함하는, 방법.
  30. 제29항에 있어서, 상기 연산된 최대 각속도는 물리 엔진에 입력되는, 방법.
  31. 제22항에 있어서, 상기 이벤트는 농구공 슛하기, 미식축구공 던지기, 및 볼링공 굴리기 중 하나인, 방법.
  32. 제22항에 있어서, 상기 게임을 제어하는 단계는 상이한 양태의 게임 플레이를 동시에 제어하기 위해 상기 획득된 터치 센서 데이터 및 모션 센서 데이터를 이용하는 단계를 포함하는, 방법.
  33. 제31항에 있어서, 상기 게임을 제어하는 단계는 상기 연산된 최대 각속도에 비례하는 초기 속도를 갖는 가상 객체 궤적를 렌더링하는 것을 적어도 부분적으로 포함하는, 방법.
  34. 제22항에 있어서, 상기 이벤트는 골프공 타격, 테니스공 타격, 야구 투구, 야구 타격, 하키퍽 타격, 축구공 차기, 낚싯대 캐스트, 및 권투 펀치 중 하나인, 방법.
  35. 제22항에 있어서, 상기 모션 센서 데이터는 중력 센서 데이터를 포함하는, 방법.
  36. 제23항에 있어서, 상기 틸트 제스처들과 관련된 모션 센서 데이터는 상기 제어 디바이스의 X축에 대해 연산된 회전 각도를 포함하는, 방법.
  37. 제23항에 있어서, 상기 게임을 제어하는 단계는 연산된 회전 각도에 비례하는 방향을 갖는 가상 객체 궤적을 렌더링하는 단계를 포함하는, 방법.
  38. 제22항에 있어서, 상기 터치 센서 데이터는 상기 아바타의 배치가 상기 연속 터치의 지속시간 중에 상기 터치스크린 상의 터치의 상대적 위치 변화에 비례하도록 상기 터치스크린의 연속 터치에 대응하는, 방법.
  39. 제22항에 있어서, 상기 게임을 제어하는 단계는 제스처의 세기에 관해 상기 사용자에게 시각적 피드백을 제공할 그래픽을 랜더링하는 단계를 포함하는, 방법.
  40. 제22항에 있어서, 상기 게임을 제어하는 단계는 제스처의 방향에 관해 상기 사용자에게 시각적 피드백을 제공할 그래픽을 랜더링하는 단계를 포함하는, 방법.
  41. 제22항에 있어서, 상기 게임은 대전 게임인, 방법.
  42. 제22항에 있어서, 상기 게임은 가상 현실 게임인, 방법.
  43. 게임을 제어하는 방법으로서,
    틸트 제스처에 관한 게임 제어 디바이스로부터 모션 센서 데이터를 획득하는 단계;
    상기 획득된 모션 센서 데이터로부터 상기 제어 디바이스의 최대 각속도를 연산하는 단계; 및
    상기 연산된 최대 각속도에 적어도 부분적으로 기반하여 상기 게임을 제어하는 단계를 포함하는, 방법.
  44. 제43항에 있어서, 상기 게임을 제어하는 단계는 상기 연산된 최대 각속도가 소정의 임계치를 초과하는지 여부를 판단하고, 초과하는 경우 소정의 게임 이벤트를 선택하는 단계를 포함하는, 방법.
  45. 제43항에 있어서, 상기 게임을 제어하는 단계는 농구공 슛하기, 미식축구공 던지기, 및 볼링공 굴리기 중 하나의 애니메이션화를 초래하는, 방법.
  46. 제43항에 있어서, 상기 연산된 최대 각속도는 물리 엔진에 입력되는, 방법.
  47. 제43항에 있어서, 상기 게임을 제어하는 단계는 상기 연산된 최대 각속도에 비례하는 초기 속도를 갖는 가상 객체 궤적을 렌더링하는 것을 적어도 부분적으로 포함하는, 방법.
  48. 제43항에 있어서, 상기 획득된 모션 센서 데이터는 상기 게임 제어 디바이스의 자이로스코프 및 가속도계로부터 획득된 데이터를 포함하는, 방법.
  49. 제48항에 있어서, 상기 획득된 모션 센서 데이터는 저역 통과 필터를 가속도계 데이터에 적용함으로써 획득된 데이터를 포함하는, 방법.
  50. 제43항에 있어서, 상기 모션 센서 데이터를 획득하기 전에, 상기 게임 제어 디바이스의 제스처를 위해 X축에 대한 상기 제어 디바이스의 회전 각도를 연산하는 단계를 더 포함하되,
    상기 획득된 모션 센서 데이터는 상기 제어 디바이스의 상기 연산된 회전 각도 데이터를 포함하는, 방법.
  51. 제50항에 있어서, 상기 이벤트는 상기 연산된 회전 각도 데이터에 비례하는 방향을 갖는 가상 객체 궤도를 렌더링하는 것을 적어도 부분적으로 포함하는, 방법.
  52. 제43항에 있어서, 상기 게임을 제어하는 단계는 테니스공 타격, 야구 투구, 야구 타격, 하키퍽 타격, 축구공 차기, 낚싯대 캐스트, 및 권투 펀치 중 하나의 애니메이션화를 초래하는, 방법.
  53. 제43항에 있어서, 랜더링된 그래픽은 제스처의 세기에 관한 시각적 피드백을 상기 사용자에게 제공하는, 방법.
  54. 제50항에 있어서, 랜더링된 그래픽은 제스처의 방향에 관한 시각적 피드백을 상기 사용자에게 제공하는, 방법.
  55. 제43항에 있어서, 상기 게임은 대전 게임인, 방법.
  56. 제43항에 있어서, 상기 게임은 가상 현실 게임인, 방법.
  57. 게임을 제어하는 방법으로서
    틸트 제스처에 관한 게임 제어 디바이스로부터 모션 센서 데이터를 획득하는 단계;
    상기 획득된 모션 센서 데이터로부터 상기 제어 디바이스의 최대 각속도를 연산하는 단계;
    상기 연산된 최대 각속도에 적어도 부분적으로 기반하여 상기 게임을 제어하는 단계; 및
    상기 틸트 제스처의 세기의 표시를 제공하는 피드백 미터를 디스플레이하는 단계를 포함하는, 방법.
  58. 제56항에 있어서, 상기 게임을 제어하는 단계는 상기 연산된 최대 각속도가 소정의 임계치를 초과하는지 여부를 판단하고, 초과하는 경우 소정의 게임 이벤트를 선택하는 단계를 포함하는, 방법.
  59. 제56항에 있어서, 상기 게임을 제어하는 단계는 농구공 슛하기, 미식축구공 던지기, 및 볼링공 굴리기 중 하나의 애니메이션화를 초래하는, 방법.
  60. 제56항에 있어서, 상기 게임을 제어하는 단계는 상기 연산된 최대 각속도에 비례하는 초기 속도를 갖는 가상 객체 궤적을 렌더링하는 것을 적어도 부분적으로 포함하는, 방법.
  61. 제56항에 있어서, 상기 획득된 모션 센서 데이터는 상기 게임 제어 디바이스의 자이로스코프 및 가속도계로부터 획득된 데이터를 포함하는, 방법.
  62. 제56항에 있어서, 상기 모션 센서 데이터를 획득하기 전에, 상기 게임 제어 디바이스의 제스처를 위해 X축에 대한 상기 제어 디바이스의 회전 각도를 연산하는 단계를 더 포함하되,
    상기 획득된 모션 센서 데이터는 상기 제어 디바이스의 상기 연산된 회전 각도 데이터를 포함하는, 방법.
  63. 제61항에 있어서, 상기 이벤트는 상기 연산된 회전 각도 데이터에 비례하는 방향을 갖는 가상 객체 궤도를 렌더링하는 것을 적어도 부분적으로 포함하는, 방법.
  64. 제56항에 있어서, 상기 게임을 제어하는 단계는 테니스공 타격, 야구 투구, 야구 타격, 하키퍽 타격, 축구공 차기, 낚싯대 캐스트, 및 권투 펀치 중 하나의 애니메이션화를 초래하는, 방법.
  65. 클라우드-기반 게이밍 시스템으로서,
    각각 모션 센서들 및 터치스크린을 갖는 복수의 제어 디바이스;
    게이밍 규칙 엔진을 포함하는 게이밍 서버; 및
    복수의 디스플레이 디바이스를 포함하되,
    상기 복수의 제어 디바이스 및 디스플레이 디바이스들은 인터넷을 통해 상기 게이밍 서버에 연결되고, 상기 게이밍 규칙 엔진은 동시에 플레이되고 있는 복수의 게임을 위한 복수의 사용자를 위해 게임 플레이를 관리하는데 상기 사용자 각각은 상기 제어 디바이스 중 하나를 사용하여 각각의 게임에서 플레이를 제어하고,
    상기 게이밍 서버는 상기 제어 디바이스 각각으로부터 모션 센서 데이터를 수신하여 플레이 중인 각각의 게임을 제어하는데 상기 모센 센서 데이터는 틸트 제스처들에 관한 것으로서 각각의 게임을 위한 게임 이벤트를 제어하는, 시스템.
  66. 제64항에 있어서, 상기 모션 센서 데이터는 자이로스코프 및 가속도계로부터의 데이터를 포함하는, 방법.
  67. 제64항에 있어서, 상기 게이밍 서버에 의해 상기 게임을 제어하는 단계는 연산된 최대 각속도가 소정의 임계치를 초과하는지 여부를 판단하고, 초과하는 경우 소정의 게임 이벤트를 선택하는 단계를 포함하는, 방법.
  68. 제64항에 있어서, 상기 게이밍 서버에 의해 상기 게임을 제어하는 단계는 농구공 슛하기, 미식축구공 던지기, 및 볼링공 굴리기 중 하나의 애니메이션화를 포함하는, 방법.
  69. 제66항에 있어서, 상기 게이밍 서버에 의해 상기 게임을 제어하는 단계는 상기 연산된 최대 각속도에 비례하는 초기 속도를 갖는 가상 객체 궤적을 렌더링하는 것을 포함하는, 방법.
  70. 제64항에 있어서, 상기 게이밍 서버에 의해 상기 게임을 제어하는 단계는 테니스공 타격, 야구 투구, 야구 타격, 하키퍽 타격, 축구공 차기, 낚싯대 캐스트, 및 권투 펀치 중 하나의 애니메이션화를 포함하는, 방법.
  71. 제64항에 있어서, 상기 게이밍 서버에 의해 상기 게임을 제어하는 단계는 제스처의 세기에 관해 상기 사용자에게 시각적 피드백을 제공하는 그래픽을 랜더링하는 단계를 포함하는, 방법.
  72. 제70항에 있어서, 상기 렌더링된 그래픽은 상기 제어 디바이스들 중 하나에 디스플레이되는, 방법.
  73. 제64항에 있어서, 상기 게임은 가상 현실 게임인, 방법.
  74. 제64항에 있어서, 상기 복수의 제어 디바이스는 스타디움 안에 있는, 방법.
  75. 제64항에 있어서, 적어도 하나의 디스플레이 디바이스는 스타디움 내의 디지털 보드인, 방법.
  76. 제64항에 있어서, 상기 게임은 가상 현실 게임인, 방법.
KR1020197013897A 2016-10-17 2017-10-03 게임을 제어하기 위한 제어 디바이스의 센서들을 이용하기 위한 방법 및 시스템 KR20190099390A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/296,017 US11794094B2 (en) 2016-10-17 2016-10-17 Method and system for using sensors of a control device for control of a game
US15/296,017 2016-10-17
PCT/US2017/054998 WO2018075236A1 (en) 2016-10-17 2017-10-03 Method and system for using sensors of a control device for control of a game

Publications (1)

Publication Number Publication Date
KR20190099390A true KR20190099390A (ko) 2019-08-27

Family

ID=61902675

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197013897A KR20190099390A (ko) 2016-10-17 2017-10-03 게임을 제어하기 위한 제어 디바이스의 센서들을 이용하기 위한 방법 및 시스템

Country Status (7)

Country Link
US (2) US11794094B2 (ko)
EP (1) EP3525896A4 (ko)
JP (1) JP2019535347A (ko)
KR (1) KR20190099390A (ko)
CN (1) CN110382064A (ko)
CA (1) CA3039362A1 (ko)
WO (1) WO2018075236A1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10751608B2 (en) 2012-08-31 2020-08-25 Blue Goji Llc. Full body movement control of dual joystick operated devices
US10511805B2 (en) 2016-04-14 2019-12-17 Popio Ip Holdings, Llc Methods and systems for multi-pane video communications to execute user workflows
US9699406B1 (en) 2016-04-14 2017-07-04 Alexander Mackenzie & Pranger Methods and systems for multi-pane video communications
US10218939B2 (en) * 2016-04-14 2019-02-26 Popio Ip Holdings, Llc Methods and systems for employing virtual support representatives in connection with mutli-pane video communications
USD845972S1 (en) 2016-04-14 2019-04-16 Popio Ip Holdings, Llc Display screen with graphical user interface
US11523087B2 (en) 2016-04-14 2022-12-06 Popio Mobile Video Cloud, Llc Methods and systems for utilizing multi-pane video communications in connection with notarizing digital documents
US10218938B2 (en) 2016-04-14 2019-02-26 Popio Ip Holdings, Llc Methods and systems for multi-pane video communications with photo-based signature verification
US10827149B2 (en) 2016-04-14 2020-11-03 Popio Ip Holdings, Llc Methods and systems for utilizing multi-pane video communications in connection with check depositing
JP2018163132A (ja) 2017-03-24 2018-10-18 望月 玲於奈 姿勢算出プログラム、姿勢情報を用いたプログラム
DE102018206975A1 (de) * 2018-05-04 2019-11-07 Sivantos Pte. Ltd. Verfahren zum Betrieb eines Hörgeräts und Hörgerät
US10890921B2 (en) * 2018-05-31 2021-01-12 Carla R. Gillett Robot and drone array
CN109107155B (zh) * 2018-08-08 2019-12-10 腾讯科技(深圳)有限公司 虚拟物品的调整方法、装置、终端及存储介质
JP7070245B2 (ja) * 2018-08-27 2022-05-18 富士通株式会社 情報処理装置、動作制御プログラム、及び動作制御方法
US10831280B2 (en) * 2018-10-09 2020-11-10 International Business Machines Corporation Augmented reality system for efficient and intuitive document classification
EP3863738A1 (en) * 2018-10-09 2021-08-18 Brian Francis Mooney Coaching, assessing or analysing unseen processes in intermittent high-speed human motions, including golf swings
CN110102044B (zh) * 2019-03-15 2021-04-30 歌尔科技有限公司 基于智能手环的游戏控制方法、智能手环及存储介质
US11294453B2 (en) * 2019-04-23 2022-04-05 Foretell Studios, LLC Simulated reality cross platform system
CN110262660B (zh) * 2019-06-20 2023-05-23 淮阴师范学院 基于Kinect体感设备虚拟抛掷盛接***
JP7202981B2 (ja) * 2019-06-28 2023-01-12 グリー株式会社 動画配信システム、プログラム、及び情報処理方法
KR20210039875A (ko) * 2019-10-02 2021-04-12 주식회사 모아이스 골프 스윙에 관한 정보를 추정하기 위한 방법, 디바이스 및 비일시성의 컴퓨터 판독 가능한 기록 매체
CN110955378A (zh) * 2019-11-28 2020-04-03 维沃移动通信有限公司 一种控制方法及电子设备
US11454511B2 (en) * 2019-12-17 2022-09-27 Chian Chiu Li Systems and methods for presenting map and changing direction based on pointing direction
JP2021106796A (ja) * 2019-12-27 2021-07-29 株式会社コロプラ ゲームプログラム、ゲーム方法及びゲームシステム
JP7041973B2 (ja) * 2020-02-21 2022-03-25 株式会社コナミデジタルエンタテインメント プログラム、情報処理装置、及び情報処理方法
CN111346378B (zh) * 2020-02-26 2022-01-14 腾讯科技(深圳)有限公司 游戏画面传输方法、装置、存储介质和设备
JP7051941B6 (ja) 2020-06-30 2022-05-06 グリー株式会社 端末装置の制御プログラム、端末装置の制御方法、端末装置、サーバ装置の制御方法、一又は複数のプロセッサにより実行される方法、及び配信システム
CN111913617B (zh) * 2020-06-30 2022-04-08 维沃移动通信有限公司 界面显示方法、装置和电子设备
CN112169338B (zh) * 2020-10-15 2024-06-11 网易(杭州)网络有限公司 球体运动的控制方法、装置、存储介质及计算机设备
CN112349379A (zh) * 2020-10-28 2021-02-09 浙江骏炜健电子科技有限责任公司 一种基于移动端的有氧运动互联网引领方法
US20220212096A1 (en) * 2020-11-30 2022-07-07 Lepton Computing Llc Gaming Motion Control Interface Using Foldable Device Mechanics
US11550404B2 (en) * 2021-05-14 2023-01-10 Microsoft Technology Licensing, Llc Tilt-responsive techniques for sharing content
CN114177605A (zh) * 2021-12-08 2022-03-15 深圳十米网络科技有限公司 一种游戏手表中虚拟控制器的运用方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1190042A (ja) 1997-09-22 1999-04-06 Sony Computer Entertainment Inc ゲーム機用操作装置
JP3472288B2 (ja) * 2002-03-14 2003-12-02 株式会社スクウェア・エニックス 球技系ビデオゲームのプログラムを記録したコンピュータ読み取り可能な記録媒体、コンピュータプログラム、球技系ビデオゲーム処理装置および球技系ビデオゲーム処理方法
JP3765422B2 (ja) * 2004-04-28 2006-04-12 コナミ株式会社 画像生成装置、加速度表示方法、および、プログラム
US20070089158A1 (en) * 2005-10-18 2007-04-19 Clark Christopher M Apparatus and method for providing access to associated data related to primary media data
US9317110B2 (en) 2007-05-29 2016-04-19 Cfph, Llc Game with hand motion control
US20090029754A1 (en) * 2007-07-23 2009-01-29 Cybersports, Inc Tracking and Interactive Simulation of Real Sports Equipment
JP5420954B2 (ja) * 2009-03-31 2014-02-19 任天堂株式会社 ゲーム装置及びゲームプログラム
JP5443041B2 (ja) * 2009-04-21 2014-03-19 任天堂株式会社 ゲーム装置及びゲームプログラム
CN102473034B (zh) * 2009-07-22 2015-04-01 意美森公司 用于在输入控制手势以及关于虚拟设备的控制期间提供复杂触觉激励的***和方法
US8376853B2 (en) * 2009-09-02 2013-02-19 Appturn, Inc. Hand held self-orientating targeting game
US8698888B2 (en) 2009-10-30 2014-04-15 Medical Motion, Llc Systems and methods for comprehensive human movement analysis
JP5730914B2 (ja) 2010-03-05 2015-06-10 ブラス・モンキー・インコーポレイテッドBrass Monkey,Inc. Webブラウザにおける双方向通信および内容制御のシステムおよび方法
US9262073B2 (en) 2010-05-20 2016-02-16 John W. Howard Touch screen with virtual joystick and methods for use therewith
US9052800B2 (en) * 2010-10-01 2015-06-09 Z124 User interface with stacked application management
US20120165100A1 (en) * 2010-12-23 2012-06-28 Alcatel-Lucent Canada Inc. Crowd mobile synchronization
US20120176413A1 (en) * 2011-01-11 2012-07-12 Qualcomm Incorporated Methods and apparatuses for mobile device display mode selection based on motion direction
WO2012151471A2 (en) 2011-05-05 2012-11-08 Net Power And Light Inc. Identifying gestures using multiple sensors
US8892390B2 (en) * 2011-06-03 2014-11-18 Apple Inc. Determining motion states
EP2810274B1 (en) * 2011-10-25 2019-05-15 Aquimo, Llc Method to provide dynamic customized sports instruction responsive to motion of a mobile device
US9101812B2 (en) 2011-10-25 2015-08-11 Aquimo, Llc Method and system to analyze sports motions using motion sensors of a mobile device
US9357329B2 (en) * 2011-10-25 2016-05-31 Aquimo, Llc Method to provide dynamic customized sports instruction responsive to motion of a mobile device
US8910309B2 (en) * 2011-12-05 2014-12-09 Microsoft Corporation Controlling public displays with private devices
FR2985329B1 (fr) 2012-01-04 2015-01-30 Parrot Procede de pilotage intuitif d'un drone au moyen d'un appareil de telecommande.
SI2618316T1 (sl) * 2012-01-23 2018-12-31 Novomatic Ag Kolo sreče z nadzorom s kretnjami
JP5248689B1 (ja) * 2012-02-17 2013-07-31 株式会社コナミデジタルエンタテインメント ゲーム制御装置、プログラム、ゲーム制御方法、ゲーム制御システム
US20130225295A1 (en) * 2012-02-24 2013-08-29 Nintendo Co., Ltd. Methods and/or systems for controlling virtual objects
US9734393B2 (en) 2012-03-20 2017-08-15 Facebook, Inc. Gesture-based control system
US9022870B2 (en) * 2012-05-02 2015-05-05 Aquimo, Llc Web-based game platform with mobile device motion sensor input
US20140040809A1 (en) * 2012-08-01 2014-02-06 Franklin Electronic Publishers, Incorporated System and method for inputting characters on small electronic device
US20140132481A1 (en) * 2012-11-09 2014-05-15 Microsoft Corporation Mobile devices with plural displays
US20140152563A1 (en) * 2012-11-30 2014-06-05 Kabushiki Kaisha Toshiba Apparatus operation device and computer program product
US10241639B2 (en) * 2013-01-15 2019-03-26 Leap Motion, Inc. Dynamic user interactions for display control and manipulation of display objects
JP5718992B2 (ja) * 2013-08-23 2015-05-13 株式会社フォーラムエイト 携帯端末を用いた運転シミュレーション装置及び運転シミュレーションプログラム
US20160059120A1 (en) 2014-08-28 2016-03-03 Aquimo, Llc Method of using motion states of a control device for control of a system
WO2016079828A1 (ja) * 2014-11-19 2016-05-26 ニャフーン・ゲームス・ピーティーイー・エルティーディー 打撃操作のためのユーザーインターフェースシステムと操作信号解析方法及びプログラム
US20160179218A1 (en) * 2014-12-23 2016-06-23 Intel Corporation Systems and methods for improving the quality of motion sensor generated user input to mobile devices
US20160260319A1 (en) * 2015-03-04 2016-09-08 Aquimo, Llc Method and system for a control device to connect to and control a display device
JP5996138B1 (ja) * 2016-03-18 2016-09-21 株式会社コロプラ ゲームプログラム、方法およびゲームシステム

Also Published As

Publication number Publication date
US20180104573A1 (en) 2018-04-19
CN110382064A (zh) 2019-10-25
US11794094B2 (en) 2023-10-24
CA3039362A1 (en) 2018-04-26
EP3525896A1 (en) 2019-08-21
JP2019535347A (ja) 2019-12-12
EP3525896A4 (en) 2020-06-17
WO2018075236A1 (en) 2018-04-26
US20240058691A1 (en) 2024-02-22

Similar Documents

Publication Publication Date Title
US20240058691A1 (en) Method and system for using sensors of a control device for control of a game
US10821347B2 (en) Virtual reality sports training systems and methods
JP6313283B2 (ja) モバイルデバイス動作センサ入力を用いたwebベースのゲームプラットフォーム
JP5286267B2 (ja) ゲーム装置、ゲームプログラム及びオブジェクトの操作方法
US11826628B2 (en) Virtual reality sports training systems and methods
US8957858B2 (en) Multi-platform motion-based computer interactions
US20160059120A1 (en) Method of using motion states of a control device for control of a system
KR20140021619A (ko) 수동 및 카메라 기반 아바타 제어
US9669300B2 (en) Motion detection for existing portable devices
US8764564B2 (en) Game system, game processing method, recording medium storing game program, and game device
WO2016036425A1 (en) Motion detection for portable devices
US10918949B2 (en) Systems and methods to provide a sports-based interactive experience
JP2012101025A (ja) プログラム、情報記憶媒体、ゲーム装置及びサーバシステム
Yeo et al. Augmented learning for sports using wearable head-worn and wrist-worn devices
JP2012181616A (ja) プログラム、情報記憶媒体、ゲーム装置及びサーバシステム
JP2010233752A (ja) プログラム、情報記憶媒体及び画像生成システム
US8753207B2 (en) Game system, game processing method, recording medium storing game program, and game device
JP4962977B2 (ja) ゲームプログラム、対戦ゲーム装置、及び対戦ゲーム制御方法
JP7185814B2 (ja) 情報処理装置、情報処理方法及びプログラム
KR20140091630A (ko) 프리킥 시뮬레이션게임
CN110036359A (zh) 第一人称角色扮演互动式增强现实
US20140274241A1 (en) Scheme for requiring additional user input when catching an object in a computer simulation
CN116983630A (zh) 基于虚拟世界的人机交互方法、装置、设备、介质及产品
JP2012179128A (ja) プログラム、情報記憶媒体、ゲーム装置及びサーバシステム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application